F-beta 分數
F-beta 分數是 precision 與 recall 的加權調和平均,用來對 precision 與 recall 給予不同的重要性。多數情況下,你可能更在意 precision,高於 recall;這可以透過在 0 到 1 之間設定較小的 beta 來達成。在本練習中,你將計算一個 MLP 分類器的 precision 與 recall,並以 beta = 0.5 計算 F-beta 分數。
X_train、y_train、X_test、y_test 已可在你的工作環境中使用,且特徵已標準化。pandas 已以 pd 匯入,sklearn 也可使用。同時可使用來自 sklearn.metrics 的 fbeta_score()。
本練習屬於課程
用 Python 透過機器學習預測 CTR
練習說明
- 將資料切分為訓練集與測試集。
- 定義一個 MLP 分類器,使用
.fit()進行訓練,再用.predict()進行預測。 - 使用
sklearn的實作來取得 precision、recall 分數,以及 F-beta 分數。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Set up MLP classifier, train and predict
X_train, X_test, y_train, y_test = ____(
____, ____, test_size = .2, random_state = 0)
clf = ____(hidden_layer_sizes = (16, ),
max_iter = 10, random_state = 0)
y_pred = clf.____(____, _____).____(X_test)
# Evaluate precision and recall
prec = ____(y_test, ____, average = 'weighted')
recall = ____(y_test, ____, average = 'weighted')
fbeta = ____(y_test, ____, ____ = 0.5, average = 'weighted')
print("Precision: %s, Recall: %s, F-beta score: %s" %(prec, recall, fbeta))