Матрица близости - Случайный лес, R
Я использую пакет randomForest в R, который позволяет рассчитать матрицу близости (P). В описании пакета он описывает параметр следующим образом: "если близость = ИСТИНА, когда вызывается randomForest, матрица мер близости между входными данными (на основе частоты, с которой пары точек данных находятся в одних и тех же терминальных узлах)".
Я получаю матрицу близости случайного леса следующим образом:
P <- randomForest(x, y, ntree = 1000, proximity=TRUE)$proximity
Когда я исследую матрицу P, я вижу такие значения, как P(i,j)=0,971014493, где i и j - два экземпляра данных в моем наборе обучающих данных (x). Такое значение не имеет смысла, потому что, когда оно умножается на 1000 (количество деревьев в лесу), полученное число не является целым числом, следовательно, "частота". Может ли кто-нибудь помочь мне понять, почему я получаю такие действительные числа в матрице близости?
3 ответа
Поскольку, как и в случае с прогнозами по умолчанию, близость по умолчанию рассчитывается только с использованием деревьев, где ни одно наблюдение не было включено в образец, использованный для построения этого дерева (они были "вне пакета").
Количество раз, когда это происходит, будет немного отличаться для каждой пары случаев, и, конечно, не будет хорошим круглым числом, таким как 1000.
Вы заметите, что следующий параметр, указанный после proximity
называется oob.prox
указание, использовать ли только пары мешков (по умолчанию) или использовать каждое дерево.
Просто чтобы добавить к ответу выше, так как это выглядело странно и для меня, и в случае, если это поможет кому-то, что в соответствии с Брейманом (и я цитирую):
"Внутренняя мера близости.
Поскольку отдельное дерево не очищено, конечные узлы будут содержать только небольшое количество экземпляров. Запустите все случаи в обучении, установленном на дереве. Если случай i и случай j оба приземляются в одном терминальном узле. увеличьте близость между i и j на единицу. В конце прогона близость делится на удвоенное количество деревьев в прогоне и близость между делом и самим собой, равным единице. '
Выше было упомянуто в статье Бреймана " Использование случайных лесов", которая является здесь ссылкой на функцию randomForest.
Близость - это пропорция того, как часто две точки данных заканчиваются на одном листовом узле для разных деревьев.