我是R的新手,并为文档分类制作了简单的SVM模型 .

library(tm)
library(e1071) 

# my sample data
texts <-c("soccer",
          "games",
          "basketball",
          "games games games games")    

categories <- c("sports","e-sports", "sports", "e-sports")

# my sample dtm
dtm <- DocumentTermMatrix(Corpus(VectorSource(texts)))

df <- data.frame(categories, as.data.frame(inspect(dtm)))

# model based on sample data
model <- svm(categories~., data=df)

# new data to be classified 
new <- c("soccer basketball games games games games")

dtm_n <- DocumentTermMatrix(Corpus(VectorSource(new)) )

inspect(dtm_n)

df_n <- as.data.frame(inspect(dtm_n))

# doing the prediction
predict(model, df_n)

假设我已经制作了这个简单的svm模型,并使用这个模型来预测另一个随机文档 . 如果我跑了,我明白了

df_n <- as.data.frame(inspect(dtm_n))
<<DocumentTermMatrix (documents: 1, terms: 3)>>
Non-/sparse entries: 3/0
Sparsity           : 0%
Maximal term length: 10
Weighting          : term frequency (tf)
Sample             :
    Terms
Docs basketball games soccer
   1          1     4      1
> 
> predict(model, df_n)
     1 
sports 
Levels: e-sports sports

不确定它是如何结束这个结果的 .

根据wikepedia的说法,svm就像给定一组训练样例一样,每个训练样例都标记为属于两个类别中的一个或另一个,SVM训练算法构建一个模型,为一个类别或另一个类别分配新的例子 .

然后,就我而言,我如何构建训练算法?是否有一个好地方可以看到模型在R中实际设置和处理的方式?或者你能给我一个关于svm /预测过程的简短解释吗?

如果有人可以帮助我走上正轨,请给我一个建议 .

感谢您阅读本文,并希望您度过美好的一天 .