Помогает ли бэггинг предотвратить переобучение в деревьях решений?
Бэггинг эффективный способ предотвратить переобучение в деревьях решений?
Понимание того, почему деревья решений чрезвычайно склонны к переобучению и потенциальные способы его устранения
Введение
Деревья решений являются классом алгоритмов машинного обучения, хорошо известных своей способностью решать как задачи классификации, так и задачи регрессии, не забывая о легкости интерпретации, которую они предлагают. Однако, они страдают от переобучения и могут плохо обобщать данные, если не контролируются должным образом.
В этой статье мы обсудим, что такое переобучение, насколько дерево решений переобучается на обучающих данных, почему это проблема и как ее можно решить.
Затем мы познакомимся с одной из ансамблевых техник, а именно, с упаковкой данных (bagging), и посмотрим, можно ли ее использовать для увеличения устойчивости деревьев решений.
Мы рассмотрим следующие аспекты:
- Скандал с искусственным интеллектом потрясает компанию Арена, генеральный директор уволен
- ЕС продвигается вперед с новыми правилами для искусственного интеллекта
- Революционизация языковых барьеров овладение многоязычной аудиозаписью и семантическим поиском.
- Создание набора данных для регрессии с использованием библиотеки NumPy.
- Обучение модели дерева решений с использованием scikit-learn.
- Понимание того, что означает переобучение, рассматривая производительность той же модели на обучающем наборе и тестовом наборе данных.
- Обсуждение того, почему переобучение более распространено в непараметрических моделях, таких как деревья решений (и, конечно же, узнаем, что означает термин “непараметрический”) и как его можно предотвратить с помощью регуляризации.
- Понимание того, что представляет собой упаковка данных (bagging) и как она может потенциально помочь с переобучением.
- И, наконец, мы реализуем версию дерева решений с упаковкой данных и посмотрим, поможет ли она или нет 🤞
Все еще сомневаетесь, стоит ли читать? 🤔 Если вы когда-либо задавались вопросом, почему случайные леса обычно предпочитаются обычным деревьям решений, то это самое лучшее место, чтобы начать, поскольку случайные леса используют идею упаковки данных плюс что-то еще, чтобы улучшить деревья решений.
Давайте начнем!
Сначала настроим блокнот Python и импортируем необходимые библиотеки.
import pandas as pd
import numpy as np
import plotly.graph_objects as go
from sklearn.tree import DecisionTreeRegressor
from sklearn import tree
from sklearn.model_selection import train_test_split