对简单航班时长模型进行交叉验证
您已经构建过一些用于预测航班时长的模型,并用简单的训练/测试划分进行过评估。不过,交叉验证能更好地评估模型表现。
本练习中,您将使用交叉验证来训练一个用于预测航班时长的简单模型。旅行时间通常与距离高度相关,因此仅使用 km 列也能得到一个还不错的模型。
数据已随机拆分为 flights_train 和 flights_test。
以下类已完成导入:LinearRegression、RegressionEvaluator、ParamGridBuilder 和 CrossValidator。
本练习是课程的一部分
使用 PySpark 进行机器学习
练习说明
- 创建一个空的参数网格。
- 创建用于构建与评估线性回归模型的对象。模型应预测 "duration" 字段。
- 创建一个交叉验证器对象。为
estimator、estimatorParamMaps和evaluator参数提供取值。选择 5 折交叉验证。 - 在训练数据的多个折上训练并测试模型。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create an empty parameter grid
params = ____().____()
# Create objects for building and evaluating a regression model
regression = ____(____)
evaluator = ____(____)
# Create a cross validator
cv = ____(estimator=____, estimatorParamMaps=____, evaluator=____, ____)
# Train and test model on multiple folds of the training data
cv = cv.____(____)
# NOTE: Since cross-validation builds multiple models, the fit() method can take a little while to complete.