Zacznij terazZacznij za darmo

Zdefiniuj metrykę konkursową

Metryka konkursowa jest używana przez Kaggle do oceny twoich zgłoszeń. Musisz też mierzyć wydajność różnych modeli na lokalnym zbiorze walidacyjnym.

Twoim zadaniem jest ręczne zaimplementowanie kilku metryk konkursowych – na wypadek, gdyby nie były dostępne w sklearn.metrics.

W szczególności zdefiniujesz:

  • Mean Squared Error (MSE) dla problemu regresji: $$MSE = \frac{1}{N}\sum_{i=1}^{N}{(y_i - \hat{y}_i)^2}$$

  • Logarithmic Loss (LogLoss) dla problemu klasyfikacji binarnej: $$LogLoss = -\frac{1}{N}\sum_{i=1}^{N}{(y_i\ln p_i + (1-y_i)\ln (1-p_i))}$$

To ćwiczenie jest częścią kursu

Zwycięstwo w konkursie Kaggle w Pythonie

Zobacz kurs

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)))
Edytuj i uruchom kod