选择最佳精确率模型
您的主管同意为您报销今年观看 3 场体育比赛的费用。在您最喜欢的球队 41 场主场比赛中,您希望确保挑选出 3 场他们一定会赢的主场。您打算构建一个模型来决定球队会赢下哪些比赛。
为此,您将构建一个随机搜索算法,并将重点放在模型的精确率(precision)上(以确保您的球队获胜)。您还希望记录下最佳模型和最佳参数,以便明年可以再次使用(当然,前提是模型表现良好)。您已经决定使用随机森林分类模型 rfc,并生成了参数分布 param_dist。
本练习是课程的一部分
Python 中的模型验证
练习说明
- 使用
make_scorer(<scoring_function>)创建一个精确率评分器precision。 - 使用
rfc和param_dist补全随机搜索方法。 - 使用
rs.cv_results_打印测试集平均得分。 - 打印最佳总体得分。
交互式实操练习
通过完成这段示例代码来试试这个练习。
from sklearn.metrics import precision_score, make_scorer
# Create a precision scorer
precision = ____(____)
# Finalize the random search
rs = RandomizedSearchCV(
estimator=____, param_distributions=____,
scoring = precision,
cv=5, n_iter=10, random_state=1111)
rs.fit(X, y)
# print the mean test scores:
print('The accuracy for each run was: {}.'.format(rs.cv_results_['____']))
# print the best model score:
print('The best accuracy for a single model was: {}'.format(rs.____))