J48 partykit 访问平面列表
J48 partykit access flat list
我想访问 party
object 的平面列表表示中的各个节点。也就是说,我想获得一个节点、它的拆分和孩子以及任何其他属性。我是 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
谢谢
在 partykit
中只有 as.list()
方法用于 partynode
对象,而不是用于整个 party
对象。前者只包含递归列表节点ID、变量ID、拆分等。所有实际变量名称、数据、拟合值等都没有存储在partynode
中,而是存储在party
中。
因此,as.list(j48_party)
实际上不会生成平面列表,但它 returns j48_party
对象 "as is" 因为它在内部是一个列表(包含 node
、data
、fitted
、terms
,等等)。
所以只能为 as.list(j48_party$node)
生成平面列表,但我想这不会有您要查找的信息。 nodeapply()
可能会帮助您获得您想要的...或插图中的其他一些示例。
我想访问 party
object 的平面列表表示中的各个节点。也就是说,我想获得一个节点、它的拆分和孩子以及任何其他属性。我是 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
谢谢
在 partykit
中只有 as.list()
方法用于 partynode
对象,而不是用于整个 party
对象。前者只包含递归列表节点ID、变量ID、拆分等。所有实际变量名称、数据、拟合值等都没有存储在partynode
中,而是存储在party
中。
因此,as.list(j48_party)
实际上不会生成平面列表,但它 returns j48_party
对象 "as is" 因为它在内部是一个列表(包含 node
、data
、fitted
、terms
,等等)。
所以只能为 as.list(j48_party$node)
生成平面列表,但我想这不会有您要查找的信息。 nodeapply()
可能会帮助您获得您想要的...或插图中的其他一些示例。