LoslegenKostenlos loslegen

Lege eine Wettbewerbsmetrik fest

Die Wettbewerbsmetrik wird von Kaggle verwendet, um deine Einreichungen zu bewerten. Außerdem musst du die Leistung verschiedener Modelle auf einem lokalen Validierungssatz messen.

Dein Ziel ist es vorerst, ein paar Wettbewerbsmetriken manuell zu implementieren, falls sie in sklearn.metrics nicht verfügbar sind.

Konkret definierst du:

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

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

Diese Übung ist Teil des Kurses

Eine Kaggle-Competition in Python gewinnen

Kurs anzeigen

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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)))
Code bearbeiten und ausführen