开始使用免费开始使用

留一法交叉验证

假设您最喜欢的糖果并不在该 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.____(____))
编辑并运行代码