Estoy tratando de hacer una clase SVM en R. he estado tratando de utilizar e1071/ksvm kernlab paquete. Pero no estoy seguro de si lo estoy haciendo correctamente.
¿Hay algún ejemplo de trabajo para una clase de SVM en R?
También,
- Estoy dando una gran matriz de predictores como X. Desde su supone que es una clase, es la suposición de que todos los datos de entrenamiento me dio formas "positiva" de la clase? Si es así, no tenemos que dar las etiquetas 'Y'?
- La predicción de etiquetas da como salida son de tipo Verdadero/Falso. Así que estoy asumiendo, en Verdad es "positiva" de la clase.
Edit: instalación de código de ejemplo. Aquí probé el 60% de la 'VERDADERA' de la clase y he probado en el conjunto de datos completo.
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')