Definieer een competitie-metric
De competitie-metric wordt door Kaggle gebruikt om je inzendingen te beoordelen. Daarnaast moet je ook de prestaties van verschillende modellen meten op een lokale validatieset.
Voor nu is je doel om handmatig een paar competitie-metrics te maken voor het geval ze niet beschikbaar zijn in sklearn.metrics.
Concreet definieer je:
Mean Squared Error (MSE) voor een regressieprobleem: $$MSE = \frac{1}{N}\sum_{i=1}^{N}{(y_i - \hat{y}_i)^2}$$
Logarithmic Loss (LogLoss) voor een binair classificatieprobleem: $$LogLoss = -\frac{1}{N}\sum_{i=1}^{N}{(y_i\ln p_i + (1-y_i)\ln (1-p_i))}$$
Deze oefening maakt deel uit van de cursus
Een Kaggle-competitie winnen met Python
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)))