CommencezCommencez gratuitement

Définir une mesure de compétition

La mesure de compétition est utilisée par Kaggle pour évaluer vos soumissions. De plus, vous devez aussi mesurer la performance de différents modèles sur un ensemble de validation local.

Pour l'instant, votre objectif est d'implanter manuellement quelques mesures de compétition au cas où elles ne seraient pas offertes dans sklearn.metrics.

En particulier, vous allez définir :

  • l'erreur quadratique moyenne (MSE) pour un problème de régression : $$MSE = \frac{1}{N}\sum_{i=1}^{N}{(y_i - \hat{y}_i)^2}$$

  • la perte logarithmique (LogLoss) pour un problème de classification binaire : $$LogLoss = -\frac{1}{N}\sum_{i=1}^{N}{(y_i\ln p_i + (1-y_i)\ln (1-p_i))}$$

Cette activité fait partie du cours

Remporter une compétition Kaggle en Python

Voir le cours

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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)))
Modifier et exécuter le code