始める無料で始める

F-beta スコア

F-beta スコアは precision と recall の重み付き調和平均で、両者の重要度を異なる比率で反映できます。多くの場合、recall より precision を重視したいことがあり、その場合は beta を 0〜1 の範囲で小さく設定します。本演習では、MLP 分類器の precision と recall を計算し、beta = 0.5 の F-beta スコアも算出します。

作業スペースには X_trainy_trainX_testy_test が用意され、特徴量はすでに標準化済みです。pandaspdsklearn も利用可能です。sklearn.metricsfbeta_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))
コードを編集して実行