R的e1071包中的Predict.svm函数

时间:2011-11-28 03:58:54

标签: r

我正在使用s的e1071软件包中的svm函数。使用svm函数我的数据可以获得74%的准确度,但是当我尝试将预测函数用于测试数据集时,它会返回所有的两个类别之一中的数据,另一个中显示0。这就是代码的样子

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

1 个答案:

答案 0 :(得分:1)

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

假设您在0级中有100个样本,在1级中有1个样本。在某些情况下,最好的解决方案是将每个新示例放在0级中。

一些解决方案包括:

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