gpt4 book ai didi

r - 在 R 中使用 rpart() 时实际使用的字符 (0)

转载 作者:行者123 更新时间:2023-11-30 09:04:44 24 4
gpt4 key购买 nike

我正在尝试建立一个模型来确定评论是正面还是负面。我已经加载了所有数据,将其标记为数据框,其中第一列是一个因素(无论是否推荐)。

> 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$recommulated 的操作,结果相同。

当我运行我提到的指南中的示例数据时,一切都很好。但我看不出有什么区别。

最佳答案

问题出在您的rpart.control上。可能已经调整好了当您拥有包含数千个文档的完整数据集,但只有500,这些都是糟糕的选择。尝试一下

rpart.control(minsplit = 20, minbucket = 5, cp = 0.01)

你可能会 split 一些节点。我并不是说这些是不错的选择,但它们将是一个更好的起点。走着瞧吧并调整。

关于r - 在 R 中使用 rpart() 时实际使用的字符 (0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55559398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com