Деревья регрессии
Вступление
Деревья двоичных решений - это supervised
техника машинного обучения, в которой атрибуты подвергаются серии бинарных (да / нет) решений. Каждое решение приводит к одной из двух возможностей. Каждое решение ведет к другому решению или к предсказанию. Пример дрессированного дерева поможет закрепить идею. Вы узнаете, как работает обучение, после того, как поймете его результат. Decision Trees
используются как для Regression
, так и Classification
задач машинного обучения. Термин Classification And Regression Tree
(CART
) анализ - это общий термин, используемый для обозначения обоих процессов.
Пример набора данных о качестве вина
Прочитать набор данных
<class 'pandas.core.frame.DataFrame'> RangeIndex: 1599 entries, 0 to 1598 Data columns (total 12 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 fixed acidity 1599 non-null float64 1 volatile acidity 1599 non-null float64 2 citric acid 1599 non-null float64 3 residual sugar 1599 non-null float64 4 chlorides 1599 non-null float64 5 free sulfur dioxide 1599 non-null float64 6 total sulfur dioxide 1599 non-null float64 7 density 1599 non-null float64 8 pH 1599 non-null float64 9 sulphates 1599 non-null float64 10 alcohol 1599 non-null float64 11 quality 1599 non-null int64 dtypes: float64(11), int64(1) memory usage: 150.0 KB
Совет Мы не собираемся тестировать алгоритм, мы стремимся только проиллюстрировать, как он работает. Таким образом, мы будем использовать весь набор данных без разделения на наборы данных для обучения и тестирования.
Обучите модель
Визуализируйте наше дерево
На приведенном выше рисунке показана серия решений, полученных в результате обучения работе с данными о качестве вина. Блок-схема обученного дерева показывает ряд блоков, которые на языке дерева решений называются узлами. Есть два типа узлов: узлы могут либо pose a yes/no question of the data
, либо они могут быть terminal
узлами, которые assign a prediction
к примерам, которые в них попадают. Terminal
узлы часто упоминаются как leaf nodes
. Конечные узлы - это узлы в нижней части рисунка, которые не имеют ветвей или еще decision nodes
под ними.
Как двоичное дерево решений генерирует прогнозы?
Как определить точку разделения
Использование уменьшения дисперсии (среднеквадратичная ошибка)
Вот вопрос как определяется точка разделения.? Процесс состоит в том, чтобы попробовать все возможные точки разделения, чтобы получить наилучшую, как показано ниже.
- Согласно приведенному выше древовидному графику, столбец № (11) имеет наиболее значительное влияние на нашу цель. Почему - - ›
Will be illustrated below
- Значение (10,525) в корневом узле приведенного выше графика представляет собой значение, при котором достигается минимальное значение
Mean Squared Error "MSE"
следующим образом:
- Сортируйте элементы наших функций снисходительно.
- Получите среднее значение между первыми двумя точками в нашей функции и определите его как наш порог.
- Получите соответствующие средние выходные значения: одно для целевых значений перед порогом, а другое - для целевых значений рядом с порогом. Эти средние значения составляют
2-predicted values
. - 4. Рассчитайте
Mean Square Error
со ссылкой на каждое среднее(mean value)
. - Повторите пункты 2–4, но с получением нового порогового среднего значения между 2-й и 3-ей характеристическими точками и так далее, пока не достигнете последних 2-х точек в нашей функции.
- Пороговое значение в нашей функции, которое соответствует
Least MSE
для нашей цели.
- Итак, разделив набор данных вокруг значения
split
, как показано ниже, чтобы получить наборы данныхd1
иd2
:
- Обратите внимание, что
max
значение [X10] 'алкоголь' в d1 равно10.50
иmin
значение 'алкоголь' в d2 равно10.55
- Вычисление среднего из двух приведенных выше значений приведет к:
10.525
, который представляет нашу точку разделенияroot
узла.
- Повторите эти действия для остальных нетерминальных узлов, пока не достигнете листового узла.
Как определить наиболее важную особенность (атрибут), которую нужно разделить?
- Алгоритм повторяет описанные выше шаги для каждой функции.
- Получите наилучшие
Mean Square Error
иsplit
баллов за каждую функцию. - Тогда наиболее значимая функция будет иметь "наименьшую MSE".
Определение точки разделения графически.
Теперь давайте разделим набор данных по точке разделения
Определение точки разделения графически.
Совет. Если модель идеально подходит для обучающих данных, это, вероятно, означает, что она переобучена и not
будет хорошо работать с новыми данными
Как предотвратить переоснащение
- Самый простой способ - разделить наблюдения только тогда, когда данных для разделения достаточно.
- Обычно минимальный нет. наблюдения, чтобы разрешить раскол -
20
.