始める無料で始める

コンペティションの評価指標を定義する

コンペティションの評価指標は、Kaggle があなたの提出物を評価するために使います。さらに、ローカルの検証用データセットで各モデルの性能を測る必要もあります。

ここでは、sklearn.metrics に存在しない場合に備えて、いくつかのコンペティション指標を手動で実装してみましょう。

具体的には、次を定義します。

  • 回帰問題の平均二乗誤差 (MSE): $$MSE = \frac{1}{N}\sum_{i=1}^{N}{(y_i - \hat{y}_i)^2}$$

  • 二値分類問題の対数損失 (LogLoss): $$LogLoss = -\frac{1}{N}\sum_{i=1}^{N}{(y_i\ln p_i + (1-y_i)\ln (1-p_i))}$$

この演習はコースの一部です

Pythonで挑むKaggleコンペティション

コースを見る

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

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)))
コードを編集して実行