【发布时间】:2017-04-24 09:08:46
【问题描述】:
我想将rpart函数中的拆分方式从“gini”(默认)改为“information”。
在帮助部分我们有这个例子:
fit2 <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis,
parms = list(prior = c(.65,.35), split = "information"))
在method 参数详细信息中,我们有:
“或者,方法可以是名为 init、split 和 eval 的函数列表。示例在源文件中的“tests/usersplits.R”和小插图“用户编写的拆分函数”中给出。
在parms 参数详细信息中:
“分裂指数可以是gini,也可以是信息,默认先验与数据个数成正比,loss默认为1,split默认gini。”
当我尝试创建模型时:
model<-rpart(as.factor(char)~., data=train, split = "information")
Error: ***Argument split not matched***
我发现这个(以及大部分)R 帮助部分不是很清楚。 显然我没有 information 选项。我应该在之前定义拆分函数然后构建我的模型吗?或者也输入概率向量?如何使用示例中的 信息?
【问题讨论】:
-
如果您将代码行缩进 4 个空格,它们将正确格式化。
-
这是一个相当清晰的错误信息。您试图给
rpart一个名为split的参数,而帮助页面上没有这样的参数。参数部分左侧的项目可以作为参数给出。或者,如果您决定使用“三点”机制,您可以查看 rpart.control 的 Arguments 部分,该部分也没有列出拆分参数。您在示例中看到的split只是parms列表中的一个元素。
标签: r machine-learning split rpart gini