ライブラリ (kernlab) で SVM を使用して 2D プロットを作成しようとしていますが、プロット関数はバイナリ分類にのみ適しているようです。以下の例のように、3 つ (またはそれ以上) のグループをプロットできるようにしたいと考えています。
私のデータは虹彩データと同じように構造化されているので、それを使って説明します。
モデルを適合させた後:
fit.ksvm <- ksvm(Species~., data=iris, kernel= "rbfdot", prob.model=TRUE)
fit.ksvm
ksvm のプロット関数を使用します。
plot(fit.ksvm, data=iris)
次のメッセージを取得します。
> plot(fit.ksvm, data=iris)
Error in .local(x, ...) :
plot function only supports binary classification
双方向分類を使用して同様の分析を試みると、プロットが生成されます。だから、問題は複数のグループだと思います。以下のような 2 次元の「ヒートマップ」を作成する方法を考えられる人はいますか? ただし、3 つ (またはそれ以上) のクラスを持つ SVM 分類モデルを使用しますか?
two-way SVM classification
x <- rbind(matrix(rnorm(120),,2),matrix(rnorm(120,mean=3),,2))
y <- matrix(c(rep(1,60),rep(-1,60)))
svp <- ksvm(x,y,type="C-svc")
plot(svp,data=x)