В «Скандале в Богемии» Шерлок Холмс говорит доктору Ватсону: «Теоретизировать, не имея данных, опасно. Незаметно для себя человек начинает подтасовывать факты, чтобы подогнать их к своей теории, вместо того чтобы подтвердить факты теорией».
об аналитиках данных. Они играют в салочки с технологией, которая еще даже не изобретена.
Закон Мура — это закон прогнозирования.
основное допущение этого алгоритма: k-NN допускает, что даже неизвестные особенности пациентов будут схожи при условии, что схожи некоторые известные особенности
Короче говоря, если вы просто не в состоянии работать с данными, то можете назвать их большими данными
данные — это любая единица информации
Построение алгоритма k-NN
Выберите для вашего алгоритма число k — количество ближайших соседей. Важно сначала установить, сколько соседних точек данных в нашем тренировочном наборе мы хотим проанализировать, чтобы новая точка данных была успешно классифицирована. k-NN анализирует расстояние между нашей новой точкой данных и существующими точками вокруг нее и классифицирует новую точку данных в соответствии с категорией (здесь либо (1) страдающий диабетом, либо (2) здоровый), которая представлена наибольшим числом соседей. Например, если мы хотим классифицировать наши новые точки данных посредством анализа пяти ближайших точек данных, то мы определим значение k как 5[46].
Измерьте (евклидово) расстояние между новой точкой данных и всеми существующими точками. Раз мы сказали, что k равно 5, то нам нужно определить пять соседей, ближайших к нашей точке данных. Для этого мы должны сначала измерить расстояние от нашей новой точки данных до всех точек, которые у нас уже есть.
Построение классификации случайного леса
Выберите количество деревьев, которые хотите создать. Для многих программ параметр по умолчанию — десять деревьев. Число, которое вы в конечном итоге выберете, будет зависеть от контекста. Меньшее количество деревьев может обусловить менее точные прогнозы. И наоборот, в большинстве случаев можно использовать любое количество деревьев, поэтому нет необходимости беспокоиться о чрезмерно близкой подгонке алгоритма к данным.
Установите классификатор в тренировочный набор. Внедрение классификатора случайного леса в тренировочный набор поможет вам в будущем научиться составлять прогнозы для новых точек данных. Затем мы можем сравнить эти прогнозы с фактическими результатами в нашем массиве данных, чтобы увидеть, насколько точен классификатор.
Алгоритм случайного леса случайно выберет N подмножеств из вашего массива данных, где N — количество деревьев, указанное для параметра в шаге 1. Эти подмножества могут перекрываться; однако никакие два множества не будут идентичными.
После выбора подмножеств каждое из них будет использоваться в качестве исходного массива данных для построения уникального дерева классификации. Таким образом, каждое дерево классификации видит только свое подмножество данных и не имеет представления о том, что фактический массив данных шире. Подобный подход обеспечивает разнообразие при генерации деревьев — именно отсюда в алгоритме случайного леса возникает «сила толпы».
Исходя из этой логики, чтобы помочь алгоритму делать более точные прогнозы, мы можем просто добавить информацию в наш массив данных — чем больше данных в нашем тренировочном наборе, тем более точным будет прогноз алгоритма.
Дерево решений или случайный лес?
Хотя алгоритм случайного леса можно рассматривать как «обновление» деревьев решений, оба метода имеют свои преимущества в зависимости от поставленной задачи. Для проектов, использующих относительно мало данных, применение алгоритма случайного леса не даст оптимальных результатов, так как он будет излишне подразделять данные. В этих сценариях более эффективно дерево решений, которое обеспечивает быструю и простую интерпретацию данных. Но если вы работаете с большим массивом данных, более точный прогноз даст случайный лес, но его интерпретируемость окажется ниже[45].
Случайный лес
Алгоритм случайного леса основывается на концепции деревьев решений с использованием ансамблевого метода классификации. Вместо одного дерева случайный лес использует много разных деревьев, чтобы сделать один и тот же прогноз, принимая среднее значение результатов отдельных деревьев.
Способность ансамблевых методов к интуитивному мышлению
Вот мой любимый пример ансамблевого метода, который должен сделать концепцию более интуитивно понятной. Вы когда-нибудь участвовали в конкурсе, в котором нужно определить количество конфет внутри стеклянной банки? Тот, чья догадка окажется ближе всего к правильному ответу, выигрывает приз[44].
В то время как некоторые из деревьев могут быть недостаточно эффективны (в зависимости от поставленной бизнес-задачи), мы можем применить силу толпы; когда деревья решений используются в совокупности, они могут давать гораздо более обоснованные прогнозы. Подумайте об этом как о процессе голосования — каждое решающее дерево проголосует (сделает прогноз), а затем алгоритм случайного леса возьмет вариант с наибольшим количеством голосов в качестве результата. Демократия среди деревьев!
Это делает оригинальный алгоритм намного более мощным. Вместо одного дерева решений для всего массива данных случайный лес создает несколько деревьев решений. Чтобы сделать такие деревья уникальными, их создают из различных подмножеств массива данных.
Информация vs математика в науке о данных
Большинство методов, которые мы обсуждаем в этой книге, основаны на сложной математике и статистике. Однако вы могли заметить, что в их описании отсутствуют математические формулы. Это вызывает тревогу: сможем ли мы действительно понять алгоритм, если не вникаем в его детали?
Вот как я отвечаю на этот вопрос: подумайте о вождении автомобиля. Вам доводилось когда-нибудь разбирать машину? Вы можете отличить распределительные валы от коленчатых? Как на самом деле работает круиз-контроль машины? Большинству из нас неизвестно все, что касается технической эксплуатации наших автомобилей, и все же почти все мы ездим на них. Часто. В этом разница между математикой и интуицией.
Математика разбивает алгоритм на части, чтобы понять, как именно он работает и почему. В этом нет ничего плохого, и бывают ситуации, когда требуется такой уровень детализации. Но по большей части в нем нет необходимости при работе в качестве аналитика данных. Так же как базовое умение пользоваться педалями и рулевым управлением автомобиля поможет вам добраться из пункта А в пункт В, так и интуиция, лежащая в основе аналитических моделей в науке о данных, окажется полезной для решения поставленной задачи.
Если это вас немного успокоило, значит, я выполнил свою работу. Слишком часто я сталкиваюсь с тем, что науку о данных чересчур усложняют. Моя цель — доказать вам, что, как любой человек может водить машину, любой может быть аналитиком данных.