CommencerCommencer gratuitement

Définir une métrique de compétition

La métrique de compétition est utilisée par Kaggle pour évaluer vos soumissions. De plus, vous devez aussi mesurer les performances de différents modèles sur un jeu de validation local.

Pour l’instant, votre objectif est d’implémenter manuellement quelques métriques de compétition si elles ne sont pas disponibles 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))}$$

Cet exercice fait partie du cours

Gagner une compétition Kaggle en Python

Afficher le cours

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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