Kom igångKom igång gratis

Definiera ett tävlingsmått

Tävlingsmåttet används av Kaggle för att utvärdera dina inlämningar. Du behöver också mäta prestandan hos olika modeller på ett lokalt valideringsset.

Målet nu är att manuellt implementera ett par tävlingsmått, för det fall att de inte finns tillgängliga i sklearn.metrics.

Du ska definiera:

  • Mean Squared Error (MSE) för regressionsproblem: $$MSE = \frac{1}{N}\sum_{i=1}^{N}{(y_i - \hat{y}_i)^2}$$

  • Logarithmic Loss (LogLoss) för binär klassificering: $$LogLoss = -\frac{1}{N}\sum_{i=1}^{N}{(y_i\ln p_i + (1-y_i)\ln (1-p_i))}$$

Den här övningen är en del av kursen

Vinna en Kaggle-tävling i Python

Visa kurs

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)))
Redigera och kör kod