Rpart R决策树分数[重复]

Posted

技术标签:

【中文标题】Rpart R决策树分数[重复]【英文标题】:Rpart R Decision Tree Score [duplicate] 【发布时间】:2021-05-30 04:07:26 【问题描述】:

在使用 SkLearn 的 Python 中,您可以使用以下方法在决策树上创建和接收分数:

tr = tree.DecisionTreeClassifier(random_state=rseed, min_samples_split=2, ccp_alpha=0.005)
model_tree = tr.fit(train_features, train_outputs)

print(f'Model Train Accuracy: model_tree.score(train_features, train_outputs)')
print(f'Model Test Accuracy: model_tree.score(test_features, test_outputs)')

以上产生

Model Train Accuracy: 0.5942
Model Test Accuracy: 0.4933

如何使用 R 的 Rpart 在 R 中(在训练和测试数据上)获得相似的分数?

【问题讨论】:

看看Calculating prediction accuracy of a tree using rpart 【参考方案1】:

简而言之:

    如下图计算错误率 确保在python和R中使用相同的参数和控制参数(见https://www.rdocumentation.org/packages/rpart/versions/4.1-15/topics/rpart.control)
model_tree <- rpart(Response ~ Predictor1 + PredictorX,
                    data = train, method = "class",
                    control = list(cp = 0.005, minsplit = 2, ...))

pred_train <- predict(model_tree, type = "class")
pred_test <- predict(model_tree, newdata = test, type = "class")

# error rate / accuracy (train set)
mean(pred_train != train$Response)

# error rate / accuracy (test set)
mean(pred_test != test$Response)

【讨论】:

以上是关于Rpart R决策树分数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

rpart 不在 R 中创建决策树,SVM 有效

获取 R 中 rpart/ctree 包的每一行预测数据集的决策树规则/路径模式

重复行如何影响决策树?

R语言使用rpart包构建决策树模型选择合适的树大小(复杂度)检查决策树对象的cptable内容(树的大小由分裂次数定义预测误差)使用plotcp函数可视化决策树复杂度参数与交叉验证错误的关系

如何使用rpart或party包过滤R中决策树中的自变量

使用 rpart 生成 sankey 图的决策树