我使用 rpart 包进行决策树分类。我有一个包含大约4000个功能(列)的数据框。我想将rpart()
中的所有功能用于我的模型。我怎样才能做到这一点?基本上,rpart()
会要求我以这种方式使用该功能:
dt <- rpart(class ~ feature1 + feature2 + ....)
我的功能是文档中的文字,所以我有超过4k的功能。每个功能都由一个单词表示。是否有可能在不编写所有功能的情况下使用它们?
答案 0 :(得分:7)
我明白了:
dt <- rpart(class ~ ., data)
&#34;&#34;代表所有功能。
答案 1 :(得分: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'
随机森林。