【问题标题】:Error with predict on svmRadial from caret in R从 R 中的插入符号预测 svmRadial 时出错
【发布时间】:2016-04-22 22:47:33
【问题描述】:

我正在用 R 编写电影评论的情感分析(康奈尔数据集)。我的火车数据包含 1800 行和 1096 列(unigrams、bigrams 和 trigrams)。测试数据由 200 行 1096 列组成(测试数据的特征与训练数据的特征相匹配)。我正在尝试使用 caret 包中的 svmRadial 训练模型(它又使用 kernlab 包)。训练效果很好,我还能够从模型中提取重要特征。但是当我尝试对一个新的数据集进行预测时,它给了我以下错误:

In method$predict(modelFit = modelFit, newdata = newdata, submodels = param)   :
kernlab class prediction calculations failed; returning NAs

我无法弄清楚为什么我的预测因这些测试数据而失败。 (我尝试使用 caret 中的朴素贝叶斯对此进行建模。训练和测试工作完美。)在下面添加我的代码以供参考。非常感谢任何帮助!非常感谢!

sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

//Training svm model
svm.model <- train(as.factor(label) ~., 
                data = dtm, 
                method = "svmRadial",
                preProc = c("center", "scale"),
                trControl = trainControl(method = "cv", number = 5),
                tuneLength = 8)

//prediction on test data - gives warning and returns "NA"s
svm.pred <- predict(svm.model, testData)

【问题讨论】:

  • 检查您的数据框中是否没有任何丢失的数据。

标签: r sentiment-analysis r-caret text-classification


【解决方案1】:

换行

trControl = trainControl(method = "cv", number = 5)

trControl = trainControl(method = "cv", number = 5, classProbs =  TRUE)

【讨论】:

    猜你喜欢
    • 2016-01-16
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    • 2017-12-21
    • 1970-01-01
    • 2018-10-29
    相关资源
    最近更新 更多