Home Нейронные сети Введение в деревья классификации и регрессии в машинном обучении | DeepTech

Введение в деревья классификации и регрессии в машинном обучении | DeepTech

0
Введение в деревья классификации и регрессии в машинном обучении
 | DeepTech

Введение

Деревья классификации и регрессии или сокращенно CART — это термин, используемый для описания алгоритмов дерева решений, которые используются для задач классификации и регрессии. Этот термин был впервые введен в 1984 году Лео Брейманом, Джеромом Фридманом, Ричардом Олшеном и Чарльзом Стоуном. Прежде чем говорить о деревьях классификации и регрессии, нам нужно сначала выяснить, что такое дерево решений.

Что такое дерево решений?

По сути, дерево решений представляет собой серию операторов if-else, которые можно использовать для прогнозирования определенного результата на основе данных. Цель дерева решений — создать модель, которая может предсказать значение целевой переменной путем изучения правил принятия решений, выведенных из данных. Деревья решений рисуются в перевернутом виде, корнем вверху. Затем он разделится на ветви, и концы этих ветвей станут листьями, где решения больше не будут разделены.

Источник: YouTube

Пример дерева решений можно увидеть ниже:

Введение в деревья классификации и регрессии в машинном обучении
Введение в деревья классификации и регрессии в машинном обучении

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

Преимущества и недостатки деревьев решений

Существуют преимущества и недостатки использования деревьев решений для машинного обучения. Некоторые преимущества включают в себя:

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

Есть и недостатки при использовании деревьев решений. Некоторые недостатки включают в себя:

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

Дерево классификации

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

Читайте также: Как использовать линейную регрессию в машинном обучении

Дерево регрессии

С другой стороны, деревья регрессии используются, когда переменная ответа является непрерывной. Например, если переменной ответа является температура объекта, то используется дерево регрессии. Модель дерева регрессии адаптируется к целевой переменной с использованием каждой из независимых переменных. Имейте в виду, что независимая переменная — это такая переменная, которая не зависит от других переменных, которые вы измеряете. Данные в дереве регрессии разбиваются на независимые переменные. В общем, деревья регрессии следует использовать для задач типа прогнозирования.

Преимущества деревьев классификации и регрессии

Так почему же мы используем деревья классификации и регрессии вместо обычных деревьев решений? Что ж, их цель — создать множество условий if-else, пока у нас не будет достаточно данных для точной классификации или прогнозирования случая. У них есть некоторые преимущества перед обычными деревьями решений, к ним относятся:

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

Недостатки деревьев классификации и регрессии

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

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

Как использовать деревья классификации и регрессии в Python

Теперь, когда мы понимаем основы того, что такое деревья классификации и регрессии, мы можем посмотреть, как их кодировать на Python. К счастью для нас, библиотеки для деревьев классификации и регрессии уже существуют в Python как часть scikit-learn, поэтому нам не нужно их создавать. Мы можем просто импортировать их, как показано ниже:

from sklearn.tree import DecisionTreeClassifier

from sklearn.tree import DecisionTreeRegressor

Сначала мы рассмотрим, как использовать дерево классификации. Для этого нам нужно загрузить наборы данных и создать объекты для хранения данных и целевого значения соответственно. В приведенном ниже примере мы используем набор данных Wine и используем X для хранения объектов и y для хранения данных и целевых значений:

dataset = datasets.load_wine()

X = dataset.data; y = dataset.target

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)

Теперь давайте посмотрим, как использовать дерево классификации в качестве модели машинного обучения. Ниже мы подгоняем данные с помощью DecisionTreeClassifier:

model = DecisionTreeClassifier()

model.fit(X_train, y_train)

print(model)

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

dataset = datasets.load_chicago()

X = dataset.data; y = dataset.target

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)

Настройка дерева регрессии в качестве модели машинного обучения также очень похожа на деревья классификации, как показано ниже:

model = DecisionTreeRegressor()

model.fit(X_train, y_train)

print(model)

Также читайте: Введение в XGBoost и его использование в машинном обучении.

Заключение

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

Рекомендации

Брейман, Лео. Деревья классификации и регрессии. Рутледж, 2017.

«Деревья классификации и регрессии». Серия по машинному восприятию и искусственному интеллекту, WORLD SCIENTIFIC, 2019, стр. 23–49, http://dx.doi.org/10.1142/9789811201967_0002. По состоянию на 14 июня 2023 г.

Рокач, Лиор. Интеллектуальный анализ данных с помощью деревьев решений: теория и приложения. Всемирный научный, 2008.

Тацат, Хариом и др. Проекты машинного обучения и науки о данных для финансов. «О’Рейли Медиа, Инк.», 2020 г.

LEAVE A REPLY

Please enter your comment!
Please enter your name here