1.留出法 hold-out
一定比例划分出训练集、测试集
- 保证数据分布的一致性,否则划分后数据分布差异产生偏差;
- 每次数据划分的地方不同,结果就不同。单次使用留出法,结果不可靠
- 一般训练集在2/3到4/5之间
2.交叉验证 cross validation
随机不同的划分
特例 : 留一法 leave-one-out ,K-1个训练集、余下的作为测试集
- 结果比较准确;
- 计算复杂度高
3.自助法 bootstrapping
自主采样:out-of-bagestimate,目前随机森林、Gradient Boosting、extra-trees等中采用
从m个样本组成的数据集D中,每次随机抽取一个样本放入数据集
D′
,重复放入m个。放入m次,都没有被抽取出来放入
D′
中,概率为
(1−1m)m
,求极限为:
limm→∞(1−1m)m→1e≈0.368
也就是说会有36.8%的数据抽不出来。用D数据集作为训练集,用剩下的36.8%数据集作为测试集
- 在数据集小,难划分训练、测试集上很有效
- 改变初始数据集分布,带来估计偏差