交叉验证
交叉验证是一种用于检验模型在留出集上泛化表现的技术。这样可以确保测试性能不是由某次数据划分的偶然性导致。在本练习中,您将使用 sklearn 的实现,通过 KFold() 模块运行 K 折交叉验证,以评估决策树的精确率和召回率。
X_train、y_train、X_test、y_test 已在您的工作区中可用。pandas 已以 pd 导入,numpy 以 np 导入,sklearn 也已可用。来自 sklearn.model_selection 的 KFold() 和 cross_val_score() 同样可用。
本练习是课程的一部分
用 Python 预测 CTR 的机器学习实战
练习说明
- 创建一个决策树分类器。
- 设置一个包含 4 折的 K 折交叉验证,并将其赋值给
k-fold。 - 使用
k_fold和cross_val_score()运行交叉验证,以评估模型的精确率和召回率(不要使用recall_score()或precision_score()!)。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create model
clf = ____
# Set up k-fold
k_fold = ____(n_splits = 4, random_state = 0, shuffle = True)
# Evaluate precision and recall for each fold
precision = ____(
clf, X_train, ____, cv = ____, scoring = 'precision_weighted')
recall = ____(
clf, X_train, ____, cv = ____, scoring = 'recall_weighted')
print("Precision scores: %s" %(precision))
print("Recall scores: %s" %(recall))