Как обратно рассчитать предикторы для данной зависимой переменной с помощью модели случайного леса? - PullRequest
0 голосов
/ 05 августа 2020

Учитывая случайную модель леса y ~ x1 + x2, есть ли возможность передать модели значение y и получить возможные результаты x1 и x2 обратно?

Чтобы дать короткий случайный пример:

require(randomForest)
mydf <- data.frame(y =  c(1, 5, 6, 8, -1, -4), x1 = c(2, 8, 7, 10, 3, 0), x2 = c(18, 24, 26, 30, 15, 12))
myrf <- randomForest(y ~ ., data = mydf)

Есть ли способ обратного вычисления предикторов с помощью модели случайного леса?

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

Короче говоря: нет в большинстве случаев.

Не вдаваясь в подробности, случайный лес - это более или менее среднее значение между несколькими деревьями решений. В большинстве случаев отменить дерево решений невозможно. Например, в следующем:

введите описание изображения здесь

Если прогноз равен 4,5, ваши исходные данные могут иметь любое значение ниже 10,5 (например, уровень алкоголя = 0 и уровень алкоголя = 3 будет иметь прогнозируемое значение 4,5).

Единственный способ перевернуть дерево - это создать взаимно однозначное соответствие между декартовым произведением ваших входных данных и вашим предсказанным значением; но это будет довольно редко (и, вероятно, будет переоснащаться)

0 голосов
/ 05 августа 2020

Нет. Такой функции не существует, и я не понимаю, зачем она существует. Вы пытаетесь сделать что-то, для чего Random Forest не предназначен. Но если бы вы захотели, а я не думаю, что должны, вы можете сгенерировать пространство ND, в данном случае для x1 и x2, которое имеет все прогнозы, а затем подмножество областей, которые достаточно близки к значению y.

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