我需要训练一个模型,该模型将对文本数据执行多标签多类分类。
目前,我在 R 中使用 mlr 包。但不幸的是,由于在训练模型之前出现错误,我没有继续进行。
更具体地说,我被困在这个地方:
classify.task = makeMultilabelTask(id = "classif", data = termsDf, target =target)
并且,得到了这个错误
makeMultilabelTask(id = "classif", data = termsDf, target = target) 中的错误:'data' 断言失败:列必须根据 R 的变量命名约定命名,并且不得包含特殊字符。
我使用了这个例子: - 在 R 中使用 mlr 包进行多标签文本分类
这是我目前使用的完整代码片段,
tm <- read.csv("translate_text_V02.csv", header = TRUE,
stringsAsFactors = FALSE, na.strings = c("", "NA"))
process <- tm[, c("label", "text")]
process <- na.omit(process)
docs <- Corpus(VectorSource(process$text))
clean_corpus <- function(corpus){
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, removeNumbers)
corpus <- tm_map(corpus, content_transformer(tolower))
corpus <- tm_map(corpus, removeWords, mystopwords)
corpus <- tm_map(corpus, removeWords, stopwords("SMART"))
corpus <- tm_map(corpus, removeWords, stopwords("german"))
corpus <- tm_map(corpus, stripWhitespace)
corpus <- tm_map(corpus, stemDocument, language = "english")
return(corpus)
}
clean_corp <- clean_corpus(docs)
terms <-DocumentTermMatrix(clean_corp)
m <- as.matrix(terms)
m <- cbind(m,process$label)
termsDf <- as.data.frame(m)
target <- unique(termsDf[,2628]) %>% as.character() %>% sort()
classify.task = makeMultilabelTask(id = "classif", data = termsDf, target =target)
我在带有标签类的文档术语矩阵之后创建了数据框。但我被困在后记我该如何进一步进行机器学习部分?
善意回答的问题:-
- 如何进一步创建 DocumentTermMatrix?
- 如何在这个特定的数据集上应用随机森林算法?