我需要训练一个可以对文本数据执行多标签多类分类的模型。
目前,我在R中使用mlr包。但不幸的是,由于我在训练模型之前得到的错误,我没有继续前进。
更具体地说,我被困在这个地方:
classify.task = makeMultilabelTask(id = "classif", data = termsDf, target =target)
并且,出现了此错误
makeMultilabelTask出错(id =" classif",data = termsDf,target = target): 断言'数据'失败:列必须根据R的变量命名约定命名,并且可能不包含特殊字符。
我用过这个例子: - Multi-label text classification using mlr package in R
以下是我目前使用的完整代码段
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)
我在带有标签类的Document term matrix之后创建了数据框。但我之后如何进一步了解机器学习部分?
有关答案的问题: -