2011-11-28 133 views
0

我在R的e1071软件包中使用了svm函数。使用svm函数我的数据可以达到74%的准确度,但是当我尝试使用预测函数一个测试数据集,它返回两个类别中的一个中的所有数据,并在另一个中显示0。这就是代码的样子e1071软件包中的Predict.svm函数R

test <- read.table(file.choose(), header=T) 
pred <- predict(modelb, test) 
summary(pred) 
0 1 
101 0 
+5

请更新您的问题,结合此问题中提供的提示:http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example。 – Chase

回答

1

其中一种可能性是您的训练数据集不平衡。

假设你已经在0级样品和1个样品中1类在某些情况下为100,最好的解决办法是通过把每一个新的例子在课堂上给出0

一些解决方案包括:

  1. 在平衡数据集上工作
  2. 为类分配不同的权重。我使用kernlab包,但代码没有那么不同,我认为在计算模型时应该有一个选项class.weight。