2016-05-24 6 views
0

私は5つのクラスを持っており、分類にはSVM(e1071パッケージ)を使用します。 SVMを使用したバイナリ分類の良い例を見ることができますが、Multiclassサポートでは、One_Vs_RestまたはOne_vs_Oneバイナリ分類子のいずれかを使用するように提案し、それらを組み合わせて最終的な予測を取得することを推奨しています。 Multiclassを直接実装していますか(どちらのアプローチでも問題ありません)利用可能ですか?R(e1071)にマルチクラスSVMを直接実装していますか

答えて

0

はい、今、私は解決策を得ました。私はRからの基本的なヘルプファイルを使い、e1071を使ってOne_vs_One Multiclassを実装しました。これは非常に短く、そこに明確なコメントが付いています。

library(xlsx) 
library(gdata) 
data(iris) 
library(e1071) 
library(caTools) 

##---------- Split the overall dataset into two parts:70% for training and 30% for testing----------- 
index_iris<-sample.split(iris$Species,SplitRatio=.7) 
trainset_iris<-iris[index_iris==TRUE,] 
testset_iris<-iris[index_iris==FALSE,] 
y <- testset_iris$Species 

##---------- Now Create an SVM Model with the training dataset-------------------- 
model <- svm(Species ~ ., data = trainset_iris) 
# print(model) 
# summary (model) 

##-------------Use the model to predict the test dataset so that we can find the accuracy of the model----- 
pred <- predict(model,testset_iris) 
table(pred, y) 

##-------------- Compute decision values and probabilities-------------- 
pred <- predict(model, testset_iris, decision.values = TRUE) 
attr(pred, "decision.values") 
関連する問題