F1スコア
ご覧のとおり、precision と recall にはトレードオフがあります。どちらも重要な指標で、ビジネスがどのように解約(churn)をモデル化したいかによって、どちらか一方の最適化に重点を置くこともあります。多くの場合、利害関係者はモデル性能を定量化できる単一の指標に関心を持ちます。こうした場面で使える指標の1つが AUC で、もう1つが次の式で計算される F1 スコアです。
2 * (precision * recall) / (precision + recall)
F1 スコアの利点は、precision と recall の両方を1つの指標に統合できる点で、クラス不均衡がある状況でも、F1 スコアが高ければモデルが良好に機能しているサインになります。scikit-learn では、f1_score 関数を使って F1 スコアを計算できます。
この演習はコースの一部です
マーケティングアナリティクス:Pythonで顧客解約を予測する
演習の手順
sklearn.metricsからf1_scoreをインポートします。- 学習済みランダムフォレストの F1 スコアを出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Instantiate the classifier
clf = RandomForestClassifier()
# Fit to the training data
clf.fit(X_train, y_train)
# Predict the labels of the test set
y_pred = clf.predict(X_test)
# Import f1_score
# Print the F1 score
print(____)