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
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)))