如何使用 rpart 中的所有功能?
Posted
技术标签:
【中文标题】如何使用 rpart 中的所有功能?【英文标题】:How to use all features in rpart? 【发布时间】:2014-11-18 03:13:11 【问题描述】:我正在使用 rpart 包进行决策树分类。我有一个包含大约 4000 个特征(列)的数据框。我想为我的模型使用rpart()
中的所有功能。我怎样才能做到这一点?基本上rpart()
会要求我这样使用函数:
dt <- rpart(class ~ feature1 + feature2 + ....)
我的特征是文档中的单词,所以我有超过 4k 个特征。每个特征都用一个词来表示。有没有可能在不编写它们的情况下使用所有功能?
【问题讨论】:
【参考方案1】:caret
库非常有用,因为您可以轻松应用不同的模型并比较它们的性能。它可以调用rpart
,但使用稍微不同的语法来包含所有功能。
library(caret)
library(data.table)
mt <- data.table(mtcars)
tr <- train(x=mt[,-'hp', with=FALSE], y = mt[, hp], method='rpart')
plot(tr$finalModel)
text(tr$finalModel)
将所有 4000 个特征用于决策树可能会导致过度拟合,尤其是在您的观察数量不多的情况下。 Caret
提供内置的交叉验证。您可能还想查看 model='rf'
的随机森林。
【讨论】:
【参考方案2】:我想通了:
dt <- rpart(class ~ ., data)
“。”代表所有特征。
【讨论】:
以上是关于如何使用 rpart 中的所有功能?的主要内容,如果未能解决你的问题,请参考以下文章