模型性能评估
k折交叉验证
思想
将数据分成k份,每一次取出其中的一份作为测试集,剩下的作为训练集,一共取k次,每次测试集都是互斥的,不重复取,最后计算所有测试集均方误差的平均值
参数的具体意义
sklearn.model_selection.cross_val_score(estimator, X, y=None, groups=None, scoring=None, cv=’warn’, n_jobs=None, verbose=0, fit_params=None, pre_dispatch=‘2*n_jobs’, error_score=’raise-deprecating’)
参数:
estimator: 需要使用交叉验证的算法
X: 输入样本数据
y: 样本标签
groups: 将数据集分割为训练/测试集时使用的样本的组标签
scoring: 交叉验证最重要的就是他的验证方式,不同的评价方法,会产生不同的评价结果。
cv: 交叉验证折数或可迭代的次数
n_jobs: 同时工作的cpu个数(-1代表全部)
verbose: 详细程度
fit_params: 传递给估计器(验证算法)的拟合方法的参数
pre_dispatch: 控制并行执行期间调度的作业数量。减少这个数量对于避免在CPU发送更多作业时CPU内存消耗的扩大是有用的。
参考:
(1)机器学习模型评估与超参数调优详解:https://zhuanlan.zhihu.com/p/140040705
(2)使用sklearn的cross_val_score进行交叉验证:https://blog.csdn.net/qq_36523839/article/details/80707678
(3)交叉验证以及scikit-learn中的cross_val_score详:https://blog.csdn.net/weixin_42211626/article/details/100064842
(4)开源内容:https://github.com/datawhalechina/team-learning-data-mining/tree/master/IntegratedLearning
(5)论坛地址:http://datawhale.club/t/topic/1574