Другие темы

В этом блоке рассматриваются следующие темы:

  • интерпретация случайных лесов
  • обучение случайным лесам
  • плюсы и минусы случайных лесов

Интерпретация случайных лесов

Случайные леса сложнее интерпретировать, чем деревья решений. Случайные леса содержат деревья решений, обученные случайным шумом. Поэтому сложнее делать выводы о структуре дерева решений. Однако мы можем интерпретировать модели случайного леса несколькими способами.

Один из подходов к интерпретации случайного леса состоит в том, чтобы просто обучить и интерпретировать дерево решений с помощью алгоритма 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 млн узлов. Размер (и, следовательно, скорость вывода) случайного леса иногда может быть проблемой.
  • Случайные леса не могут изучать и повторно использовать внутренние представления. Каждое дерево решений (и каждая ветвь каждого дерева решений) должно повторно изучить шаблон набора данных. В некоторых наборах данных, особенно нетабличных наборах данных (например, изображение, текст), это приводит к худшим результатам случайных лесов, чем другие методы.