正则化
正则化是向模型加入约束或先验信息,以防止过拟合的过程。这对于提升您在本章前面看到的评估指标非常重要。在本练习中,您将调整决策树的最大深度参数,以观察分类结果如何变化。
X_train、y_train、X_test、y_test 已在您的工作区中可用。pandas 已以 pd 导入,numpy 已以 np 导入,并且 sklearn 也已可用。此外,来自 sklearn.metrics 的 confusion_matrix()、precision_score() 和 recall_score() 也可使用。
本练习是课程的一部分
用 Python 预测 CTR 的机器学习实战
练习说明
- 通过改变每棵树的最大深度来创建不同的决策树。
- 对每棵树,在测试数据上进行拟合并生成预测。
- 评估每棵树的混淆矩阵、精确率(precision)和召回率(recall)。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Iterate over different levels of max depth
for max_depth_val in [2, 3, 5, 10, 15, 20]:
# Create and fit model
clf = ____(____ = max_depth_val)
print("Evaluating tree with max_depth = %s" %(max_depth_val))
y_pred = clf.fit(____, ____).predict(____)
# Evaluate confusion matrix, precision, recall
print("Confusion matrix: ")
print(____(y_test, y_pred))
prec = ____(____, ____, average = 'weighted')
recall = ____(____, ____, average = 'weighted')
print("Precision: %s, Recall: %s" %(prec, recall))