В этом блоке рассматриваются следующие темы:
- интерпретация случайных лесов
- обучение случайным лесам
- плюсы и минусы случайных лесов
Интерпретация случайных лесов
Случайные леса сложнее интерпретировать, чем деревья решений. Случайные леса содержат деревья решений, обученные случайным шумом. Поэтому сложнее делать выводы о структуре дерева решений. Однако мы можем интерпретировать модели случайного леса несколькими способами.
Один из подходов к интерпретации случайного леса состоит в том, чтобы просто обучить и интерпретировать дерево решений с помощью алгоритма CART. Поскольку и случайный лес, и CART обучаются с использованием одного и того же базового алгоритма, они «разделяют одно и то же глобальное представление» набора данных. Этот вариант хорошо подходит для простых наборов данных и для понимания общей интерпретации модели.
Переменная важность — еще один хороший подход к интерпретации. Например, в следующей таблице ранжируется переменная важность различных признаков для модели случайного леса, обученной на наборе данных Census (также известном как Adult ).
Таблица 8. Переменная важность 14 различных признаков.
Особенность | Сумма баллов | Среднее снижение точности | Среднее снижение AUC | Средняя минимальная глубина | Количество узлов | Среднее снижение PR-AUC | Число как корень |
---|---|---|---|---|---|---|---|
отношение | 4203592.6 | 0,0045 | 0,0172 | 4.970 | 57040 | 0,0093 | 1095 |
прирост капитала | 3363045.1 | 0,0199 | 0,0194 | 2.852 | 56468 | 0,0655 | 457 |
семейный статус | 3128996,3 | 0,0018 | 0,0230 | 6.633 | 52391 | 0,0107 | 750 |
возраст | 2520658,8 | 0,0065 | 0,0074 | 4.969 | 356784 | 0,0033 | 200 |
образование | 2015905.4 | 0,0018 | -0,0080 | 5.266 | 115751 | -0,0129 | 205 |
оккупация | 1939409.3 | 0,0063 | -0,0040 | 5.017 | 221935 | -0,0060 | 62 |
Education_num | 1673648,4 | 0,0023 | -0,0066 | 6.009 | 58303 | -0,0080 | 197 |
фнлвгт | 1564189.0 | -0,0002 | -0,0038 | 9,969 | 431987 | -0,0049 | 0 |
часов в неделю | 1333976,3 | 0,0030 | 0,0007 | 6.393 | 206526 | -0,0031 | 20 |
капитал_убыток | 866863,8 | 0,0060 | 0,0020 | 8.076 | 58531 | 0,0118 | 1 |
рабочий класс | 644208.4 | 0,0025 | -0,0019 | 9.898 | 132196 | -0,0023 | 0 |
родная страна | 538841.2 | 0,0001 | -0,0016 | 9.434 | 67211 | -0,0058 | 0 |
секс | 226049.3 | 0,0002 | 0,0002 | 10.911 | 37754 | -0,0011 | 13 |
гонка | 168180,9 | -0,0006 | -0,0004 | 11.571 | 42262 | -0,0031 | 0 |
Как видите, разные определения важности переменных имеют разные масштабы и могут привести к различиям в ранжировании признаков.
Значения переменных, которые исходят из структуры модели (например, суммарная оценка, средняя минимальная глубина, количество узлов и число в качестве корня в приведенной выше таблице), вычисляются аналогичным образом для деревьев решений (см. раздел «Корзина | Важность переменных») и случайных лесов.
Важность переменной перестановки (например, среднее уменьшение {accuracy, auc, pr-auc} в приведенной выше таблице) — это независимые от модели показатели, которые можно вычислить в любой модели машинного обучения с набором данных проверки. Однако с помощью случайного леса вместо использования набора данных проверки вы можете вычислить важность переменной перестановки с оценкой «из коробки».
SHAP ( Shapley Additive ExPlanations ) — это метод, не зависящий от модели, для объяснения индивидуальных прогнозов или интерпретаций на основе моделей. (См. Интерпретируемое машинное обучение Молнара для введения в интерпретацию, не зависящую от модели.) SHAP обычно требует больших затрат для вычислений, но может быть значительно ускорен для лесов решений, поэтому это хороший способ интерпретации лесов решений.
Пример использования
На предыдущем уроке мы обучили дерево решений CART на небольшом наборе данных, вызвав tfdf.keras.CartModel
. Чтобы обучить модель случайного леса, просто замените tfdf.keras.CartModel
на tfdf.keras.RandomForestModel
:
model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)
Плюсы и минусы
Этот раздел содержит краткий обзор плюсов и минусов случайных лесов.
Плюсы:
- Как и деревья решений, случайные леса изначально поддерживают числовые и категориальные признаки и часто не требуют предварительной обработки признаков.
- Поскольку деревья решений независимы, случайные леса можно обучать параллельно. Следовательно, вы можете быстро обучать случайные леса.
- Случайные леса имеют параметры по умолчанию, которые часто дают отличные результаты. Настройка этих параметров часто мало влияет на модель.
Минусы:
- Поскольку деревья решений не обрезаются, они могут быть большими. Распространены модели с более чем 1 млн узлов. Размер (и, следовательно, скорость вывода) случайного леса иногда может быть проблемой.
- Случайные леса не могут изучать и повторно использовать внутренние представления. Каждое дерево решений (и каждая ветвь каждого дерева решений) должно повторно изучить шаблон набора данных. В некоторых наборах данных, особенно нетабличных наборах данных (например, изображение, текст), это приводит к худшим результатам случайных лесов, чем другие методы.