ComenzarEmpieza gratis

Define una métrica de la competición

Kaggle usa la métrica de la competición para evaluar tus envíos. Además, tú también necesitas medir el rendimiento de distintos modelos en un conjunto de validación local.

Por ahora, tu objetivo es implementar manualmente un par de métricas de competición por si no están disponibles en sklearn.metrics.

En concreto, definirás:

  • Mean Squared Error (MSE) para el problema de regresión: $$MSE = \frac{1}{N}\sum_{i=1}^{N}{(y_i - \hat{y}_i)^2}$$

  • Logarithmic Loss (LogLoss) para el problema de clasificación binaria: $$LogLoss = -\frac{1}{N}\sum_{i=1}^{N}{(y_i\ln p_i + (1-y_i)\ln (1-p_i))}$$

Este ejercicio forma parte del curso

Cómo ganar una competición de Kaggle con Python

Ver curso

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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)))
Editar y ejecutar código