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