|
26 | 26 | gb_reg = GradientBoostingRegressor(loss="quantile", alpha=quantiles[1]) |
27 | 27 | gb_reg.fit(X, y) |
28 | 28 |
|
29 | | -# MAPIE Quantile Regressor with symmetry=True |
30 | | -mapie_qr_sym = MapieQuantileRegressor(estimator=gb_reg, alpha=alpha) |
31 | | -mapie_qr_sym.fit(X, y) |
32 | | -y_pred_sym, y_pis_sym = mapie_qr_sym.predict(X, symmetry=True) |
33 | | - |
34 | | -# MAPIE Quantile Regressor with symmetry=False |
35 | | -mapie_qr_asym = MapieQuantileRegressor(estimator=gb_reg, alpha=alpha) |
36 | | -mapie_qr_asym.fit(X, y) |
37 | | -y_pred_asym, y_pis_asym = mapie_qr_asym.predict(X, symmetry=False) |
| 29 | +# MAPIE Quantile Regressor |
| 30 | +mapie_qr = MapieQuantileRegressor(estimator=gb_reg, alpha=alpha) |
| 31 | +mapie_qr.fit(X, y) |
| 32 | +y_pred_sym, y_pis_sym = mapie_qr.predict(X, symmetry=True) |
| 33 | +y_pred_asym, y_pis_asym = mapie_qr.predict(X, symmetry=False) |
| 34 | +y_qlow = mapie_qr.estimators_[0].predict(X) |
| 35 | +y_qup = mapie_qr.estimators_[1].predict(X) |
38 | 36 |
|
39 | 37 | # Calculate coverage scores |
40 | 38 | coverage_score_sym = regression_coverage_score( |
|
51 | 49 | y_pis_sym_sorted = y_pis_sym[order] |
52 | 50 | y_pred_asym_sorted = y_pred_asym[order] |
53 | 51 | y_pis_asym_sorted = y_pis_asym[order] |
| 52 | +y_qlow = y_qlow[order] |
| 53 | +y_qup = y_qup[order] |
54 | 54 |
|
55 | 55 | ############################################################################## |
56 | 56 | # We will plot the predictions and prediction intervals for both symmetric |
|
64 | 64 | plt.xlabel("x") |
65 | 65 | plt.ylabel("y") |
66 | 66 | plt.scatter(X, y, alpha=0.3) |
67 | | -plt.plot(X_sorted, y_pred_sym_sorted, color="C1") |
| 67 | +#plt.plot(X_sorted, y_pred_sym_sorted, color="C1") |
| 68 | +plt.plot(X_sorted, y_qlow, color="C1") |
| 69 | +plt.plot(X_sorted, y_qup, color="C1") |
68 | 70 | plt.plot(X_sorted, y_pis_sym_sorted[:, 0], color="C1", ls="--") |
69 | 71 | plt.plot(X_sorted, y_pis_sym_sorted[:, 1], color="C1", ls="--") |
70 | 72 | plt.fill_between( |
|
84 | 86 | plt.xlabel("x") |
85 | 87 | plt.ylabel("y") |
86 | 88 | plt.scatter(X, y, alpha=0.3) |
87 | | -plt.plot(X_sorted, y_pred_asym_sorted, color="C2") |
| 89 | +#plt.plot(X_sorted, y_pred_asym_sorted, color="C2") |
| 90 | +plt.plot(X_sorted, y_qlow, color="C2") |
| 91 | +plt.plot(X_sorted, y_qup, color="C2") |
88 | 92 | plt.plot(X_sorted, y_pis_asym_sorted[:, 0], color="C2", ls="--") |
89 | 93 | plt.plot(X_sorted, y_pis_asym_sorted[:, 1], color="C2", ls="--") |
90 | 94 | plt.fill_between( |
|
0 commit comments