Не уверен, что понимаю вашу проблему;Я все же попробую ...
1- Являются ли прогнозы деревьев как-то кумулятивными?Или они независимы друг от друга?(Я думал, что они независимы)
Вы правильно подумали;деревья подгоняются независимо друг от друга, поэтому их предсказания действительно независимы.Фактически, это является ключевым преимуществом моделей RF, так как оно допускает параллельные реализации.
2- Является ли последнее дерево средним среди всех остальных?
Нет ;как пояснено выше, все деревья являются независимыми.
3- Если каждое дерево получает прогноз, как я могу получить матрицу со всеми деревьями, так как мне нужно этоMSE и% var объяснены для леса?
Вот где то, что вы спрашиваете, становится действительно неясным, учитывая ваш код выше;MSE и r2, которые, как вы говорите, вам нужны, - это именно то, что вы уже вычисляете в mseY
и r2
:
mseY
[1] 0.1232342
r2
[1] 81.90718
, которые, что неудивительно, - это те же самые значения, о которых сообщают model
:
model
# result:
Call:
randomForest(x = TrainingX, y = TrainingY, ntree = 500)
Type of random forest: regression
Number of trees: 500
No. of variables tried at each split: 1
Mean of squared residuals: 0.1232342
% Var explained: 81.91
, поэтому я не уверен, что могу реально увидеть вашу проблему или то, что эти значения имеют отношение к "матрице со всеми деревьями" ...
Но когдаЯ делаю model$mse
, представленное значение соответствует значению MSE для последнего вычисленного дерева, и то же самое происходит для объясненного% var.
Скорее всего не : model$mse
- это вектор длины, равный количеству деревьев (здесь 500), содержащий MSE для каждого отдельного дерева; (см. ОБНОВЛЕНИЕ ниже). Я никогда не видел такого применения на практике (аналогично дляmodel$rsq
):
length(model$mse)
[1] 500
length(model$rsq)
[1] 500
ОБНОВЛЕНИЕ : Престижность самой ФП (см. Комментарии), которая обнаружила, что величины в model$mse
и model$rsq
действительно совокупный (!);из старой (2004 г.) ветки сопровождающего пакета Энди Лайу, Извлечение MSE и% дисперсии из RandomForest :
Несколько способов:
- Читать? randomForest, особенно раздел `Value '.
- Посмотрите на str (myforest.rf).
- Посмотрите на print.randomForest.
Если лес имеет100 деревьев, затем mse и rsq - векторы с 100 элементами в каждом, i-й элемент - это mse (или rsq) леса, состоящего из первых i деревьев.Таким образом, последний элемент - это mse (или rsq) всего леса.