【问题标题】:Predict.svm function in e1071 package of RR 的 e1071 包中的 Predict.svm 函数
【发布时间】:2012-01-07 15:35:12
【问题描述】:

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

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

【问题讨论】:

标签: r


【解决方案1】:

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

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

一些解决方案包括:

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

【讨论】:

    猜你喜欢
    • 2014-08-03
    • 2011-11-15
    • 2015-06-20
    • 1970-01-01
    • 2016-06-21
    • 2013-11-04
    • 2017-08-19
    • 2016-06-23
    • 1970-01-01
    相关资源
    最近更新 更多