Định nghĩa thước đo của cuộc thi
Thước đo cuộc thi được Kaggle dùng để đánh giá các bài nộp của bạn. Ngoài ra, bạn cũng cần đo lường hiệu năng của các mô hình khác nhau trên tập kiểm định cục bộ.
Hiện tại, mục tiêu của bạn là tự viết một vài thước đo cuộc thi trong trường hợp chúng không có sẵn trong sklearn.metrics.
Cụ thể, bạn sẽ định nghĩa:
Mean Squared Error (MSE) cho bài toán hồi quy: $$MSE = \frac{1}{N}\sum_{i=1}^{N}{(y_i - \hat{y}_i)^2}$$
Logarithmic Loss (LogLoss) cho bài toán phân loại nhị phân: $$LogLoss = -\frac{1}{N}\sum_{i=1}^{N}{(y_i\ln p_i + (1-y_i)\ln (1-p_i))}$$
Bài tập này là một phần của khóa học
Chinh phục cuộc thi Kaggle bằng Python
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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)))