В главе 3 «Главного алгоритма» Педро Домингоса есть пример дерева решений о том, как компьютер может определить политическую принадлежность человека. Само дерево сверху вниз звучит примерно так: Вы хотите снизить налоги? Если нет, то вы, вероятно, демократ. Если да, то вы за жизнь? Если да, то вы, вероятно, республиканец. Если нет, то поддерживаете ли вы контроль над оружием? Если да, то вы, вероятно, демократ. Если нет, вы, вероятно, независимый. Дерево решений использует игру из 21 вопроса, чтобы определить вашу принадлежность. Мы можем сделать то же самое с наукой о данных и определить тенденции, закономерности и аномалии в наборах данных.

Детализация вопросов по набору данных — это причудливый способ сказать «фильтрация». Мы запрашиваем наши данные, чтобы получить информацию, которую мы ищем. Если мы используем данные о трафике из города Бостона, мы можем увидеть, когда и где возникает наибольшая загруженность, и получить физическое доказательство того, где проблемы. Возьмите набор данных о дорожном движении, отсортируйте по наибольшему количеству пробок и учитывайте эту область при разработке будущих проектов строительства улиц. Это позволяет городским и правительственным чиновникам принимать более взвешенные решения в отношении вещей, которые они не могли измерить в прошлом. Как это связано с деревом решений? Мы могли бы посмотреть на дерево решений строительных проектов, где данные о дорожном движении являются решающим фактором. Уровень загруженности перекрестка выше 70%? Если нет, то строительство не требуется. Если да, есть ли конструкции, препятствующие расширению дороги? Если нет, мы можем расширить дорогу, добавив больше полос. Если да, создайте транспортный поток, чтобы отвлечь все автомобили от использования рассматриваемой дороги. Дерево решений и его связь с наукой о данных очень важны.

Структура дерева решений может использоваться во многих местах в науке о данных. Хотя это просто другой способ компоновки сложной вложенной структуры if, упрощение компоновки может помочь гораздо большему количеству людей понять возможности области науки о данных. Если бы я должен был внедрить это в свою жизнь, я бы хотел, чтобы это было для моего тарифного плана мобильного телефона. У меня есть безлимитные данные с Verizon, но я использую только определенное количество каждый месяц, скажем, 6 ГБ или 8 ГБ в среднем. Я бы хотел, чтобы бот мог использовать предыдущие данные, чтобы предсказать, сколько данных я буду использовать в данном месяце. Исторически я уезжаю в отпуск в июле месяце. Я склонен использовать больше данных в отпуске, так как Wi-Fi в отеле никогда не бывает адекватным. Бот может использовать дерево решений, чтобы определить, что я использую больше данных в июле, исторически говоря, и соответствующим образом изменить свой тарифный план. Если есть месяц, когда я склонен использовать меньше данных, скажем, февраль, поскольку он короче, бот уменьшит мою норму данных за месяц, и с меня будет взиматься меньшая плата. Зачем платить за безлимитный интернет, если в некоторые месяцы можно использовать только 4 ГБ? Было бы намного дешевле заплатить за 4 ГБ по сравнению с моим безлимитным планом. Служба IBM Watson, которая может помочь мне в этом, — API службы обнаружения. Мне также нужно было бы иметь возможность подключиться к моей учетной записи Verizon, но у меня могла бы быть программа, которая извлекает исторические данные из Verizon, загружает их в Watson Discovery, и ответом от Watson будет то, что делать с моим планом: увеличить, уменьшить или остаться прежним.