Другие темы

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

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

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

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

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