LoslegenKostenlos starten

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

<Kurs>Eine Kaggle-Competition in Python gewinnen</Kurs>
Kurs ansehen

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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