【问题标题】:Rpart split error: Agument split not matchedRpart拆分错误:Agument拆分不匹配
【发布时间】: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


【解决方案1】:

你没有忠实地重现这个例子。我认为你想要的是

model<-rpart(as.factor(char)~., data=train, parms=list(split = "information"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-05
    相关资源
    最近更新 更多