Menetapkan metrik kompetisi
Metrik kompetisi digunakan oleh Kaggle untuk mengevaluasi pengiriman Anda. Selain itu, Anda juga perlu mengukur kinerja berbagai model pada himpunan validasi lokal.
Untuk saat ini, tujuan Anda adalah mengembangkan sendiri beberapa metrik kompetisi jika metrik tersebut tidak tersedia di sklearn.metrics.
Secara khusus, Anda akan mendefinisikan:
Mean Squared Error (MSE) untuk masalah regresi: $$MSE = \frac{1}{N}\sum_{i=1}^{N}{(y_i - \hat{y}_i)^2}$$
Logarithmic Loss (LogLoss) untuk masalah klasifikasi biner: $$LogLoss = -\frac{1}{N}\sum_{i=1}^{N}{(y_i\ln p_i + (1-y_i)\ln (1-p_i))}$$
Latihan ini adalah bagian dari kursus
Memenangi Kompetisi Kaggle dengan Python
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
import numpy as np
# Import MSE from sklearn
from sklearn.metrics import mean_squared_error
# Define your own MSE function
def own_mse(y_true, y_pred):
# Raise differences to the power of 2
squares = np.____(y_true - y_pred, 2)
# Find mean over all observations
err = np.____(squares)
return err
print('Sklearn MSE: {:.5f}. '.format(mean_squared_error(y_regression_true, y_regression_pred)))
print('Your MSE: {:.5f}. '.format(own_mse(y_regression_true, y_regression_pred)))