Bagaimana kita menghitung kesalahan persentase absolut rata-rata (MAPE) dari prediksi kita menggunakan Python dan scikit-learn?
Dari dokumen , kami hanya memiliki 4 fungsi metrik untuk Regresi ini:
- metrics.explained_variance_score (y_true, y_pred)
- metrics.mean_absolute_error (y_true, y_pred)
- metrics.mean_squared_error (y_true, y_pred)
- metrics.r2_score (y_true, y_pred)
predictive-models
python
scikit-learn
mape
Nyxynyx
sumber
sumber
Jawaban:
Seperti dicatat (misalnya, di Wikipedia ), MAPE bisa bermasalah. Yang paling jelas, ini dapat menyebabkan kesalahan pembagian demi nol. Dugaan saya adalah bahwa inilah mengapa tidak termasuk dalam metrik sklearn.
Namun, sederhana untuk diimplementasikan.
Gunakan seperti metrik lainnya ...:
(Perhatikan bahwa saya mengalikan 100 dan mengembalikan persentase.)
... tetapi dengan hati-hati:
sumber
y_pred
dengany_true
dalam penyebut):return np.mean(np.abs((y_true - y_pred) / y_true)) * 100
check_arrays
dibuang oleh cipy. Adacheck_array
di sklearn saat ini tetapi sepertinya tidak bekerja dengan cara yang sama.ini adalah versi terbaru:
sumber