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()
#