Bing Image Creator で生成: Close up of natural Gerbera jamesonii flowers, background is blue sky and white clouds, deep forests , photo
の続きです。
今回は、Decision Tree でクラシフィケーションしてみます。
Fitting and predicting with parsnip • parsnip こちらのサイトを参照します。
tidymodels の中の pasnip パッケージの decision_tree() 関数を使います。
set_mode("classification") としています。
あとは、前回のロジスティクス回帰と同じ作業です。
fit() 関数でモデルをフィットさせます。
predict() 関数で df_test のデータを使って予測します。
Tidy Characterizations of Model Performance • yardstick を参考にして、
metrics() 関数で正解率をみてみます。
正解率は、86.7% です。前回のロジスティクス回帰よりもよい正解率です。
組み合わせごとの正解・不正解した数を確認します。
(84 + 60 ) / (84 + 60 + 14 + 8 ) = 86.75% です。
roc_auc() 関数も使ってみます。
0.913 なので、こちらの値も前回のロジスティクス回帰よりもよい値です。
前回のロジスティクス回帰の結果もデータフレームにしておきましょう。
前回と同じように、metrics() 関数を使ってみます。
正解率は 83.7% ですね。
roc_auc() 関数も使ってみます。
0.902 です。
今回は以上です。
次回は
です。
初めから読むには、
です。
今回のコードは以下になります。
#
# Decision Tree Model
# モデルを生成
dt_cls_spec <-
decision_tree(tree_depth = 30) |>
set_mode("classification") |>
set_engine("rpart")
dt_cls_spec
#
# モデルをフィット
set.seed(250)
dt_cls_fit <- dt_cls_spec |>
fit(approved ~ ., data = df_train)
dt_cls_fit
#
# df_test のデータで予測
dt_cls_pred <-
bind_cols(
predict(dt_cls_fit, df_test),
predict(dt_cls_fit, df_test, type = "prob")
) |>
mutate(truth = df_test$approved)
dt_cls_pred
#
# metrics()
dt_cls_pred |>
metrics(truth, .pred_class)
#
# 表
dt_cls_pred |>
count(.pred_class, truth)
#
# ROC
dt_cls_pred |>
roc_auc(truth, .pred_0)
#
# ロジスティクス回帰の結果もデータフレームにしておく
logreg_cls_pred <-
bind_cols(
predict(logreg_cls_fit, df_test),
predict(logreg_cls_fit, df_test, type = "prob")
) |>
mutate(truth = df_test$approved)
logreg_cls_pred
#
# logreg_cls_pred の metrics()
logreg_cls_pred |>
metrics(truth, .pred_class)
#
# logreg_cls_pred の roc_auc()
logreg_cls_pred |>
roc_auc(truth, .pred_0)
#