(Bing Image Creator で生成: プロンプト: Closeup of white Swertia bimaculata flowers, background is deep forest, sun shining like linear thread, photo)
の続きです。
今回は、kernlab パッケージの ksvm() 関数でサポートベクターマシーンによる予測です。
サポートベクターマシーンってなんかカッコイイ名前ですね。パッケージの読み込みをします。
ksvm() 関数を使い、モデルを推定します。
type = "C-svc" として Classification にしています。cross = 3 としてるので、クロスバリデーションの数は 3 です。
この関数の結果が返ってくるのが、長くて、5分以上かかりました。
いつものように、predict() 関数で予測します。
成績発表です。
Accuracy は 0.8988, Balanced Accuracy は 0.6046 でした。
今まで結果にこの結果を追加します。
accuracy は 前回のツリーモデルと同じで一番よくて、 balanced accuracy は knn に次ぐ値です。
今回は以上です。
次回は
です。
初めから読むには、
です。
今回のコードは以下になります。
#
# 第4の方法: サポートベクターマシーン
#
# kernlab パッケージの読み込み
library(kernlab)
#
# kvsm()関数でモデルを推定
set.seed(123)
svm_model <- ksvm(yes ~ ., data = df_train,
type = "C-svc",
corss = 3)
#
svm_model
#
# svm_model で予測
svm_pred <- predict(svm_model, df_test)
#
# 予測結果
confusionMatrix(factor(svm_pred),
factor(df_test$yes))
#
# 予測結果を追加
estimates_results <- estimates_results |>
rbind(
tibble(
model = "svm",
accuracy = 0.8988,
b_accuracy = 0.6046
)
)
estimates_results
#