我在R创建了一个树。
rp <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis)
## coerce to `constparty'
rp.party <- as.party(rp)
现在,我想找到rp.party对象的偏差。有没有办法在没有转到rp对象的情况下这样做?
谢谢!
答案 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()