Advertisement

机器学习的'直观理解'(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)

还没有任何评论哟~