В этой статье я хочу рассказать вам о деревьях решений, а затем я закончу эту статью несколькими упражнениями. Хорошо, давайте начнем.

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

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

По сути, дерево решений имеет 3 основных узла: корневой узел, первый, где начало — единственная точка входа, здесь — зарплата не менее 50 000 долларов, затем два условия «да» и «нет», которые называются узлы решения, которые приведут к узлам ветвления и конечному результату, который также является единственной выходной точкой, называемой листовым узлом,листом, потому что, как и у настоящего дерева, листья находятся на концах.

Бонус!!!

Набор деревьев решений называется случайными лесами.

Я напишу о Random Forests как-нибудь в другой раз.

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

давайте закодируем простой классификатор дерева решений

Вы знаете?

Классификатор дерева решений также можно использовать для регрессии?

Упражнения и прочее…

1. Если обучение дерева решений на обучающем наборе, содержащем 1 миллион экземпляров, занимает один час, сколько примерно времени потребуется для обучения другого дерева решений на обучающем наборе, содержащем 10 миллионов экземпляров?

Ответ: Сложность обучения дерева решений определяется формулой

k = O(n × m log(m)), где m — количество экземпляров

мы знаем, что k = 1 час для 1 миллиона, если мы приравняем с помощью простой математики, мы получим k = 11,4 (приблизительно) часов.

2. Если дерево решений не соответствует обучающей выборке, стоит ли попробовать масштабировать входные функции?

Ответ: Деревья решений не заботятся о том, масштабируются или центрируются обучающие данные; это одна из приятных вещей в них.

3. Обучите и настройте дерево решений для любого набора классификационных данных.

а. Разделите его на тренировочный набор и тестовый набор с помощью train_test_split().

б. Используйте поиск по сетке с перекрестной проверкой (с помощью функции GridSearchCV).

class), чтобы найти хорошие значения гиперпараметров для DecisionTreeClassifier.

Подсказка: попробуйте разные значения max_leaf_nodes.

в. Обучите его на полном тренировочном наборе, используя эти гиперпараметры, и измерьте

производительность вашей модели на тестовом наборе.

Надеюсь, вы лучше понимаете деревья решений.

Большое спасибо за прочтение!!!

Приятного чтения!

Кредиты:

  1. Практические занятия по машинному обучению с помощью Scikit-Learn, Keras и Tensor Flow.
  2. sklearn.tree.DecisionTreeClassifier — документация scikit-learn 1.0.1
  3. Что такое дерево решений и как его использовать? (careerfoundry.com)
  4. «Практическое машинное обучение Глава 6. Обучение и визуализация решения… | Сиси (Рэйчел) Чен | Середина"