В этом модуле рассматриваются следующие темы:
- интерпретация случайных лесов
- обучение случайным лесам
- плюсы и минусы случайных лесов
Интерпретация случайных лесов
Случайные леса сложнее интерпретировать, чем деревья решений. Случайные леса содержат деревья решений, обученные случайным шумом. Поэтому сложнее выносить суждения о структуре дерева решений. Однако мы можем интерпретировать модели случайного леса несколькими способами.
Один из подходов к интерпретации случайного леса — просто обучить и интерпретировать дерево решений с помощью алгоритма CART. Поскольку и случайный лес, и CART обучаются с использованием одного и того же основного алгоритма, они «имеют одно и то же глобальное представление» набора данных. Этот вариант хорошо работает для простых наборов данных и для понимания общей интерпретации модели.
Важность переменных — еще один хороший подход к интерпретации. Например, в следующей таблице ранжируется переменная важность различных функций для случайной модели леса, обученной на наборе данных переписи (также известном как 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 |
образование_номер | 1673648.4 | 0,0023 | -0,0066 | 6.009 | 58303 | -0,0080 | 197 |
fnlwgt | 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 ( аддитивные объяснения Шепли ) — это независимый от модели метод объяснения отдельных прогнозов или интерпретации на основе модели. (Введение в модельно-агностическую интерпретацию см. в разделе «Интерпретируемое машинное обучение» Молнара.) Вычисления SHAP обычно дороги, но его можно значительно ускорить для лесов решений, поэтому это хороший способ интерпретации лесов решений.
Пример использования
На предыдущем уроке мы обучили дерево решений CART на небольшом наборе данных, вызвав tfdf.keras.CartModel
. Чтобы обучить случайную модель леса, просто замените tfdf.keras.CartModel
на tfdf.keras.RandomForestModel
:
model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)
Плюсы и минусы
В этом разделе содержится краткий обзор плюсов и минусов случайных лесов.
Плюсы:
- Как и деревья решений, случайные леса изначально поддерживают числовые и категориальные функции и часто не требуют предварительной обработки функций.
- Поскольку деревья решений независимы, случайные леса можно обучать параллельно. Следовательно, вы можете быстро обучать случайные леса.
- Случайные леса имеют параметры по умолчанию, которые часто дают отличные результаты. Настройка этих параметров часто мало влияет на модель.
Минусы:
- Поскольку деревья решений не обрезаются, они могут быть большими. Распространены модели с числом узлов более 1 млн. Размер (и, следовательно, скорость вывода) случайного леса иногда может быть проблемой.
- Случайные леса не могут изучать и повторно использовать внутренние представления. Каждое дерево решений (и каждая ветвь каждого дерева решений) должно заново изучить шаблон набора данных. В некоторых наборах данных, особенно в нетабличных наборах данных (например, изображения, текст), это приводит к худшим результатам при использовании случайных лесов, чем при использовании других методов.