Что такое PermutedVarDeltaError в случайном лесу?
В MATLAB, TreeBagger
класс предоставляет свойство PermutedVarDeltaError
измерить значение переменной. Я прошел через предоставленное определение несколько раз:
Для любой переменной мерой является увеличение ошибки прогнозирования, если
values of that variable are permuted across the observations
, Эта мера вычисляется для каждого дерева, затем усредняется по всему ансамблю и делится на стандартное отклонение по всему ансамблю.
У меня проблемы с пониманием раздела values of that variable are permuted across the observations
, Может кто-нибудь объяснить это мне?
1 ответ
Представьте, что у вас есть набор данных, содержащий N переменных и M наблюдений, и вы тренируете модель на нем (это не обязательно должно быть TreeBagger
).
Теперь представьте, что вы берете одну переменную, и вы случайным образом переупорядочиваете (переставляете) все ее значения M, сохраняя остальную часть набора данных в том же порядке. Вы переучиваете модель.
Если бы точность новой модели внезапно упала (т.е. ее ошибка имела большую дельту), то эта переменная, очевидно, была бы важна для точности исходной модели.
Напротив, если точность новой модели остается довольно схожей, даже если вы случайным образом переупорядочиваете значения этой переменной, тогда переменная не могла бы быть очень важной в первую очередь.
Так что эта мера PermutedVarDeltaError
(разница в погрешности модели при перестановке значений конкретной переменной) является показателем важности этой переменной.
Теперь это становится немного сложнее с TreeBagger
, так как это модель ансамбля, состоящая из нескольких подмоделей. Но основная вещь та же - вы просто измеряете ее для каждой подмодели, а затем берете среднее значение по моделям, нормализуете его по стандартному отклонению, и у вас есть мера для всего ансамбля.