开始使用免费开始使用

定义竞赛评估指标

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)))
编辑并运行代码