knn结束另附:数据分割及训练集调优时的数据分割
测试集应该尽可能与训练集互斥
留出法
自助法
交叉验证法
留一法是留出法中的一种
交叉验证法
KFold和StratifiedKFold
都在,sklearn.model_seletion里
交叉验证实现方法,除了咱们前面讲的GridSearchCV之外,还有KFold, StratifiedKFold
用法:
将训练/测试数据集划分n_splits个互斥子集,每次用其中一个子集当作验证集,剩下的n_splits-1个作为训练集,进行n_splits次训练和测试,得到n_splits个结果
StratifiedKFold的用法和KFold的区别是:SKFold是分层采样,确保训练集,测试集中,各类别样本的比例是和原始数据集中的一致。
KFold不对训练集里的正反例均匀采样
StratifiedKFold考虑到正反例,分类的占比情况
自助法
有放回抽样,取极限时,有0.368的概率取不到
因此把这部分数据拿出来做测试集
数据量小,交叉验证法
数据量特别小,留一法
自助法,取其中
这样的测试结果,亦称“包外估计”(out- of-bagestimate)