【总结】机器学习划分数据集的几种方法

本文探讨了在机器学习中,单纯依赖固定数据集得出的高精度算法可能存在局限性,指出需要通过交叉验证来确保模型的泛化能力。介绍了训练集与测试集划分的目的是防止过拟合,并解释了过拟合的概念。讨论了常见的交叉验证方法,如K-折交叉验证和留一交叉验证,以及它们如何帮助减少模型不确定性。最后,提到在小样本训练时可以使用留一法作为替代方案。
摘要由CSDN通过智能技术生成

在这里插入图片描述
最近搞了一个机器学习算法,精度高并且特征少,正当我狂喜之时,突然发现这只是在固定数据集上的结果。

如果随机生成数据集,还会有这样的效果吗?

这确实是一个问题,只在一个数据集上测试结果,很难证明算法鲁棒性,结果也不太可靠。

所以在机器学习中便诞生了 交叉验证 的方法……

🐯:为什么最开始的时候数据集要分训练集和测试集呢?
😼:是为了解决过拟合的问题。

🐯:过拟合是啥?
😼:无论是用机器学习做分类还是回归,如果只有训练集的话,模型便会前方百计的去拟合训练集,这时你会发现模型的特征越多,在训练集上的效果越好。这时如果用模型去测试未知数据集的话,效果可能会完全相反。这一点在回归上体现的尤为突出,从下图可以看到特征数超过40时,训练集已经完全拟合曲线了,而测试集的相关系数却很低。正如通用近似定理所说:“一个包含足够多隐含层神经元的多层前馈网络,能以任意精度逼近任意预定的连续函数”

在这里插入图片描述

🐯:那要按什么比例来分训练集和测试集呢?
😼:这个好像暂无定论从5:5,6:4,7:3,8:2到9:1都有,还是看各行各业的传统吧。

🐯:那按照一个比例分完,就只能得到一个训练集和一个测试集,训练出来的模型不是有不确定性吗?
😼:没错,前面说的“交叉验证”就是来解决这个问题的。

🐯:赶快说!别磨磨蹭蹭的!
😼:常见的交叉验证有 K-折交叉验证留一交叉验证

K折交叉验证,初始采样分割成K个子样本,一个单独的子样本被保留作为验证模型的数据,其他K-1个样本用来训练。交叉验证重复K次,每个子样本验证一次,平均K次的结果或者使用其它结合方式,最终得到一个单一估测。这个方法的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,其中,10折交叉验证是最常用的。

在这里插入图片描述
🐯:那我总共就9个样本,还怎么分10份呢?
😼:你这就属于 抬杠 小样本训练,可以试试第二种交叉验证:留一法。

正如名称所建议, 留一验证(LOOCV)意指只使用原本样本中的一项来当做验证资料, 而剩余的则留下来当做训练资料。 这个步骤一直持续到每个样本都被当做一次验证资料。 事实上,这等同于和K-fold 交叉验证是一样的,其中K为原本样本个数。

🐯:你这,怎么和百度百科讲的一样啊!
😼:哈哈哈,本来打算自己写的,结果发现别人已经总结的挺好了,就再整理分享下~

🐯:我还有几个问题没找到答案,怎么联系你呢?
😼:扫描下方二维码!看看群里有没有答案~

猜你喜欢:👇🏻
【总结】一文了解所有的机器学习评价指标
【随笔】通用近似定理
【实操】看了太多公式概念?你该学会怎么用T检验了!

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值