挑战六
红酒质量数据回归探索
线性回归
-
问题:训练数据和测试数据上的平均绝对误差 MSE 值是多少?
mean_squared_error( y_true=y_train, y_pred=linreg.predict(X_train_scaled) ), mean_squared_error( y_true=y_holdout, y_pred=linreg.predict(X_holdout_scaled) )
训练集和测试集的 MSE 分别为 0.558 和 0.584 。
-
问题:该线性回归模型中,哪些特征对目标值的影响更大?
【注意】蓝桥云课 Jupyter Notebook 环境内置的 Pandas v1.0.1 ,而本题中调用的功能需要 Pandas v1.1.0 及以上版本才有提供,我们需要另外升级 Pandas 。
# 此时会升级到 v1.3.2 !pip install -U pandas pd.DataFrame({ 'Feature': X.columns, 'Coefficent': linreg.coef_ # 排序键参数(callable)是 Pandas v1.1.0 引入的新参数 # 我们需要用这个参数对回归系数求绝对值,按绝对值排序 }).sort_values(by='Coefficent', key=np.abs, ascending=False)
可以看出,红酒密度(Density)和残糖量(Residual Sugar)对目标值影响更大。
Lasso 回归
-
代价函数:
-
问题: 该 Lasso 回归模型中,哪些特征对目标值的影响最小?
pd.DataFrame({ 'Features': X.columns, 'Coefficent': lasso1.coef_ }).sort_values(by='Coefficent', key=np.abs, ascending=True)
可以看出,固定酸(Fixed Acidity)、柠檬酸(Critic Acid)和总二氧化硫(Total Sulfur Dioxide)对目标值的影响最小。
-
问题: 上面调参得到的 Lasso 回归模型中,哪些特征对目标值的影响最小?
pd.DataFrame({ 'Features': X.columns, 'Coefficent': lasso_cv.coef_ }).sort_values(by='Coefficent', key=np.abs, ascending=True)
可以看出,柠檬酸对目标值影响最小。
-
问题: 调参得到的 Lasso 回归模型中,训练数据和测试数据上的平均绝对误差 MSE 值是多少?
print('训练数据:', mean_squared_error(y_train, lasso_cv.predict(X_train_scaled))) print('测试数据:', mean_squared_error(y_holdout, lasso_cv.predict(X_holdout_scaled)))
训练数据上约为 0.588 ,测试数据上约为 0.583 。
-
随机森林
葡萄酒质量数据集中特征和目标之间呈现较强的非线性关系,所以随机森林在这项任务中工作得更好。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 纱雾の闺房!