剖析最佳航班时长模型
您刚刚设置了一个 CrossValidator,用于为预测航班时长的线性回归模型寻找合适的参数。
该模型管道包含多个阶段(StringIndexer、OneHotEncoder、VectorAssembler 和 LinearRegression 类型的对象),按顺序依次运行。阶段可通过管道对象的 stages 属性获取。它们以列表形式表示,并按列表中的顺序执行。
现在,您将更深入地查看该管道,分离各个阶段,并用它在测试数据上进行预测。
以下对象已创建:
cv—— 已训练的CrossValidatorModel对象,evaluator——RegressionEvaluator对象。
航班数据已经被随机拆分为 flights_train 和 flights_test。
本练习是课程的一部分
使用 PySpark 进行机器学习
练习说明
- 提取最佳模型。
- 查看最佳模型中的各个阶段。
- 定位线性回归阶段并提取其参数。
- 使用最佳模型在测试数据上生成预测,并计算 RMSE。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Get the best model from cross validation
best_model = cv.____
# Look at the stages in the best model
print(best_model.____)
# Get the parameters for the LinearRegression object in the best model
best_model.____.extractParamMap()
# Generate predictions on testing data using the best model then calculate RMSE
predictions = ____.____(____)
print("RMSE =", ____.____(____))