Google Assistant недавно получил доступ к сторонним действиям, которые можно использовать в своих приложениях. Я использовал это в своем Google Home, чтобы проверить, будет ли работать Akinator Genie. Если вы не знаете, Акинатор - это джинн, который может угадать любого вымышленного или реального человека с помощью множества вопросов. Сначала я подумал о Волан-де-Морте, и Акинатор смог правильно угадать с точностью до 20 вопросов. Продуманный алгоритм, скорее всего, представляет собой дерево решений.

Дерево решений проще всего понять через картину процесса, который он требует. Это изображение представляет собой дерево решений, основанное на наборе данных Титаника, чтобы узнать процент тех, кто выжил, а кто нет. На большинстве изображений дерева решений левая ветвь обычно истинна или да, а правая ветвь обычно ложна или нет. В этом примере дерево решений задает вопрос: «Пол мужской?». Если это правда, продолжайте левую ветку. Если false, перейдите в правую ветку. Если мы спустимся по правой ветке, мы обнаружим, что если бы вы НЕ были мужчиной на Титанике, у вас был бы 73% шанс выжить. Этот факт был прославлен в фильмах «Титаник», где «прежде всего женщины и дети» уменьшили вероятность того, что мужчина выживет при кораблекрушении.

Зачем использовать деревья решений?

В науке о данных деревья решений и их совокупные случайные леса часто используются из-за их простоты и интерпретируемости. Особенно легко это сделать в Python. Вы можете использовать библиотеки: sklearn, IPython.display и pydotplus, чтобы описать все ветви и решения, которые ваше дерево решений преобразовало в простую для понимания блок-схему.

В этом примере мы определяем, является ли школа частной или государственной. Первая строка каждого узла решения - это решение, используемое для разделения ваших данных, чтобы в конечном итоге достичь заданной вами классификации. Поэтому, если F.Undergrad меньше или равно 2,995, двигайтесь влево. В конце концов, мы достигаем точки, где мы не можем продолжать дальше, - листового узла. В каждом узле раздел «значение» представляет собой подсчет того, сколько из общего количества выборок попадает в классификацию частных или государственных школ. Первое значение соответствует государственной школе, а второе значение соответствует частной школе. Если вы не знаете, что есть что, используйте код clf.classes_

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

Я снова попросил джинна-акинатора угадать моего персонажа. На этот раз я думал о Гарри Поттере. Акинатор ответил ему меньше чем на 10 вопросов. Судя по всему, он всегда хорошо догадывается.

Спасибо, что зашли так далеко! Если у вас есть какие-либо вопросы, любые вакансии или возможности в районе Атланты, оставьте комментарий ниже!