Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R e1071支持向量机模型推特分类_R_Svm - Fatal编程技术网

R e1071支持向量机模型推特分类

R e1071支持向量机模型推特分类,r,svm,R,Svm,我一直在使用e1071库对文本进行分类。我已经能够使用NB算法,但难以应用SVM。 我一直在跟着导游 该站点有一段代码没有解释对象类型,也没有解释我如何在自己的代码中得到它 > svm > svm.model <- svm(Type ~ ., data = trainset, cost = 100, gamma = 1) > svm.pred <- predict(svm.model, testset[,-10]) >支持向量机 >svm.model svm.pr

我一直在使用e1071库对文本进行分类。我已经能够使用NB算法,但难以应用SVM。 我一直在跟着导游

该站点有一段代码没有解释对象类型,也没有解释我如何在自己的代码中得到它

> svm
> svm.model <- svm(Type ~ ., data = trainset, cost = 100, gamma = 1)
> svm.pred <- predict(svm.model, testset[,-10])
>支持向量机

>svm.model svm.pred
Type~。
是一个将模型定义为“列类型中的值取决于所有其他列中的值”的公式。我们没有访问您的数据文件,所以让我们考虑内置数据集<代码> IRIS<代码>:< /P>
head( iris )   ## Look at the first few rows of the data
#   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1          5.1         3.5          1.4         0.2  setosa
# 2          4.9         3.0          1.4         0.2  setosa
# 3          4.7         3.2          1.3         0.2  setosa
# ...
假设我想根据所有其他列中的值预测列
Species
中的值。我可以将相应的模型定义为
Species~。
。或者,如果我只想使用一些列,我会将它们放在
~
的右侧。例如,
Species~sepa.Length+Petal.Length
将仅使用
*Length

现在我有了我的数据集和公式,我可以使用您在答案中提供的代码来训练我的SVM

myModel <- e1071::svm( Species ~ ., data = iris )
最后,请注意,
svm
函数有一种提供数据/标签的替代方法(请参阅
?e1071::svm
)。以下是培训模型的等效方法:

e1071::svm( iris[,1:4], iris[,5] )  # Predict Column 5 values from Column 1:4 values

是的,
类型
是您试图预测的。它应该是data.frame中作为
data
参数提供的一列。更具体地说,
Type~。
是一个公式,基本上是说“使用所有其他列中的值预测
Type
列中的值”。感谢您的回复。我尝试采纳您的建议,在读取csv时添加header=TRUE,然后为我要使用的第一列创建变量df[,c(col1)],但仍然收到错误消息。您能否进一步说明我应该如何在data.frame中创建列,或者我是否需要更改读取数据、frame的csv的方法?我们无法访问您的数据,因此不可能说出发生了什么问题。有关内置数据集的演示,请参见下面的答案。
predict( myModel, iris )
#           1          2          3          4          5          6          7
#      setosa     setosa     setosa     setosa     setosa     setosa     setosa
#           8          9         10         11         12         13         14
#      setosa     setosa     setosa     setosa     setosa     setosa     setosa
# ...
e1071::svm( iris[,1:4], iris[,5] )  # Predict Column 5 values from Column 1:4 values