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

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

Создание наборов данных для обучения и тестирования

Я буду использовать следующие модели для решения рассматриваемой задачи классификации:

  1. Логистическая регрессия
  2. Опорные векторные машины
  3. Древо решений
  4. Случайный лес

Логистическая регрессия: Вопреки своему названию, логистическая регрессия используется для задачи типа классификации, где зависимая переменная является дихотомической (двоичной / категориальной). Она вычисляет вероятность наличия интересующей характеристики.

logit (p) = ln (вероятность наличия характеристики / вероятность отсутствия характеристики)

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

На рисунке 4 показано, как создается экземпляр класса логистической регрессии и используется метод «подгонки» для независимых переменных (X_train) и зависимых переменных (y_train). Мы получаем оценку точности ~ 83%. Это довольно низкий показатель точности, и давайте попробуем понять, почему эта модель так низка.

На рис. 5 выше мы получаем оценку точности ~ 84% для набора тестовых данных. График корреляционной матрицы ниже (рис. 6) показывает, что модель логистической регрессии не учитывает столбец «Месяц» при прогнозировании отмен. Возможно, это объясняет, почему у этой модели такие плохие характеристики.

Плюсы и минусы:

  1. Логистическая регрессия - это обобщенная линейная модель, поэтому мы не можем решать нелинейные проблемы с помощью этой модели - будь то за или против, это зависит от типа проблемы, которую вы пытаетесь решить.
  2. Вычисления невероятно просты из-за линейной комбинации параметров и входных векторов.
  3. Результат можно интерпретировать как вероятность; так что вы можете использовать его для ранжирования вместо классификации.
  4. Деревьям обычно труднее придумывать калиброванные вероятности.
  5. Страдает мультиколлинеарностью.

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

Классификатор SVM пытается уместить как можно более широкую улицу между разными классами (представлен синим прямоугольником на рис. 7). Это называется классификацией с большой маржой. Черная линия слева на рис. 7 хорошо разделяет два класса, но без наибольшего поля (также известного как улица / гиперплоскость), как на правой стороне. Обратите внимание, что добавление дополнительных экземпляров «вне улицы» вообще не повлияет на границу принятия решения. Граница решения полностью определяется экземплярами на краю улицы. Эти экземпляры называются опорным вектором, отсюда и название машины опорных векторов.

Поскольку мы работаем с относительно меньшим набором данных (всего 6000 экземпляров), вычисления относительно безболезненны. Модель SVM имеет точность ~ 99,9%.

В отличие от логистической регрессии, классификаторы SVM не выводят вероятности для каждого класса.

Минусы:

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

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

Плюсы и минусы:

  1. Одним из многих качеств деревьев решений является то, что они не требуют подготовки данных. Они вообще не требуют масштабирования или центрирования элементов.
  2. Эта модель проста в интерпретации, объяснении, проста в использовании, универсальна и мощна.
  3. Дерево решений также может оценивать вероятности принадлежности экземпляра к определенному классу k: сначала оно просматривает дерево, чтобы найти листовой узел для этого экземпляра, а затем возвращает соотношение обучающих экземпляров класса k в этом узле.
  4. Самая большая обратная сторона дерева решений - то, что они очень чувствительны к небольшим изменениям в обучающих данных. Они имеют тенденцию чрезмерно соответствовать данным.

У меня есть странное ощущение, что дерево решений со 100% точностью не соответствует приведенным здесь данным.

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

Успех модели случайного леса можно объяснить Законом больших чисел. Самое простое объяснение: возьмите коробку со 100 честными монетами. Ожидаемая стоимость составляет примерно 50 решек и 50 решек в любой момент времени. Однако когда я встряхиваю коробку один раз, я могу не получить ожидаемое значение. Но уловка состоит в том, чтобы сделать достаточно большой набор наблюдений, встряхивая коробку, так, чтобы среднее значение числа орлов и хвостов приближалось к ожидаемому.

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

На рисунке 12 показано, как создается классификатор случайного леса.

Плюсы и минусы:

  1. Случайный лес - непростая модель для визуальной интерпретации в отличие от деревьев решений.
  2. Легко использовать с наборами данных, которые могут иметь функции, которые могут быть коррелированы.

Резюме

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