【发布时间】:2023-03-18 19:30:01
【问题描述】:
我一直在使用 e1071 库对文本进行分类。我已经能够使用 NB 算法,但很难应用 SVM。 我一直在关注Cran website的指南
该网站有一段代码没有解释对象类型以及我如何为自己的代码获取它。
> svm
> svm.model <- svm(Type ~ ., data = trainset, cost = 100, gamma = 1)
> svm.pred <- predict(svm.model, testset[,-10])
我的代码:
library(e1071)
library(dplyr)
library(caret)
library(rpart)
df<- read.csv("C:/Users/Suki/Projects/RProject/tweets.csv", stringsAsFactors = FALSE)
trainSVM <- apply(dtm.train.svm, 2, convert_count)
testSVM <- apply(dtm.test.svm, 2, convert_count)
svm.model <- svm(Type~., data = trainSVM, cost = 100, gamma = 1)
svm.pred <- predict(svm.model, testSVM)
我找不到解释,但看到了另一个类似的例子。我是否相信“类型”是我希望 SVM 模型预测的?正如我到目前为止所做的那样,我不确定如何为 SVM 模型提供这些信息。
感谢您的时间和帮助。
【问题讨论】:
-
是的,
Type就是您要预测的内容。它应该是您作为data参数提供的data.frame 中的一列。更具体地说,Type ~ .是一个公式,基本上说“预测列Type中的值,使用所有其他列中的值”。 -
感谢您的回复。我尝试通过在读取 csv 时添加 header = TRUE 并为我要使用的第一列创建变量 df[,c(col1)] 来听取您的建议,但我仍然收到错误消息。您能否进一步详细说明我应该如何在 data.frame 中创建列,或者我是否需要更改读取数据帧 csv 的方法?
-
我们无权访问您的数据,因此无法说出问题所在。有关内置数据集的演示,请参阅下面的答案。