【问题标题】:J48 partykit access flat listJ48 partykit 访问平面列表
【发布时间】:2016-01-25 19:19:56
【问题描述】:

我想访问party 对象的平面列表表示中的各个节点。也就是说,我想获得一个节点,它的分裂和孩子以及任何其他属性。我是partykit 的新手(刚刚开始探索)所以不确定我做错了什么。

require("partykit")
require("RWeka")
data("PimaIndiansDiabetes", package = "mlbench")
j48 <- J48(diabetes ~ ., data=PimaIndiansDiabetes)
j48_party <- as.party(j48)
j48_party_list <- as.list(j48_party)
j48_party_list[1:3]
## Error: length(i) == 1 & is.numeric(i) is not TRUE

谢谢

【问题讨论】:

    标签: r party


    【解决方案1】:

    partykit 中,只有as.list() 方法用于partynode 对象,但没有用于整个party 对象。前者只包含一个递归列表节点ID、变量ID、splits等。所有实际的变量名、数据、拟合值等都不是存储在partynode而是party中。

    因此,as.list(j48_party) 实际上不会生成平面列表,但它会“按原样”返回 j48_party 对象,因为它在内部是一个列表(包含 nodedatafitted、@ 987654332@等)。

    因此只能为as.list(j48_party$node) 生成平面列表,但我想这不会包含您要查找的信息。可能,nodeapply() 将帮助您获得您想要的……或小插图中的其他一些示例。

    【讨论】:

    • 谢谢。 vignette("constparty", package = "partykit") 非常有用!
    猜你喜欢
    • 2016-02-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    相关资源
    最近更新 更多