Что, если бы я попросил вас назвать животное с перьями, которое не может летать. Что, если бы я попросил вас предсказать, выживет ли Илон Маск в титанике? Насколько вы уверены, что дадите правильный ответ? А какие шаги вы совершаете в голове, чтобы вычислить ответ?

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

Деревья решений

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

Характеристики

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

Типичным примером дерева является XML-документ. «Элемент документа верхнего уровня является корневым узлом, и каждый тег, обнаруженный в нем, является дочерним. У каждого из этих тегов могут быть дочерние элементы и т. Д. В каждом узле тип тега и любые атрибуты составляют данные для этого узла ». В таком дереве четко определены иерархия и порядок узлов, а также важная часть самих данных. Еще один хороший пример - это набросок бумаги. Сама схема является корневым узлом, содержащим каждую из маркерных точек верхнего уровня, каждая из которых может содержать один или несколько подпунктов и т. Д. Система хранения файлов на большинстве дисков также имеет древовидную структуру.

Деревья решений

Почему такое дерево решений?

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

Примеры современных деревьев решений

  1. Когда вы разговариваете по телефону с международным банком или телефонной службой, оператор скажет: «Нажмите 1 для английского, нажмите 2 для испанского, нажмите 3 для французского, нажмите 4 для китайского и нажмите #, чтобы повторить эти варианты». Затем будут заданы дополнительные вопросы в зависимости от причины звонка. Цель компании не в том, чтобы утомить клиента, а в том, чтобы помочь перенаправить его к нужному человеку в нужном отделе, чтобы удовлетворить потребности клиентов.

2. Корпоративные структуры: «Корпоративные структуры тоже хорошо поддаются деревьям. В классической управленческой иерархии у президента может быть один или несколько вице-президентов, каждый из которых отвечает за несколько менеджеров, каждый из которых руководит несколькими сотрудниками ».

Деревья решений против двоичных деревьев поиска

Дерево двоичного поиска - это фундаментальная структура данных, которая полезна для хранения данных, которые можно легко найти позже. Прелесть структуры данных в том, что среднее время поиска для нее составляет log n времени. В каждом узле двоичного дерева вы спрашиваете, больше ли искомое число (больше) или меньше (меньше) искомого числа, пока вы не найдете искомый элемент.

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

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

В конечном итоге двоичное дерево решений - это инструмент для принятия решений на более высоком уровне с уменьшением человеческой предвзятости. Алгоритм задает ряд серьезных вопросов, чтобы дать вам ответ.

Понимание деревьев решений

Прелесть деревьев решений в том, что их легко понять из-за их графического представления. Деревья решений также легче чистить, и на них не влияют выбросы и отсутствующие значения в наборе данных. Деревья решений также могут содержать как числовые, так и категориальные данные. В рамках методологии дерева решений есть несколько различных алгоритмов, которые можно использовать. В этой статье основное внимание будет уделено алгоритму CART: Classification And Regression Tree Algorithm.

Реализация дерева решений

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

Импортируйте наши зависимости

Идентификация отсутствующего значения

Обработка категориальных данных

Результаты обучения

Похоже, что наша модель точна на 79% с оценкой точности 79%. Давайте настроим параметры и визуализируем нашу модель.

Настройка параметров

Результаты классификационного анализа

Визуализируйте дерево с помощью графика

Делайте прогнозы на основе нашего набора данных тестирования

Давайте протестируем нашу модель, применив ее к нашему набору тестовых данных!

Заключение

Поздравляем с внедрением вашего собственного дерева решений в титаническом наборе данных! Деревья решений также можно использовать для более серьезных задач. Компании используют их каждый день, чтобы принимать информативные решения на основе данных; следовательно, люди взаимодействуют с алгоритмами дерева решений каждый день. В этой статье упоминается множество различных приложений для деревьев решений, таких как предсказание погоды, идентификация животного или предсказание вероятности смерти на корабле, как наш титанический пример в этой статье. Я надеюсь, что практическая реализация дерева решений и его реальных приложений хорошо послужит вам для применения этой концепции. Для более теоретического объяснения, пожалуйста, посетите некоторые источники, перечисленные ниже.

Теоретические объяснения деревьев решений

Источники для статьи: