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

◼ Типы машинного обучения

◼ Дерево решений и важные термины

◼ Что такое случайный лес?

◼ Почему случайный лес?

◼ Разница между деревом решений и случайным лесом

◼ Приложение с реальным набором данных

Типы машинного обучения

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

  • Контролируемое обучение
  • Неконтролируемое обучение
  • Обучение с подкреплением

Контролируемое обучение (входные данные предоставляются в виде помеченного набора данных)

  • Проблема классификации =› вид проблем, в которых результаты носят категорический характер, например, да или нет, истина или ложь, 0 или 1.

Мы можем разделить это на 5 алгоритмических категорий. Алгоритмы этой задачи можно разделить на эти алгоритмы. Они есть,

1. Наивный классификатор Байера

2. Машина опорных векторов

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

4. Дерево решений

5. K-ближайший сосед (KNN)

  • Проблема регрессии =› тип задач, используемых для непрерывных данных, таких как количество комнат, для прогнозирования цены на землю в городе.

Алгоритмы этой задачи таковы,

1. Линейная регрессия

2. Нелинейная регрессия

3. Байесовская линейная регрессия

Два других типа (обучение без учителя и обучение с подкреплением) здесь обсуждаться не будут, так как эта статья посвящена только случайному лесу.

Дерево решений и важные термины

Прежде чем обсуждать случайный лес. Давайте обсудим дерево решений и его важные члены.

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

Энтропия => Энтропия — это мера случайности или непредсказуемости в наборе данных. Когда мы рассматриваем корневой узел дерева, он имеет самую высокую энтропию. Но когда он идет от корня к конечному узлу, энтропия постепенно уменьшается до 0. Энтропия варьируется от 0 до 1. 0 означает, что нет двух решений (100% один член). 1 означает, что есть два решения с 50%.

Прирост информации => Это мера снижения энтропии после разделения набора данных. По сути, мы можем сказать, что IG (E1-E2) — это разница энтропий между до и после разделения с использованием атрибута. Мы можем уменьшить степень неопределенности путем расщепления.

Что такое Случайный лес?

Давайте обсудим, что такое случайный лес. Случайный лес или лес случайных решений — это метод/алгоритм, который работает путем построения нескольких деревьев решений на этапе обучения. Кроме того, этот метод случайного леса относится к технике обучения с учителем. Решение большинства деревьев выбирается случайным лесом как окончательное решение. На приведенной ниже диаграмме показана общая концепция работы метода случайного леса.

Итак, вы можете видеть, что дерево решений 1 дает яблоко в качестве результата для моего тестового фрукта. Затем дерево решений 2 дает на выходе оранжевый цвет. Кроме того, решение 3 снова дает яблоко в качестве результата. Затем мы выбираем все деревья вместе, называемые случайным лесом, и выясняем, что является основным выходом из выходов. Наконец, мы выбираем ответ как ответ большинства.

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

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

Это диаграмма высокого уровня, которую я описал выше. Предположим, является ли это проблемой бинарной классификации.

Почему случайный лес?

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

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

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

Разница между деревом решений и случайным лесом

Как следует из названий «Дерево» и «Лес», случайный лес — это, по сути, набор деревьев решений. Дерево решений строится на всем наборе данных с использованием всех интересующих функций или переменных, тогда как случайный лес случайным образом выбирает наблюдения или строки и определенные функции для построения нескольких деревьев решений, а затем усредняет результаты. После того, как с помощью этого метода построено большое количество деревьев, каждое дерево «голосует» или выбирает класс, и класс, получивший наибольшее количество голосов простым большинством голосов, становится «победителем» или прогнозируемым классом. Есть, конечно, и более детальные различия, но это основное концептуальное отличие. Следовательно, точность конечного вывода случайного леса выше, а дисперсия ниже, чем у дерева решений.

Приложение с реальным набором данных

В качестве набора данных реального мира я выбрал набор данных цветов ириса. Потому что это очень популярный набор данных.

Набор данных о цветке ириса или набор данных об ирисе Фишера — это многомерный набор данных, представленный британским статистиком и биологом Рональдом Фишером в его статье 1936 года «Использование множественных измерений в таксономических задачах» в качестве примера линейного дискриминантного анализа. Его иногда называют набором данных об ирисах Андерсона, потому что Эдгар Андерсон собрал данные для количественной оценки морфологических вариаций цветков ирисов трех родственных видов.

Набор данных состоит из 50 образцов каждого из трех видов ириса (Iris setosa, Iris virginica и Iris versicolor). У каждого образца измеряли четыре характеристики: длину и ширину чашелистиков и лепестков в сантиметрах.

Ссылка: https://en.wikipedia.org/wiki/Iris_flower_data_set

Итак, мое приложение состоит в том, чтобы классифицировать цветочные растения в соответствии с их признаками и, наконец, после обучения набора данных найти неизвестное название растения, которое имеет эти 4 признака. Объяснение кода и то, как я выполнил свою задачу и поток кода, описаны в блокноте colab.

Ссылка на блокнот Colab:https://colab.research.google.com/drive/1rmGafkDNw2xVw_Ovf3C8PnoUah3-89lU?usp=sharing