1、数据基本处理
数据集的划分
- 根据用途可将获取到的数据划分为训练集和测试集,有时还会有验证集。
- 一般而言训练集用于训练模型,测试集用于测试模型的效果(泛化误差)。严格来讲,测试集的数据不能直接或间接(根据测试结果来调整模型参数)的用于模型训练。
- 验证集在模型训练阶段不会带入模型进行训练,但当模型训练结束之后,我们会把模型带入验证集进行计算,通过观测验证集上模型运行结果,判断模型是否要进行调整,验证集也会模型训练,只不过验证集训练的不是模型参数,而是模型超参数。
- 训练集和测试集的划分:可以随机划分,一般情况下70%-80%作为训练集、20%-30%作为测试集。
- 总的来说,测试集是严格不能带入训练的数据集,在实际建模过程中我们可以先把测试集切分出来,然后“假装这个数据集不存在”,在剩余的数据集中划分训练集和验证集,把训练集带入模型进行运算,再把验证集放在训练好的模型中进行运行,观测运行结果,再进行模型调整。
- 在一些不太严谨的情况下会混用测试集和验证集,不对二者进行区分;但在一些情况下(如在线提交结果的数据竞赛),是需要对二者做严格的区分的。
- 在机器学习理论体系中,一个更加严谨的做法,是先划分训练集和测试集,然后再在训练集上划分测试集,并且“训练集-测试集”划分方法用于进行模型参数训练,而“训练集-验证集”的划分方法主要用于进行模型超参数选取。
2、特征工程
- 使用专业知识是的特征能在机器学习算法上发挥更好的作用的过程。
2.1 特征提取
特征通常来自文献调研,看同行在解决同类问题时都使用了哪些特征;也可自行引入新的特征。
2.2 特征预处理
2.3 特征降维
去掉对模型影响不大的特征
常用的线性降维方法,如PCA;非线性降维方法,如tSNE,UMAP。
3、机器学习
3.1 提出基本模型
基于对数据的初步认识,或者分析的需求,提出一个模型。
3.2 确定损失函数(可自定义)
根据模型确定损失函数并进行构建
3.3 根据损失函数的性质,选择优化放法(求最小值)
- 最小二乘法(适用范围有限)
3.4 利用优化算法进行损失函数求解
计算出模型的测试/泛化误差
3.5 调参或更换其他模型
基于测试结果调整模型参数
若调整参数仍无法得到理想的结果,则可以考虑更换模型,并重复3.2 ~ 3.4的步骤。
4、模型评估
见机器学习笔记3-模型评估
© 著作权归作者所有,转载或内容合作请联系作者
喜欢的朋友记得点赞、收藏、关注哦!!!