机器学习的'直观理解'(4):KNN算法的数据预处理和超参数优化
发布时间
阅读量:
阅读量
数据处理以及超参数的理解
首先需要明确的是,在开展机器学习任务时,我们的目标并非单纯地使模型在当前的数据集上表现最优,而是希望其能够在实际应用场景中发挥最佳性能。在前一章节中,我们采用了全部数据集进行模型训练,这种方式导致无法准确评估所构建模型的真实性能,直接将其部署至现实环境中存在较大风险,这种做法并不被建议。
解决方案:在机器学习领域,最常见的一种应对策略是将数据集划分为训练集与测试集两个部分(需要注意的是,该方法仍存在一定局限性,后续将进行进一步说明)。具体实施步骤为:将整体数据的80%作为训练数据用于模型训练,在完成训练后使用剩余20%的数据(即测试数据)对模型的预测能力进行评估。
**实现代码封装:
import numpy as np
def train_test_split(X,y,test_train = 0.2,seed = None):
'''check'''
assert X.shape[0] == y.shape[0],\
"the size must be valid"
assert 0.0 <= test_train <= 1.0,\
"the ratio must be in 0-1"
if see
全部评论 (0)
还没有任何评论哟~
