
Bing Image Creator で生成: Long view of blue ocean and high cliff, blue sky and white clouds, photo
の続きです。
今回は、k-Nearest Neighbors でクラシフィケーションをします。
まず、モデルを生成します。

fit() 関数でモデルをフィットします。

predict() 関数で予測します。

predict() 関数で、type = "prob" にすると、0 と 1 の確率を返します。
metrics() 関数で予測精度を計算します。

count() 関数で予測値と実際の値の表を作ります。

roc_auc() 関数を使って、ROC曲線のAUCを計算します。

0.894 でした。
最後に roc_curve() 関数と autoplot() 関数で ROC 曲線を描きます。


今回は以上です。
初めから読むには、
です。
今回のコードは以下になります。
#
# k-nearest neighbors
knn_cls_spec <-
nearest_neighbor(neighbors = 11, weight_func = "triangular") |>
set_mode("classification") |>
set_engine("kknn")
knn_cls_spec
#
# モデルをフィット fit() 関数
knn_cls_fit <- fit(knn_cls_spec, approved ~ ., data = df_train)
knn_cls_fit
#
# prediction() 関数で予測
knn_cls_pred <-
bind_cols(
predict(knn_cls_fit, df_test),
predict(knn_cls_fit, df_test, type = "prob")
) |>
mutate(truth = df_test$approved)
knn_cls_pred
#
# 予測精度 metrics()
knn_cls_pred |>
metrics(truth, .pred_class)
#
# 表
knn_cls_pred |>
count(truth, .pred_class)
#
# ROC
knn_cls_pred |>
roc_auc(truth, .pred_0)
#
# ROC 曲線
knn_cls_pred |>
roc_curve(truth, .pred_0) |>
autoplot()
#