Xây dựng bảng xếp hạng mô hình
Bây giờ dữ liệu đã ở dạng long, bạn có thể chấm điểm kết quả của mô hình bằng các hàm trợ giúp sau:
def mape(y, yhat):
mape = mean(abs(y - yhat)/ y)
return mape
def rmse(y, yhat):
rmse = (mean((y - yhat) ** 2 )) ** 0.5
return rmse
def coverage(y, lower, upper):
coverage = sum((y <= upper) & (y >= lower)) / len(y)
return coverage
def score(df):
mape_score = mape(y = df["y"], yhat = df["forecast"])
rmse_score = rmse(y = df["y"], yhat = df["forecast"])
coverage_score = coverage(y = df["y"], lower = df["lower"], upper = df["upper"])
cols = ["mape", "rmse", "coverage"]
df = pd.Series([mape_score, rmse_score, coverage_score], index=cols)
return df
Bài tập này là một phần của khóa học
Thiết kế Pipeline Dự báo cho Môi trường Production
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.
# Create score_df
score_df = (bkt
.groupby(["unique_id", "model_label", "model_name", "partition"])
[["unique_id", "model_label", "model_name", "partition", "y", "forecast", "lower", "upper"]]
.____(____)
.reset_index()
)
print(score_df)