Saya mencoba melakukan satu kelas SVM di R. Saya telah mencoba menggunakan paket kernlab e1071 / ksvm. Tetapi saya tidak yakin apakah saya melakukannya dengan benar.
Apakah ada contoh kerja untuk satu kelas SVM di R?
Juga,
- Saya memberikan matriks besar prediktor sebagai X. Karena itu seharusnya satu kelas, apakah asumsi bahwa semua data pelatihan yang saya berikan bentuk kelas 'positif'? Jika demikian, kita tidak harus memberikan label 'Y'?
- Label yang diprediksi diberikan sebagai keluaran adalah Benar / Salah. Jadi saya berasumsi, True adalah kelas 'positif'.
Sunting: Melampirkan kode sampel. Di sini saya mengambil sampel 60% dari kelas 'BENAR' dan saya menguji pada set data lengkap.
library(e1071)
library(caret)
data(iris)
iris$SpeciesClass[iris$Species=="versicolor"] <- "TRUE"
iris$SpeciesClass[iris$Species!="versicolor"] <- "FALSE"
trainPositive<-subset(iris,SpeciesClass=="TRUE")
inTrain<-createDataPartition(1:nrow(trainPositive),p=0.6,list=FALSE)
trainpredictors<-iris[inTrain,1:4]
testpredictors<-iris[,1:4]
testLabels<-iris[,6]
svm.model<-svm(trainpredictors,y=NULL,
type='one-classification',
nu=0.5,
scale=TRUE,
kernel="radial")
svm.pred<-predict(svm.model,testpredictors)
confusionMatrixTable<-table(Predicted=svm.pred,Reference=testLabels)
confusionMatrix(confusionMatrixTable,positive='TRUE')