【发布时间】:2019-08-28 18:35:38
【问题描述】:
我正在尝试建立一个模型来确定评论是正面的还是负面的。我已经加载了我的所有数据,将其标记为一个数据框,如果推荐与否,第一列是一个因素。
> str(reviewtokensdf)
'data.frame': 500 obs. of 270 variables:
$ recommend : Factor w/ 2 levels "0","1": 1 2 2 1 2 2 1 2 2 2 ...
$ made : num 3 0 0 0 0 0 1 0 0 0 ...
$ site : num 1 1 0 0 0 0 0 0 0 0 ...
$ use : num 1 0 0 0 1 0 0 0 0 0 ...
$ one : num 2 1 0 0 0 0 0 0 0 0 ...
$ will : num 1 1 1 0 0 0 0 0 0 0 ...
$ make : num 2 1 0 0 1 0 0 0 0 1 ...
$ book : num 6 0 0 0 3 0 0 0 0 0 ...
$ place : num 3 0 0 0 0 1 0 0 0 0 ...
$ stay : num 1 0 0 0 0 0 0 0 0 0 ...
$ night : num 1 0 0 2 0 0 0 0 0 1 ...
$ arriv : num 1 0 0 0 1 0 0 0 0 0 ...
$ small : num 1 0 0 0 0 0 0 0 0 0 ...
$ floor : num 1 0 0 3 0 0 1 0 0 0 ...
现在我一直使用较小的子集 (n=500) 仅用于测试目的,但这应该不是问题。 我一直在广泛使用这个( https://medium.com/analytics-vidhya/customer-review-analytics-using-text-mining-cd1e17d6ee4e) 指导教程,但我一直遇到这个问题:
当我使用此代码时:
tree = rpart(formula = recommend ~ ., data = reviewtokensdf, method="class",control = rpart.control(minsplit = 200, minbucket = 30, cp = 0.0001))
printcp(tree)
我希望在“树构造中实际使用的变量:”部分中至少看到一些单词,但它一直保持为 0,我不知道为什么。
Classification tree:
rpart(formula = recommend ~ ., data = reviewtokensdf, method = "class",
control = rpart.control(minsplit = 200, minbucket = 30, cp = 1e-04))
Variables actually used in tree construction:
character(0)
Root node error: 40/500 = 0.08
n= 500
CP nsplit rel error xerror xstd
1 0 0 1 0 0
我尝试将 rpart 参数分解为基础知识(因此取消 rpart.control 等),而不是骰子。我在公式字段中尝试了 reviewtokensdf$recommended 之类的东西,结果相同。
当我运行我提到的指南中的示例数据时,一切都很好。但我看不出有什么不同。
【问题讨论】:
标签: r machine-learning rpart