сглаживание выходов случайного леса - PullRequest
0 голосов
/ 27 сентября 2019

Случайные леса могут давать ошибочные результаты, которые могут нарушать основные реальности.Есть ли способ сгладить выходные данные модели случайного леса, чтобы обеспечить монотонное уменьшение / увеличение по сравнению с некоторыми IV?Я знаю о некоторых ANN и даже случайных лесных пакетах (например, RBorist ), которые пытаются обеспечить монотонность.Однако они либо не масштабируются и / или не обеспечивают монотонность на глобальном уровне (например, RBorist ).

Мне интересно, есть ли какая-нибудь умная постобработка / моделирование поверх выходовРФ можно было бы применить?Это попытка создать реплицируемый пример:

haves <- data.frame(
    x1 = c(1,1,1,1,1,2,2,2,2,2)
    ,x2 = c(1,2,3,4,5,1,2,3,4,5)
    ,y  = c(10,9,8,9,7,11,10,9,10,8)
) 

Здесь y должно монотонно увеличиваться с увеличением x1 и монотонно уменьшаться с x2.Возможный пример «хочет»:

wants <- data.frame(
    x1 = c(1,1,1,1,1,2,2,2,2,2)
    ,x2 = c(1,2,3,4,5,1,2,3,4,5)
    ,y  = c(10,9,8,7.5,7,11,10,9,8.5,8)
)

Я полагаю, что линейная регрессия (возможно, с использованием лог-модели) является примитивной опцией:

haves$x1 <- as.factor(haves$x1)
ggplot(haves, aes(x=x2, y=y, group=x1, col=x1)) +
    geom_point() +
    stat_smooth(method = "lm")

Линейная регрессия может слишком сильно сгладить итаким образом теряют много информации.Можно ли обеспечить монотонность города алгоритмически?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...