始める無料で始める

カットオフの指定

カットオフの設定しだいで、良い混同行列が得られるかどうかが変わることを見てきました。ここでは、予測ベクトルを、ローンの状態を示す二値のベクトルに変換する方法を学びます。R では、ifelse() 関数が役立ちます。

カットオフの文脈で ifelse() を適用すると、次のようになります。

ifelse(predictions > 0.3, 1, 0)

第1引数では、predictions ベクトルの各値が 0.3 より大きいかを判定します。これが TRUE の場合、R は第2引数で指定した「1」を返し、FALSE の場合は第3引数で指定した「0」を返します。これはそれぞれ「延滞(default)」と「延滞なし(no default)」を表します。

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

R で学ぶクレジットリスク・モデリング

コースを見る

演習の手順

  • 完全なロジスティック回帰モデルと予測ベクトルのコードはコンソールに用意されています。
  • カットオフを 0.15 にして、ifelse() 関数と predictions_all_full を使い、ベクトル pred_cutoff_15 を作成してください。
  • table() を使って混同行列を確認しましょう(第1引数には真の値、つまり test_set$loan_status を指定します)。

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

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

# The code for the logistic regression model and the predictions is given below
log_model_full <- glm(loan_status ~ ., family = "binomial", data = training_set)
predictions_all_full <- predict(log_model_full, newdata = test_set, type = "response")

# Make a binary predictions-vector using a cut-off of 15%


# Construct a confusion matrix
コードを編集して実行