Definește o metrică de competiție
Metrica de competiție este folosită de Kaggle pentru a evalua submisiile tale. De asemenea, trebuie să măsori performanța diferitelor modele pe un set de validare local.
Deocamdată, scopul tău este să implementezi manual câteva metrici de competiție, în cazul în care acestea nu sunt disponibile în sklearn.metrics.
În particular, vei defini:
Eroarea Pătratică Medie (MSE) pentru problema de regresie: $$MSE = \frac{1}{N}\sum_{i=1}^{N}{(y_i - \hat{y}_i)^2}$$
Pierderea Logaritmică (LogLoss) pentru problema de clasificare binară: $$LogLoss = -\frac{1}{N}\sum_{i=1}^{N}{(y_i\ln p_i + (1-y_i)\ln (1-p_i))}$$
Acest exercițiu face parte din cursul
Câștigarea unei competiții Kaggle în Python
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)))