如何找到R中从rpart树转换的as.party对象的偏差?

时间:2015-04-08 20:24:30

标签: r rpart party

我在R创建了一个树。

rp <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)

## coerce to `constparty'
rp.party <- as.party(rp)

现在,我想找到rp.party对象的偏差。有没有办法在没有转到rp对象的情况下这样做?

谢谢!

1 个答案:

答案 0 :(得分:0)

constparty中的partykit个对象目前没有deviance()方法,因为它们不假设正式模型。该方法完全是非参数的。 (基于模型的glmtree()对象确实提供了deviance()方法。)但是,在某些情况下它可能很有用......我将与Torsten讨论是否应该为{{1}添加它也是。

在任何情况下,“手动”为您的示例设置二项式偏差并不是很困难。 constparty方法提供预测的节点ID和观察到的响应。 fitted()方法产生预测的概率。通过这两条信息,您可以直接计算偏差:

predict(..., type = "prob")

或者您可以使用obs <- fitted(rp.party)[, "(response)"] pred <- predict(rp.party, type = "prob") -2 * sum(log(pred[cbind(1:nrow(pred), as.numeric(obs))])) ## [1] 46.90789 在每个终端节点重新调整常量,并从中提取glm()

deviance()