我将尝试从一个PMML文件中重新创建R的SVM对象,但是我在理解R如何存储alpha系数方面遇到了麻烦。我目前正在使用鸢尾花数据集进行测试,并使用以下命令生成了一个R SVM对象。
library(e1071)
data(iris)
model<-svm(Species~.,data=iris)
我正在使用命令查看其系数
model$coefs
为了获得以下结果
[,1] [,2]
[1,] 0.0890967 0.00000000
[2,] 0.0000000 0.14547777
[3,] 0.8651998 0.94869969
[4,] 0.0000000 0.13152589
[5,] 0.0000000 0.27612243
[6,] 0.8421469 0.45912899
[7,] 0.4785865 0.00000000
[8,] 1.0000000 1.00000000
[9,] -0.4941407 1.00000000
[10,] 0.0000000 1.00000000
[11,] 0.0000000 0.63848160
[12,] 0.0000000 1.00000000
[13,] 0.0000000 1.00000000
[14,] -0.5471576 0.00000000
[15,] 0.0000000 0.52796849
[16,] -0.3772321 0.49504241
[17,] 0.0000000 1.00000000
[18,] 0.0000000 1.00000000
[19,] -0.1146136 1.00000000
[20,] 0.0000000 1.00000000
[21,] 0.0000000 1.00000000
[22,] 0.0000000 1.00000000
[23,] 0.0000000 1.00000000
[24,] 0.0000000 1.00000000
[25,] 0.0000000 1.00000000
[26,] 0.0000000 1.00000000
[27,] -0.7418858 0.10024212
[28,] 0.0000000 1.00000000
[29,] 0.0000000 0.60104219
[30,] -1.0000000 0.00000000
[31,] -0.8335805 -1.00000000
[32,] 0.0000000 -0.05538514
[33,] 0.0000000 -1.00000000
[34,] 0.0000000 -1.00000000
[35,] -0.6171002 0.00000000
[36,] -0.3564736 -1.00000000
[37,] 0.0000000 -1.00000000
[38,] 0.0000000 -1.00000000
[39,] 0.0000000 -1.00000000
[40,] 0.0000000 -1.00000000
[41,] 0.0000000 -1.00000000
[42,] 0.0000000 -1.00000000
[43,] -0.6609450 -0.78275762
[44,] 0.0000000 -1.00000000
[45,] 0.0000000 -1.00000000
[46,] 0.0000000 -1.00000000
[47,] 0.0000000 -1.00000000
[48,] 0.0000000 -0.52463404
[49,] 0.0000000 -1.00000000
[50,] -0.4928554 0.00000000
[51,] 0.0000000 -1.00000000
据我理解,有51个支持向量,由于R使用一对一的多类SVM,因此实际上有三个分类器(山鸢尾v. 变色鸢尾,山鸢尾v. 维吉尼亚变色鸢尾和变色鸢尾v. 维吉尼亚变色鸢尾),每个分类器都使用其中的一部分向量。 我如何知道此coefs列表中的哪些系数对应于哪个分类器(以及每个分类器使用哪些支持向量)?
我看到model$nSV告诉您每个分类器中有多少个支持向量,但它并没有指定哪些支持向量实际上是分类器的一部分。 预先感谢您的帮助。
iris.norm = iris[, c('Petal.Length', 'Petal.Width')]
是吗? - chan1142iris.norm = iris[, c('Petal.Length', 'Petal.Width')]
是吗? - undefined