航班时长模型:加入更多特征!
让我们为模型加入更多特征。这未必一定会得到更好的模型。加入某些特征可能会改进模型,而加入另外一些特征可能会让模型变差。
更多特征会让模型变得更复杂,也更难解释,这一点是始终成立的。
接下来这个模型将包含以下特征:
kmorg(始发机场,独热编码,8 个水平)depart(起飞时间,按 3 小时间隔分箱,独热编码,8 个水平)dow(起飞星期几,独热编码,7 个水平),以及mon(起飞月份,独热编码,12 个水平)。
这些特征已被组装到 features 列中,它是 32 列的稀疏表示(请记住,独热编码生成的列数比水平数少 1)。
数据以 flights 提供,并已随机划分为 flights_train 和 flights_test。
本练习基于航班数据的一个小子集。
本练习是课程的一部分
使用 PySpark 进行机器学习
练习说明
- 在训练数据上拟合线性回归模型。
- 为测试数据生成预测。
- 计算测试数据上的 RMSE。
- 查看模型系数。是否有系数为 0?
交互式实操练习
通过完成这段示例代码来试试这个练习。
from pyspark.ml.regression import ____
from pyspark.ml.evaluation import ____
# Fit linear regression model to training data
regression = ____(____).____(____)
# Make predictions on testing data
predictions = regression.____(____)
# Calculate the RMSE on testing data
rmse = ____(____).____(____)
print("The test RMSE is", rmse)
# Look at the model coefficients
coeffs = regression.____
print(coeffs)