私は、Rパッケージe1071とアイリスデータセットを使ってSVMモデルを構築しました。虹彩データをトレーニングデータとテストデータに分割し、トレーニングデータからSVMを構築しました。ここで、points
関数を使用してトレーニングデータとSVM境界を示す同じプロットにテストデータをプロットしたいと思います。しかし、私がこれを行うと、かなりの数のテストデータポイントがプロットの右側の外側になります。これは、プロットのスケールとテストデータの実際の値を考慮する必要がありません。ここで私が使用したコードは次のとおりです。Rパッケージe1071のsvm.plotにテストデータをプロットするには?
# Import e1071 package and iris data set
library(e1071)
data("iris")
# Split the data into training and test data
index <- c(1:35, 51:85, 101:135)
iris_training <- iris[index, ]
iris_test <- iris[-index, ]
# Compute SVM model with linear kernel
svm_model <- svm(Species ~ Petal.Length + Petal.Width,
data=iris_training,
kernel='linear')
# Plot the data and decision boundaries
plot(svm_model,
data = iris_training[ , c(3, 4, 5)],
xlim = c(0.05, 2.55),
ylim = c(0.9, 7),
svSymbol = 1,
dataSymbol = 1,
symbolPalette = c("black", "blue", "red"))
# Plot the test data into the same plot
points(iris_test$Petal.Width,
iris_test$Petal.Length,
pch="x")
任意のアイデアは、この問題を解決する方法またはこの問題を回避する方法?ヘルプは非常に感謝します。
ありがとう@jwells。私はプレゼンテーションのプロットが必要なので、提案した修正が私の問題を解決します。ところで、私は0.3の代わりに0.7を引いて、プロットを正しく見せる必要がありました。このプロットの動作を理解するための新しい手掛かりが得られるかどうかは不明です。しかし、これはR開発者の誰かが見たいと思うかもしれない問題であるようです。助けてくれてありがとう。 – oli