Partykit glmtree: отображать ошибку в сводке дерева

Я построил glmtree и хочу, чтобы ошибка отображалась как в сводке дерева, так и в графике.

Мне удалось отобразить ошибку на графике plot(output_tree, type="simple")

но как отображать ошибку в сводке моего дерева: в моем дереве есть только перехват, но нет ошибки

выход


person Tilly Tan    schedule 01.12.2016    source источник


Ответы (1)


Если glmtree оснащен только перехватом, то его можно привести к дереву константной подгонки (класс constparty). По умолчанию показаны коэффициенты, чтобы подчеркнуть, что модель строится в каждом листе. Но если есть только перехват, то также имеет смысл суммировать дерево с постоянной подогнанной долей отклика.

Подготовьте данные Titanic:

data("Titanic", package = "datasets")
ttnc <- as.data.frame(Titanic)
ttnc <- ttnc[rep(1:nrow(ttnc), ttnc$Freq), 1:4]

Соответствуйте биномиальному GLM-дереву только с перехватом:

library("partykit")
tr <- glmtree(Survived ~ ., data = ttnc, family = binomial, alpha = 0.01)

Принуждение к constparty:

tr <- as.constparty(tr)
tr
## Model formula:
## Survived ~ 1 + (Class + Sex + Age)
## 
## Fitted party:
## [1] root
## |   [2] Sex in Male
## |   |   [3] Class in 1st: No (n = 180, err = 34.4%)
## |   |   [4] Class in 2nd, 3rd, Crew
## |   |   |   [5] Age in Child
## |   |   |   |   [6] Class in 2nd: Yes (n = 11, err = 0.0%)
## |   |   |   |   [7] Class in 3rd: No (n = 48, err = 27.1%)
## |   |   |   [8] Age in Adult
## |   |   |   |   [9] Class in 2nd, 3rd: No (n = 630, err = 14.1%)
## |   |   |   |   [10] Class in Crew: No (n = 862, err = 22.3%)
## |   [11] Sex in Female
## |   |   [12] Class in 3rd: No (n = 196, err = 45.9%)
## |   |   [13] Class in 1st, 2nd, Crew: Yes (n = 274, err = 7.3%)
## 
## Number of inner nodes:    6
## Number of terminal nodes: 7
person Achim Zeileis    schedule 04.12.2016