Случайная классификация леса
Random Forest — один из самых популярных алгоритмов машинного обучения. Он почти не требует подготовки данных и моделирования, но обычно приводит к неточным результатам. Случайные леса — это наборы деревьев решений, обеспечивающие более высокую точность прогнозов.
Вот почему он называется «лесом» — это, по сути, набор деревьев решений. Основная идея состоит в том, чтобы вырастить несколько деревьев решений на основе независимых подмножеств набора данных. В каждом узле случайным образом выбираются n переменных из набора признаков и находится наилучшее разделение по этим переменным.
Простыми словами алгоритм можно описать так:
- Множественные деревья построены примерно на двух третях обучающих данных (62,3%). Данные выбираются случайным образом.
- Несколько переменных-предикторов выбираются случайным образом из всех переменных-предикторов. Затем для разделения узла используется наилучшее разделение этих выбранных переменных. По умолчанию количество выбранных переменных равно квадратному корню из общего количества всех предикторов для классификации и является постоянным для всех деревьев.
- Используя остальные данные, рассчитывается коэффициент ошибочной классификации. Общий коэффициент ошибок рассчитывается как общий коэффициент ошибок вне упаковки.
- Каждое обученное дерево дает свой результат классификации, отдавая свой голос. В качестве результата выбирается класс, набравший наибольшее количество голосов.
Как и в деревьях решений, этот алгоритм избавляет от необходимости выбора признаков для удаления нерелевантных признаков — они не будут учитываться в любом случае. Возникает единственная потребность в выборе каких-либо признаков с помощью алгоритмов случайного леса.
Случайные леса наследуют многие преимущества алгоритмов дерева решений. Они применимы как к проблемам регрессии, так и к задачам классификации; их легко вычислить и быстро установить. Они также обычно приводят к большей точности.
Однако, в отличие от деревьев решений, интерпретировать результаты не очень просто. В деревьях решений, исследуя результирующее дерево, мы можем получить ценную информацию о том, какие переменные важны и как они влияют на результат. Это невозможно со случайными лесами.
Его также можно охарактеризовать как более стабильный алгоритм, чем деревья решений — если мы немного изменим данные, деревья решений изменятся, что, скорее всего, снизит точность. В алгоритмах случайного леса этого не произойдет — поскольку это комбинация множества деревьев решений, случайный лес останется стабильным.
Логистическая регрессия
Логистическая регрессия очень похожа на линейную регрессию. В линейной регрессии для классификации используется порог. В то время как в случае логистической регрессии используется сигмовидная функция. Логистическая регрессия используется, когда на выходе требуются категориальные данные.
Например:
- Прогнозирование, является ли электронное письмо спамом или нет.
- Независимо от того, содержит ли программное обеспечение вредоносное ПО или нет.
Рассмотрим пример, где нам нужно определить, является ли данное программное обеспечение вредоносным или нет. В случае линейной регрессии порог будет установлен на основе используемых функций и данных обучения. Огромной проблемой линейной регрессии являются выбросы и отрицательное значение порога. Наличие выброса может кардинально изменить полное уравнение линии наилучшего соответствия, и пороговая линия, которую мы получим, не будет идеальной. Для решения таких проблем в случае логистической регрессии используется сигмоидальная функция.
Сигмовидная функция преобразует обычное выходное значение в 0 и 1. Выходные значения здесь будут 0 и 1 в случае логистической регрессии.
Здесь Z — выход, W — вес или точка пересечения, а (X) — используемые точки обучающих данных. (B) — ошибка.
Сигмовидная функция
Здесь, если «z» приближается к положительной бесконечности, прогноз «y» будет равен 1, а если «z» приближается к отрицательной бесконечности, прогноз «y» будет равен 0.