首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持向量机e1071训练不起作用

支持向量机e1071训练不起作用
EN

Stack Overflow用户
提问于 2013-07-25 10:31:24
回答 1查看 4.9K关注 0票数 1

我正在玩R语言的支持向量机。具体来说,我使用的是e1071包。

只要我遵循维基百科的手册页或教程,一切都能工作。但是如果我尝试在这些例子中使用我自己的数据集,事情就不再那么好了。

似乎模型创建由于某种原因而失败了。至少我没有得到目标列上的级别。下面是需要澄清的例子。

也许有人能帮我找出我在这里做错了什么。这是所有的代码和数据。

测试数据集

代码语言:javascript
复制
target,col1,col2
0,1,2
0,2,3
0,3,4
0,4,5
0,5,6
0,1,2
0,2,3
0,3,4
0,4,5
0,5,6
0,1,2
0,2,3
0,3,4
0,4,5
1,6,7
1,7,8
1,8,9
1,9,0
1,0,10
1,6,7
1,7,8
1,8,9
1,9,0
1,0,10
1,6,7
1,7,8
1,8,9
1,9,0
1,0,10

R-脚本

代码语言:javascript
复制
library(e1071)

dataset <- read.csv("test.csv", header=TRUE, sep=',')

tuned <- tune.svm(target~., data = dataset, gamma = 10^(-6:-1), cost = 10^(-1:1))

summary(tuned)

model  <- svm(target~., data = dataset, kernel="radial", gamma=0.001, cost=10)

summary(model)

摘要(模型)语句的输出

代码语言:javascript
复制
+ summary(model)

Call:
svm(formula = target ~ ., data = dataset, kernel = "radial", gamma = 0.001, 
    cost = 10)

Parameters:
   SVM-Type:  eps-regression 
 SVM-Kernel:  radial 
       cost:  10 
      gamma:  0.001 
    epsilon:  0.1 

Number of Support Vectors:  28
>

维基百科的例子--

如果我将此输出与wikibooks示例的输出进行比较,它将丢失一些信息。请注意输出中的“级别”-Section:

代码语言:javascript
复制
library(MASS)
library(e1071)
data(cats)
model  <- svm(Sex~., data = cats)
summary(model)

输出

代码语言:javascript
复制
> summary(model)

Call:
svm(formula = Sex ~ ., data = cats)

Parameters:
   SVM-Type:  C-classification 
 SVM-Kernel:  radial 
       cost:  1 
      gamma:  0.5 

Number of Support Vectors:  84

 ( 39 45 )

Number of Classes:  2 

Levels: 
 F M
EN

回答 1

Stack Overflow用户

发布于 2013-07-25 20:47:06

把罗兰的答案按正确的“答案”格式写成:

target是数字的

sex是一个因素

让我再提几点建议:

  • 似乎target确实应该是一个因素。(它只有两个级别,0& 1,我怀疑你试图将其分类为0或1。)所以,把dataset$target <- factor(dataset$target)放在某个地方。
  • 现在,因为target是一个数字,所以正在运行一个回归模型,而不是一个分类。
  • 在运行模型(特别是模型)之前,对任何变量进行类似的检查是值得的。例如,在您给出的情况下,col1col2是什么并不明显。如果它们中的任何一种是分组或分类,您也应该使它们成为因素。
    • 在R中,许多函数有多种运行方式,这取决于输入给它们的数据类型。如果将因素输入到模型中,它将运行分类。如果你输入数字,回归。实际上,这在许多编程语言中都很常见,称为功能过载

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17855531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档