Tl;dr Создание деревьев решений на основе машинного обучения с интерфейсом перетаскивания здесь: createdecisiontree.com

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

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

Не волнуйтесь, если не сразу понятно, как мы интерпретируем эти деревья, мы вскоре рассмотрим это с некоторыми примерами использования.

В течение некоторого времени я хотел создать что-то, что позволило бы любому, у кого есть данные, создавать эти деревья для себя. Поскольку мой опыт не связан с созданием графических интерфейсов или веб-сайтов, я действительно не знал, как этого добиться. Так было до тех пор, пока я не пересекся с библиотекой Python под названием Streamlit. Эта мощная библиотека позволяет человеку, обладающему лишь базовыми знаниями Python, относительно легко создавать интерактивные веб-приложения. На их веб-сайте написано: Опыт работы с интерфейсом не требуется — так что я знал, что это для меня!

Немного повозившись со Streamlit и потратив немного времени на настройку некоторых вещей в AWS, мне удалось раскрутить createdecisiontree.com. Если у вас есть данные в табличном формате csv, вы можете перетащить их на сайт, чтобы создать дерево решений машинного обучения. Хотя, конечно, сначала вам нужно дать дереву цель!

Примеры использования

Классификация

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

Теперь предположим, что для каждого клиента у них есть записи о различных вещах, таких как срок их пребывания в должности, продолжительность контракта, понесенные расходы и продукт, на который они подписаны. Они могли бы использовать свои исторические данные, которые показывают эту информацию, а также информацию о том, кто произвел и не произвел перераспределение, для создания дерева решений классификации. На createdecisiontree.com они указывают, что они хотят, чтобы дерево предсказывало (изменение), а затем устанавливают тип дерева Классификация.

Нам нужно многое понять, поэтому давайте начнем с верхнего узла, где алгоритм решил сделать свое первое разделение. Мы видим, что важно, находится ли клиент в компании больше или меньше 16,5 месяцев. Если менее 16,5 месяцев (путь «Да»), то мы видим, что следующее наиболее важное разделение связано с тем, есть ли у клиента оптоволокно. Вы заметите, что цвет этого узла светлее. Он по-прежнему красный (класс = Нет) и, таким образом, указывает на то, что клиент не будет уходить, но, поскольку он светлее, люди, все еще находящиеся на этом пути, с большей вероятностью уйдут (46% против 27% в верхнем узле, как видно из «значения». ”, который есть у каждого узла).

Далее, если у клиента нет оптоволокна (путь «НЕТ»), мы попадаем на зеленый узел с классом = «Да». Клиенты, все еще находящиеся на этом пути, теперь с большей вероятностью уйдут, чем нет (68% уходят против 32% не уходят). Таким образом, согласно этому дереву, клиенты, которые работают в компании 16 месяцев или меньше и не имеют оптоволокна, с большей вероятностью уйдут, чем нет. Наконец, мы видим, что вероятность оттока увеличивается еще больше, если клиент потратил менее 120 фунтов стерлингов.

Это очень полезная информация! Другие пути в дереве также показывают факторы, влияющие на отток клиентов.

Регрессия

Как насчет регрессии? Если бы мы хотели увидеть влияние конкретных переменных на количество или непрерывное значение, мы бы использовали дерево регрессии.

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

У таких деревьев есть только один цвет, и чем он темнее, тем больше ценность того, что мы измеряем.

Наше дерево показывает нам, что более высокие уровни азота в нашей почве приведут к более высоким урожаям. Мы видим, что когда концентрация азота низкая (путь «Да» в верхнем узле), дерево считает, что концентрация калия хорошо влияет на определение урожайности. Если калий низкий (снова путь «Да»), то дерево разделяет данные на основе концентрации фосфатов.

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

Подведение итогов

Как человек, который занимается машинным обучением в качестве своей повседневной работы, я считаю необходимым сказать, что эти деревья не удивительны, когда дело доходит до их предсказательной способности. Есть несколько проблем с ними, которые делают их немного ненадежными, например, чрезмерная подгонка (тема, которую я не буду здесь затрагивать).

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

Проверьте это здесь: createdecisiontree.com