机器学习----训练、验证、测试的区别

最近项目上遇到一些训练方面的测试,数据样本的不同,测试结果区别很大,准确率有时不高,网上查了下相关的帖子、做法,参考一下。

参考一:转自(https://www.cnblogs.com/morwing/p/12144476.html

验证集 —— 是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估。

测试集 —— 用来评估模最终模型的泛化能力。但不能作为调参、选择特征等算法相关的选择的依据。

 

一个形象的比喻:

    训练集-----------学生的课本;学生 根据课本里的内容来掌握知识。

    验证集-----------作业,通过作业可以知道 不同学生学习情况、进步的速度快慢。

    测试集-----------考试,考的题是平常都没有见过,考察学生举一反三的能力。

  传统上,一般三者切分的比例是:6:2:2,验证集并不是必须的。

  那么为什么要测试集呢?

    a)训练集直接参与了模型调参的过程,显然不能用来反映模型真实的能力(防止课本死记硬背的学生拥有最好的成绩,即防止过拟合)。

    b)验证集参与了人工调参(超参数)的过程,也不能用来最终评判一个模型(刷题库的学生不能算是学习好的学生)。

    c)所以要通过最终的考试(测试集)来考察一个学(模)生(型)真正的能力(期末考试)。

  但是仅凭一次考试就对模型的好坏进行评判显然是不合理的,所以就要使用交叉验证法。交叉验证法的作用就是尝试利用不同的训练集/验证集划分来对模型做多组不同的训练/验证,来应对单独测试结果过于片面以及训练数据不足的问题。(就像通过多次考试,才得知哪些学生是比较厉害的)

好文要顶 关注我 收藏该文  

  • 13
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Scikit-learn是一个用于机器学习和数据挖掘的Python库,它提供了丰富的机器学习算法和工具来解决各种问题。下面是一个关于Scikit-learn机器学习算法的思维导图。 1. 监督学习算法 - 分类算法:使用已知的数据标签进行预测。包括决策树、K最近邻、朴素贝叶斯、支持向量机等。 - 回归算法:预测连续值的算法。包括线性回归、岭回归、Lasso回归等。 2. 无监督学习算法 - 聚类算法:将相似的样本分组。包括K均值聚类、层次聚类、DBSCAN等。 - 降维算法:减少数据维度。包括主成分分析、线性判别分析等。 3. 模型评估和选择 - 交叉验证:将数据集分为训练集和测试集,评估模型的性能。 - 网格搜索:通过穷举搜索参数组合来选择最佳模型。 4. 特征选择和提取 - 特征选择:选择对目标变量有用的特征。包括方差阈值、相关性等。 - 特征提取:从原始数据中创建新的特征。包括主成分分析、独立成分分析等。 5. 模型调整和优化 - 正则化:用于控制模型的复杂性。 - 参数调优:通过调整模型参数以提高性能。 6. 集成方法 - 随机森林:基于决策树的集成方法。 - AdaBoost:自适应增强方法。 7. 自然语言处理 - 文本特征提取:从文本中提取有用的特征。 - 文本分类:将文本划分为不同的类别。 Scikit-learn提供了丰富的机器学习算法和工具,可以帮助我们进行数据分析、预测和模型优化。通过使用这些算法和思维导图,我们可以更加有效地解决各种机器学习问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值