留一法交叉验证
假设您最喜欢的糖果并不在该 candy 数据集里,而您想评估它的受欢迎程度。使用 5 折交叉验证时,每次只会在 80% 的数据上训练。然而,这个 candy 数据集只有 85 行,留出 20% 的数据可能会削弱模型效果。使用留一法交叉验证(LOOCV)可以最大化利用有限数据,并为您最喜欢的糖果的人气给出更好的估计!
在本练习中,您将使用 cross_val_score() 来执行 LOOCV。
本练习是课程的一部分
Python 中的模型验证
练习说明
- 使用
mean_absolute_error创建一个供cross_val_score()使用的评分器(scorer)。 - 完成
cross_val_score()的参数设置,使其使用模型rfr、新定义的mae_scorer,以及 LOOCV。 - 使用
numpy(已以np导入)打印scores的均值和标准差。
交互式实操练习
通过完成这段示例代码来试试这个练习。
from sklearn.metrics import mean_absolute_error, make_scorer
# Create scorer
mae_scorer = ____(____)
rfr = RandomForestRegressor(n_estimators=15, random_state=1111)
# Implement LOOCV
scores = cross_val_score(____, X=X, y=y, cv=____, scoring=____)
# Print the mean and standard deviation
print("The mean of the errors is: %s." % np.____(____))
print("The standard deviation of the errors is: %s." % np.____(____))