6

我正在使用rpart包进行决策树分类。我有一个包含大约 4000 个特征(列)的数据框。我想rpart()为我的模型使用所有功能。我怎样才能做到这一点?基本上,rpart()会要求我以这种方式使用该功能:

dt <- rpart(class ~ feature1 + feature2 + ....)

我的特征是文档中的单词,所以我有超过 4k 的特征。每个特征都用一个词来表示。有没有可能在不编写它们的情况下使用所有功能?

4

2 回答 2

7

我想到了:

dt <- rpart(class ~ ., data)

“。” 代表所有特征。

于 2014-09-23T19:53:11.033 回答
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'随机森林。

于 2015-12-19T04:00:32.227 回答