我正在执行二进制文本分类。如果是中性的,我必须将推文分类为 0,如果是仇恨言论,我必须将其分类为 1。
因此,作为一般拇指规则,我预处理了我的数据。创建术语文档频率并删除稀疏术语后,我将数据分为训练和测试。我使用随机森林和逻辑回归训练我的模型,效果很好。
set.seed(123)
tweetRand = randomForest(label ~ ., data = train_sparse, importance=TRUE, nTree=500 )
randPridct = predict(tweetRand, newdata = test_sparse)
table(test_sparse$label,randPridct >=0.5)
它在从原始内容中分离出来的测试数据上运行良好。但是当我在一个新的看不见的数据上运行它时,它会抛出一个异常。
> predicrRand_test=predict(tweetRand, newdata=sparse_4testing)
Error in eval(predvars, data, env) : object 'run' not found
我的理解是,“运行”是训练中存在的一个特征,但不存在于看不见的测试数据中,并且在我的模型训练期间,“运行”包含在 tdm 中。在 test 的预处理中, run 不在 test tdm 中。
那么我应该如何处理这些情况。我是数据科学的新手。请帮忙。