混同行列を計算する
混同行列(confusion table と呼ばれることもあります)は、カテゴリカルな応答(ロジスティック回帰など)を持つモデルのあらゆる評価指標の基礎になります。これは、実際の応答と予測された応答の各組み合わせの件数を含みます。ここでは、可能な応答が 2 つ(解約する/解約しない)なので、結果は全部で 4 通りです。
- True positive: 顧客は解約し、モデルも解約すると予測した。
- False positive: 顧客は解約しなかったが、モデルは解約すると予測した。
- True negative: 顧客は解約せず、モデルも解約しないと予測した。
- False negative: 顧客は解約したが、モデルは解約しないと予測した。
churn と mdl_churn_vs_relationship を利用できます。
この演習はコースの一部です
Pythonで学ぶstatsmodelsによる回帰入門
演習の手順
- データセットの
has_churned列を抽出して実際の応答を取得し、actual_responseに代入します。 - モデルから「最もありそうな」予測応答を取得し、
predicted_responseに代入します。 actual_responseとpredicted_responseから DataFrame を作成し、outcomesに代入します。outcomesを件数の表(混同行列)として表示します。これはすでに用意されています。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Get the actual responses
actual_response = ____
# Get the predicted responses
predicted_response = ____
# Create outcomes as a DataFrame of both Series
outcomes = pd.DataFrame({____,
____})
# Print the outcomes
print(outcomes.value_counts(sort = False))