R中支持向量机的一类分类

R中支持向量机的一类分类,r,classification,svm,libsvm,R,Classification,Svm,Libsvm,为了构建一个单类SVM模型,我在R中使用了e1071包。我不知道如何做到这一点,我也没有在互联网上找到任何例子 是否有人能给出一个示例代码来描述“iris”数据集中具有一类分类模型的“setosa”类,然后测试同一数据集中的所有示例(以检查哪些示例属于“setosa”类的特征,哪些示例不属于该类)?我想这就是您想要的: library(e1071) data(iris) df <- iris df <- subset(df , Species=='setosa') #choos

为了构建一个单类SVM模型,我在R中使用了e1071包。我不知道如何做到这一点,我也没有在互联网上找到任何例子


是否有人能给出一个示例代码来描述“iris”数据集中具有一类分类模型的“setosa”类,然后测试同一数据集中的所有示例(以检查哪些示例属于“setosa”类的特征,哪些示例不属于该类)?

我想这就是您想要的:

library(e1071)
data(iris)
df <- iris

df <- subset(df ,  Species=='setosa')  #choose only one of the classes

x <- subset(df, select = -Species) #make x variables
y <- df$Species #make y variable(dependent)
model <- svm(x, y,type='one-classification') #train an one-classification model 


print(model)
summary(model) #print summary

# test on the whole set
pred <- predict(model, subset(iris, select=-Species)) #create predictions
-预测(此处仅显示部分预测(其中物种=='setosa'),用于视觉原因):


一点精确的代码:train=78.125 test=91.53:

库(e1071)
图书馆(插入符号)
图书馆(NLP)
图书馆(tm)
数据(iris)
虹膜$SpeciesClass[虹膜$Species==“versicolor”]
库(e1071)
图书馆(插入符号)
图书馆(NLP)
图书馆(tm)
数据(iris)

iris$SpeciesClass[iris$Species==“versicolor”]非常感谢您提供的非常详细的代码,但我认为一个类的分类是不同的。在一个类分类中,您只提供其中一个类的示例来训练SVM。模型只学习描述此类(在测试阶段,您只能知道示例是否属于此类)。我知道我必须在功能支持向量机中使用选项tpye=one分类,但我不知道该怎么做。我现在明白了。我更新了答案。这就是您需要的:)。希望对您有所帮助,并感谢您之前的评论。@dreamscollector,您不是在询问使用该模型对其余虹膜类型的分类吗?也就是说,@LyzandeR,你的预测不应该是
predict(model,subset(iris,select=-Species))
?@goan如果你是对的,最后一行代码中有一个错误。就像你一样mentioned@dreamscollector最好在这种情况下对评论进行投票:-请考虑给你的答案增加一些解释。
> summary(model)

Call:
svm.default(x = x, y = y, type = "one-classification")


Parameters:
   SVM-Type:  one-classification 
 SVM-Kernel:  radial 
      gamma:  0.25 
         nu:  0.5 

Number of Support Vectors:  27




Number of Classes: 1
> pred
    1     2     3     4     5     6     7     8     9    10    11    12    13    14    15    16    17    18    19    20    21    22 
 TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE  TRUE 
   23    24    25    26    27    28    29    30    31    32    33    34    35    36    37    38    39    40    41    42    43    44 
FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE 
   45    46    47    48    49    50 
FALSE  TRUE  TRUE  TRUE  TRUE  TRUE