Definuj metriku soutěže
Kaggle používá metriku soutěže k vyhodnocení tvých odevzdaných řešení. Zároveň ji potřebuješ k měření výkonnosti různých modelů na lokální validační sadě.
Tvým úkolem je nyní ručně implementovat několik soutěžních metrik pro případ, že nejsou dostupné v sklearn.metrics.
Konkrétně definuješ:
Mean Squared Error (MSE) pro regresní problém: $$MSE = \frac{1}{N}\sum_{i=1}^{N}{(y_i - \hat{y}_i)^2}$$
Logarithmic Loss (LogLoss) pro problém binární klasifikace: $$LogLoss = -\frac{1}{N}\sum_{i=1}^{N}{(y_i\ln p_i + (1-y_i)\ln (1-p_i))}$$
Toto cvičení je součástí kurzu
Jak vyhrát soutěž na Kaggle v Pythonu
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)))