開始使用免費開始

選出最高 precision 的模型

你的主管願意出資,讓你今年去看 3 場球賽。在你最喜歡的球隊 41 場主場比賽中,你想確保挑到 3 場他們「一定」會贏的比賽。你建立了一個模型來決定球隊會贏哪些比賽。

為了達成這個目標,你會建立一個隨機搜尋演算法,並將重點放在模型的 precision(以確保你的球隊會贏)。你也想記錄最佳模型與最佳參數,好在明年再次使用(前提是這個模型表現良好)。你已經決定使用隨機森林分類模型 rfc,並且產生了參數分佈 param_dist

本練習屬於課程

Python 的模型驗證

檢視課程

練習說明

  • 使用 make_scorer(<scoring_function>) 建立一個 precision 的評分器 precision
  • 使用 rfcparam_dist 完成隨機搜尋方法。
  • 使用 rs.cv_results_ 印出平均測試分數。
  • 印出整體最佳分數。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

from sklearn.metrics import precision_score, make_scorer

# Create a precision scorer
precision = ____(____)
# Finalize the random search
rs = RandomizedSearchCV(
  estimator=____, param_distributions=____,
  scoring = precision,
  cv=5, n_iter=10, random_state=1111)
rs.fit(X, y)

# print the mean test scores:
print('The accuracy for each run was: {}.'.format(rs.cv_results_['____']))
# print the best model score:
print('The best accuracy for a single model was: {}'.format(rs.____))
編輯並執行程式碼