我已经完成了 TF-IDF 并且想在插入符包 [R] 中实现模型

I have done TF-IDF and want to implement models in caret package [R]

我已经实现了这个 link 中解释的 TF-IDF 算法:https://cran.r-project.org/web/packages/text2vec/vignettes/text-vectorization.html#tf-idf

所以,分类器是这样实现的:

glmnet_classifier = cv.glmnet(x = dtm_train_tfidf, y = train[['sentiment']], 
                              family = 'binomial', 
                              alpha = 1,
                              type.measure = "auc",
                              nfolds = NFOLDS,
                              thresh = 1e-3,
                              maxit = 1e3)

x 和 y 的类型是:

> typeof(dtm_train_tfidf)
[1] "S4"
> typeof(train$setiment)
[1] "integer"

我如何使用不同的分类器,例如在 "Caret" 包中你会写:

model_svm<-train(x = dtm_train_tfidf, y = train[['sentiment']],method='svmRadial')

问题是这不起作用。 有什么方法可以实现不同的分类器而不是 cv.glmnet 例如在 caret 包中?这个输入 x,y 和插入符号分类器之间有什么联系吗?如果没有,是否有像 cv.glmnet 这样的包可以处理这种类型的输入?

dtm 是 CSC 格式的稀疏矩阵 dgCMatrix。因此,寻找可以将稀疏矩阵作为输入的包。或者您可以尝试应用降维(例如 LSA),然后将这个密集矩阵提供给 caret.