K折交叉验证

耗尽温柔 提交于 2019-11-27 05:45:28

 K折交叉验证实现

StratifiedKFold用法类似Kfold,但是他是分层采样,确保训练集,测试集中各类别样本的比例与原始数据集中相同。

from sklearn.model_selection import StratifiedKFold
kf = StratifiedKFold(n_splits=3, shuffle=True, random_state=2019)# 3折交叉
purchase_result=0 #最终结果
for train_index, test_index in kf.split(data,lable_purchase):
    #data为训练集,lable_purchase是lable
    X_train_p, y_train_p = data.iloc[train_index], lable_purchase.iloc[train_index]
    X_valid_p, y_valid_p = data.iloc[test_index], lable_purchase.iloc[test_index]
    purchase_result +=xgb_model(X_train_p, X_valid_p, y_train_p, y_valid_p, test)/3.0
print(purchase_result)

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!