机器学习的常见评估方法

一、留出法:将全量数据集划分成互不相交的两部分,其中数据量较大的一部分(一般占总数据量的2/3到4/5)作为训练集,另一部分作为测试集。在划分数据时,应保持数据分布在训练集合测试集中的一致性(可使用分层抽样等方法);同时,考虑到划分随机性的影响,应该多次重复划分。

二、交叉验证法(k折为例):将全量数据集划分为互不相交且数据量相等的k份,进行k次模型评估。第i次(i=1,2,...,k)取第i份数据作为测试集,其余数据作为训练集。将k次模型评估的结果取平均,作为最终的模型评估结果。k与数据量相等时的k折交叉验证称为留一法。

三、bootstrap自助法:对原始的全量数据集(样本量为m)用有放回重复抽样的方法抽取样本量为m的新样本。当m很大时,原始数据集中某个样本在m次抽取中均不被抽中的概率(也即某数据不进入新样本的概率)约为0.368,因此原始数据集中大约有36.8%的数据不在新样本中。以新样本为训练集,以那剩余约36.8%的数据为测试集。

三者比较:

1、在原始数据量较小时自助法更有优势,但由于自助法改变了数据的分布,可能导致估计偏差。因此当数据量较大时一般更倾向于使用留出法和交叉验证法。

2、随着留出法中重复划分的次数增多/分层抽样复杂性、交叉验证法中k的增大/甚至留一法,模型评估的工作量可能会非常大,高精度是以计算量为代价的。

3、实际中应根据数据量、设备、预算等综合考虑,选择合适的模型评估方法。


猜你喜欢

转载自blog.csdn.net/sinat_37347862/article/details/80015264