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决策树分数[重复]的主要内容,如果未能解决你的问题,请参考以下文章
获取 R 中 rpart/ctree 包的每一行预测数据集的决策树规则/路径模式
R语言使用rpart包构建决策树模型选择合适的树大小(复杂度)检查决策树对象的cptable内容(树的大小由分裂次数定义预测误差)使用plotcp函数可视化决策树复杂度参数与交叉验证错误的关系