F-beta スコア
F-beta スコアは precision と recall の重み付き調和平均で、両者の重要度を異なる比率で反映できます。多くの場合、recall より precision を重視したいことがあり、その場合は beta を 0〜1 の範囲で小さく設定します。本演習では、MLP 分類器の precision と recall を計算し、beta = 0.5 の F-beta スコアも算出します。
作業スペースには X_train、y_train、X_test、y_test が用意され、特徴量はすでに標準化済みです。pandas は pd、sklearn も利用可能です。sklearn.metrics の fbeta_score() も使用できます。
この演習はコースの一部です
PythonでMachine Learningを使って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))