我是R和机器学习的新手。我正在编写一个非常简单的R脚本(使用RTextTools包)并出现一些错误。
这是一个非常简单的脚本,我尝试使用RTextTool训练模型,然后创建一个单独的矩阵和容器来预测使用模型。 我在预测期间得到了以下错误。
result_model = classify_model(test.container,train.model) predict.svm中的错误(model,container @ classification_matrix,prob = TRUE,: 测试数据与模型不匹配!
#Load libraries
library(RTextTools)
#Settings options
options(stringsAsFactors =FALSE)
#Load the CSV
train.data=read.csv("testdata.csv")
train.matrix <- create_matrix(train.data[,c("Title")],
language="english", removeNumbers=TRUE, stemWords=FALSE, weighting=weightTfIdf)
train.container <- create_container(train.matrix,train.data$AreaPath,
trainSize=1:nrow(train.data), virgin=FALSE)
train.model <- train_model(train.container, algorithm=c("SVM"))
test.data= "foo bar"
test.matrix <- create_matrix(test.data,
language="english", removeNumbers=TRUE, stemWords=FALSE)
test.container <- create_container(test.matrix, NULL,
testSize=1,
virgin=FALSE)
result_model = classify_model(test.container, train.model)
以下是testdata.csv的内容
ID,标题,AreaPath
1,Abcd pqr,A
2,Lmnop xyz,B
3,FOO,A
答案 0 :(得分:1)
我得到了我的错误。 classify_model要求test.data中有两行。 解决方案是创建一个包含两行的data.matrix,它将起作用。 如果您需要帮助,请告诉我,我可以稍后在此处添加代码。