Алгоритм случайного леса с Python
Эта статья состоит из четырех частей:
- Что такое случайный лес?
- Применение алгоритма случайного леса.
- Преимущества случайного леса
- Случайный лес с Python (с кодом)
В этой статье мы рассмотрим, а также увидим код знаменитого алгоритма контролируемого машинного обучения «Случайные леса».
Что такое случайный лес?
Случайные леса - это модели сложенного дерева решений, которые разбиваются на подмножество функций при каждом разбиении. Рандомный лес отличается от ванильной упаковки только одним способом. Он использует модифицированный алгоритм обучения дерева, который проверяет на каждом этапе процесса обучения случайное подмножество функций. Мы делаем это, чтобы избежать корреляции между деревьями. Предположим, что у нас есть мощный предиктор в наборе данных вместе с несколькими другими умеренно сильными предикторами. В сборе деревьев в мешках большинство или все наши деревья решений будут использовать мощный предиктор для первого разбиения! Все деревья в мешках будут выглядеть одинаково. Следовательно, все прогнозы по собранным деревьям будут сильно коррелированы. Коррелированные
предикторы не могут помочь в повышении точности прогнозов. Выбирая случайный набор функций, случайные леса систематически избегают корреляции и повышают производительность модели. В приведенном ниже примере показано, как работает алгоритм случайного леса.
Применение алгоритма случайного леса.
В электронной коммерции алгоритм случайного леса может использоваться для прогнозирования того, понравятся ли покупателю рекомендуемые продукты, на основе опыта аналогичных клиентов.
На фондовом рынке алгоритм случайного леса может использоваться для определения поведения акций и ожидаемых убытков или прибыли.
В медицине алгоритм случайного леса может использоваться как для определения правильной комбинации компонентов, так и для выявления заболеваний путем анализа медицинских карт пациента.
Преимущества случайного леса
1. Случайный лес основан на алгоритме упаковки и использует метод ансамблевого обучения. Он создает столько деревьев на подмножестве данных и объединяет выходные данные всех деревьев. Таким образом, это уменьшает проблему переобучения в деревьях решений, а также уменьшает дисперсию и, следовательно, повышает точность.
2. Случайные леса можно использовать для решения как классификационных, так и регрессионных задач.
3. Случайный лес хорошо работает как с категориальными, так и с непрерывными переменными.
4. Случайный лес может автоматически обрабатывать отсутствующие значения.
5. Не требуется масштабирование функций: масштабирование функций (стандартизация и нормализация) не требуется в случае случайного леса, поскольку он использует подход на основе правил вместо расчета расстояния.
6. Эффективно обрабатывает нелинейные параметры. Нелинейные параметры не влияют на производительность случайного леса, в отличие от алгоритмов на основе кривых. Таким образом, если существует высокая нелинейность между независимыми переменными, Random Forest может превзойти другие алгоритмы на основе кривых.
7. Случайный лес может автоматически обрабатывать отсутствующие значения.
8. Случайный лес обычно устойчив к выбросам и может обрабатывать их автоматически.
9. Случайный лес сравнительно меньше подвержен шуму.
Случайный лес с Python
df [‘target’] = digits.target
df [0:12]
# результат данных
model.score (X_test, y_test)
0.9555555555555556
% matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sn
plt.figure (figsize = (10,7))
sn.heatmap (cm, annot = True )
plt.xlabel ('Прогнозируемый')
plt.ylabel ('Истина')
Спасибо за чтение. Пожалуйста, дайте мне знать, если у вас есть какие-либо отзывы.
Другие мои сообщения об алгоритмах машинного обучения
Удачного обучения !!!
Удачного кодирования :)
И не забывайте хлопать, хлопать, хлопать ...