始める無料で始める

実データでのコスト分析

この演習でもクレジットデータセットを使います。思い出してください。このデータセットでは「陽性」は「信用リスクが高い(bad credit)」、つまりローンを延滞・不履行した顧客を指し、「陰性」は問題なく支払いを継続した顧客を指します。銀行のマネージャーからは、「良いリスク」顧客1人あたり平均で1万(10K)の利益が出る一方、「悪いリスク」顧客1人あたり15万(150K)の損失が出ると聞いています。あなたのアルゴリズムは申込者のスクリーニングに使われるため、「陰性」と判定された人にはローンを承認し、「陽性」と判定された人は却下されます。では、あなたの分類器の総コストはいくらになりますか? データは X_trainX_testy_trainy_test として利用できます。confusion_matrix()f1_score()precision_score()RandomForestClassifier() も使用可能です。

この演習はコースの一部です

Python で設計する Machine Learning ワークフロー

コースを見る

演習の手順

  • 学習データにランダムフォレスト分類器を学習させます。
  • 学習済みモデルでテストデータにラベルを付与します。
  • confusion_matrix() から偽陰性と偽陽性を取り出します。行列はフラット化する必要があります。
  • 「良い」顧客を「悪い」と誤分類すると、銀行は1万(10K)の利益機会を逸します。「悪い」顧客を「良い」と誤分類すると、ローン不履行により15万(150K)の損失が発生します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Fit a random forest classifier to the training data
clf = ____(random_state=2).fit(____, ____)

# Label the test data
preds = clf.____(____)

# Get false positives/negatives from the confusion matrix
tn, ____, ____, tp = confusion_matrix(y_test, preds).____()

# Now compute the cost using the manager's advice
cost = fp*____ + fn*____
コードを編集して実行