Случайная классификация леса

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

Вот почему он называется «лесом» — это, по сути, набор деревьев решений. Основная идея состоит в том, чтобы вырастить несколько деревьев решений на основе независимых подмножеств набора данных. В каждом узле случайным образом выбираются n переменных из набора признаков и находится наилучшее разделение по этим переменным.

Простыми словами алгоритм можно описать так:

  1. Множественные деревья построены примерно на двух третях обучающих данных (62,3%). Данные выбираются случайным образом.
  2. Несколько переменных-предикторов выбираются случайным образом из всех переменных-предикторов. Затем для разделения узла используется наилучшее разделение этих выбранных переменных. По умолчанию количество выбранных переменных равно квадратному корню из общего количества всех предикторов для классификации и является постоянным для всех деревьев.
  3. Используя остальные данные, рассчитывается коэффициент ошибочной классификации. Общий коэффициент ошибок рассчитывается как общий коэффициент ошибок вне упаковки.
  4. Каждое обученное дерево дает свой результат классификации, отдавая свой голос. В качестве результата выбирается класс, набравший наибольшее количество голосов.

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

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

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

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

Логистическая регрессия

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

Например:

  1. Прогнозирование, является ли электронное письмо спамом или нет.
  2. Независимо от того, содержит ли программное обеспечение вредоносное ПО или нет.

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

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

Здесь Z — выход, W — вес или точка пересечения, а (X) — используемые точки обучающих данных. (B) — ошибка.

Сигмовидная функция

Здесь, если «z» приближается к положительной бесконечности, прогноз «y» будет равен 1, а если «z» приближается к отрицательной бесконечности, прогноз «y» будет равен 0.