Пора дать информативное начало серии Алгоритм. Здесь мы начнем с одной из самых известных категорий, то есть моделей на основе деревьев, которая состоит из деревьев решений, случайного леса и методов повышения.

Чтобы начать обучение с базового примера, вот вам дерево решений:

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

Река прорезает скалу не из-за ее силы, а из-за ее стойкости.

Что такое дерево решений?

Как видно из названия, это дерево помогает нам принимать решения. Используемый как для классификации, так и для регрессии, это очень простой и важный алгоритм прогнозирующего обучения.

  • Он отличается от других, потому что работает интуитивно, т.е. принимает решения одно за другим.
  • Непараметрические: быстро и эффективно.

Он состоит из узлов, которые связаны родительско-дочерними отношениями:

Наконец, он дает нам то, что мы действительно хотим - прогноз для данного сценария.

Как это работает?

Он разбивает набор данных на более мелкие подмножества, и в то же время связанное дерево решений поэтапно.
Как и в реальной жизни, мы рассматриваем самый важный фактор и разделяем возможности в соответствии с ним.
Точно так же построение дерева начинается с поиска переменной / функции для лучшего разделения.

Прежде всего, давайте рассмотрим используемую базовую терминологию:

  • Корневой узел: вся генеральная совокупность или выборка делится на два или более однородных набора.
  • Родительский и дочерний узел: узел, который разделен на подузлы, называется родительским узлом, тогда как подузлы являются дочерними по отношению к родительскому узлу.
  • Разделение: процесс разделения узла на два или более подузлов.
  • Узел принятия решения: подузел, который разделяется на дополнительные подузлы.
  • Конечный / конечный узел: узлы, которые не разделяются.
  • Удаление: когда мы удаляем подузлы узла принятия решения, этот процесс называется сокращением. (В противоположность разделению)
  • Ветвь / поддерево: подраздел всего дерева.

Разделение! Что это?

Дерево решений рассматривает наиболее важную переменную, используя какой-то необычный критерий, и разбивает набор данных на его основе. Это делается для достижения стадии, когда у нас есть однородные подмножества, которые дают прогнозы с максимальной уверенностью.

Эти критерии влияют на способ роста дерева и, следовательно, на точность модели. Это происходит до тех пор, пока не будет достигнуто заданное пользователем условие остановки или пока не будет достигнута идеальная однородность.

Для сравнения, посмотрите, как Airbnb повысил их точность, используя новые критерии разделения достоверности.

Некоторые из них:

  • Индекс Джини. Мера дисперсии по всем классам данных. Измеряет нечистоту данных.
    Пример. Для задачи двоичной классификации количество положительных случаев равно отрицательным. GI = 1/2 * (1–1 / 2) + 1/2 * (1–1 / 2) = 1/2
    Это максимально возможный GI. По мере того, как мы разделяем данные и движемся к поддереву, GI уменьшается до нуля с увеличением глубины дерева.
  • Энтропия: мера случайности. Чем больше случайных данных, тем выше энтропия.
    E = -p * log (p); p - вероятность

Получение информации: снижение энтропии. Разница между энтропией до разделения и средней энтропией после разделения получается, чтобы решить, когда разделить.

Выбрана переменная, обеспечивающая максимальное увеличение энтропии!

  • Сокращение дисперсии: используется в основном в регрессии. Как следует из названия, рассчитывается вариация до разделения и после разделения.
    Выбирается разделение, дающее наибольшее уменьшение!

Обрезка дерева

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

Обрезка - полная противоположность разделению.

  • Подход сверху вниз (ранняя остановка)
  • Подход снизу вверх (частота ошибок)

Дерево решений только с одним уровнем называется пнями решений. Часто в моделях с мешками и бустами, чтобы избежать переобучения, пень для принятия решения лучше, чем взрослое дерево.

Неужели это так хорошо?

Мы читаем о примитивном алгоритме последние 4 минуты. Попробуем сделать вывод, стоит ли оно всего внимания!

Плюсы

  • Не всякое отношение линейно. Нелинейные отношения фиксируются ОУ.
  • Легко понять и визуализировать.
  • Может использоваться для разработки функций. (Пример Binning, EDA или это)
  • Никаких предположений - уровень Бога. _ / \ _
  • Очень мало данных, необходимых для алгоритма.
  • Проверка модели с помощью статистического теста влияет на надежность модели.

Минусы

  • Неправильная настройка может привести к переобучению.
  • Непараметрический, без оптимизации. Но, гиперпараметрическая настройка. Итак, как только он дает предел, вы не можете идти дальше.
  • Нестабильно. Небольшая вариация данных - ›совершенно другое древовидное построение.
  • В случае несбалансированного набора данных деревья решений смещены. Однако, используя правильные критерии разделения, эту проблему можно решить.

Наиболее важные параметры

Половина из вас, должно быть, уже спит. Я знаю, что он становится все длиннее, но таков масштаб этого алгоритма. Чтобы упростить задачу, вот НЕКОТОРЫЕ важные из них, которые вы должны настроить на топ LB:

(a) Минимальное количество образцов для разделения: минимальное количество образцов, необходимое для разделения узла. Этот параметр помогает уменьшить переоснащение.
Высокое значение: недостаточное соответствие, Низкое значение: переоснащение

(b) Максимальная глубина дерева: наиболее важный параметр. Дает предел вертикальной глубины, решает, до какого уровня требуется обрезка.
Более высокое значение: переоснащение, более низкое значение: недостаточное соответствие

(c) Максимальное количество функций: на каждом узле при разделении мы можем выбрать лучшую функцию из пула всех функций или ограниченное количество случайных функций. Этот параметр добавляет немного случайности - хорошая обобщенная модель.

Остальные доступны в Sklearn, но сосредоточьтесь на них в первую очередь. : D

использованная литература

  1. AV-блог о древовидном моделировании
  2. Мастерство машинного обучения
  3. Http://www.ke.tu-darmstadt.de/lehre/archiv/ws0809/mldm/dt.pdf
  4. Http://www.iainpardoe.com/teaching/dsc433/handouts/chapter6h.pdf
  5. Sklearn tree модуль

Сноски

В этом блоге вы узнали об одном из основных алгоритмов машинного обучения. Тщательно поймите это по ссылкам, приведенным выше, и все готово!

Следите за нашими сериями, чтобы узнать о разнообразии, которое влечет за собой ML.

Спасибо за прочтение. :)
И, если бы это было хорошее прочтение. Наслаждайтесь!

Соавторы: Аджай Унагар, Ришаб Джайн, Канха Гоял