두 모델의 실제 값 대 예측 값 및 잔차 대 예측 값 플롯
두 모델의 실제 값 대 예측 값 및 잔차 대 예측 값 플롯을 생성하고 각 축의 범례에 점수를 추가합니다.
f, (ax0, ax1) = plt.subplots(2, 2, sharey="row", figsize=(6.5, 8))
PredictionErrorDisplay.from_predictions(
y_test,
y_pred_ridge,
kind="actual_vs_predicted",
ax=ax0[0],
scatter_kwargs={"alpha": 0.5},
)
PredictionErrorDisplay.from_predictions(
y_test,
y_pred_ridge_with_trans_target,
kind="actual_vs_predicted",
ax=ax0[1],
scatter_kwargs={"alpha": 0.5},
)
for ax, y_pred in zip([ax0[0], ax0[1]], [y_pred_ridge, y_pred_ridge_with_trans_target]):
for name, score in score.items():
ax.plot([], [], " ", label=f"{name}={score}")
ax.legend(loc="upper left")
ax0[0].set_title("타겟 변환 없음의 Ridge 회귀")
ax0[1].set_title("타겟 변환 적용의 Ridge 회귀")
PredictionErrorDisplay.from_predictions(
y_test,
y_pred_ridge,
kind="residual_vs_predicted",
ax=ax1[0],
scatter_kwargs={"alpha": 0.5},
)
PredictionErrorDisplay.from_predictions(
y_test,
y_pred_ridge_with_trans_target,
kind="residual_vs_predicted",
ax=ax1[1],
scatter_kwargs={"alpha": 0.5},
)
ax1[0].set_title("타겟 변환 없음의 Ridge 회귀")
ax1[1].set_title("타겟 변환 적용의 Ridge 회귀")
f.suptitle("Ames 주택 데이터: 판매 가격", y=1.05)
plt.tight_layout()
plt.show()