О чем речь? Кластеризация – это группировка данных по определенным критериям: вид, размер, форма, категория и т.д. При этом объекты внутри кластера должны минимально сходиться по одному признаку, отличаясь по остальным.
Где применяется? Кластеризацию используют в разных сферах: маркетинге, программировании, медицине, SEO. Популярных методов два: K-Means и DBSCAN. Также она выполняется в Excel или некоторых языках программирования.
В статье рассказывается:
- Суть кластеризации
- Задачи кластеризации
- Популярные алгоритмы кластеризации
- Этапы кластеризации
- Часто задаваемые вопросы о кластеризации
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Суть кластеризации
Кластеризация – уникальный метод, который позволяет разбить объекты на группы, не имея заранее заданной обучающей выборки или знания о природе этих классов. Модель самостоятельно определяет схожесть некоторых предметов и объединяет их в один сектор. Одним из преимуществ кластеризации является то, что она не требует знания о том, какие классы будут сформированы и сколько их будет. Научным названием кластеризации является unsupervised classification – из-за сходства постановки задачи.
Методы кластеризации – эффективный инструмент для решения задач классификации, когда сбор обучающей выборки затруднителен или дорог. Валидационная выборочная совокупность нуждается в меньшем приведении примеров, чтобы оценить результаты процесса. Но следует помнить, что точность работы supervised-методов существенно выше. И если возможен сбор обучающей выборки, лучше используйте её для решения задачи классификации.
Один из хороших примеров применения методов кластеризации – анализ геоданных. При использовании приложений в мобильных телефонах часто необходимо определить точное местоположение. Погрешность в GPS-данных возникает из-за движения пользователей: часто приходится наблюдать множество точек вместо точного положения. Это особенно актуально при анализе поведения тысяч людей в определенной локации, например, для определения наиболее популярных мест, где пользователи садятся в такси у аэропорта.
Еще одним примером, связанным с кластеризацией геоданных, является наличие в телефонах интерфейсов для просмотра фотографий. По ним можно определить местонахождение, а при масштабировании карты можно увидеть разные кластеры, на которые они делятся. Также интересным примером является построение цветовой схемы интерфейса под выбранное пользователем изображение: необходимо произвести кластеризацию цветов, используя RGB-представление или другие признаки оттенка. Затем использовать их для оформления интерфейса, включая фоновую картинку.
Задачи кластеризации
Этот подход применяется при наличии массивов данных с разными признаками. Однако у них должно быть какое-то единство – по-другому осуществить кластеризацию не удастся. На группы можно разделить:
- Клиентов, чтобы проанализировать поведение конкретных их объединений.
- Оппонентов бизнеса – при изучении рынка.
- Болезни – для исследования статистических данных о выздоровлении.
- Участников опроса – чтобы проанализировать мнения людей разных групп.
- SEO-ключи – для создания тем на страницах сайта.
- Полученные файлы, имеющие разный формат, для их удобной обработки.
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Скачивайте и используйте уже сегодня:
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
Кластеризация широко распространена в различных сферах, так как ее можно применить почти ко всем данным, которые необходимо объединить в одну систему и придать им единую структуру.
У деления данных на кластеры для анализа четыре основные цели:
- Понимание
Чтобы аналитик смог определить, по какому признаку взяты данные, необходимо сортировать разрозненные сведения на группы. Тогда будет проще произвести процесс обработки, к примеру, применение определенных методов анализа кластеризации к разным кластерам.
Читайте также!
- Выявление аномалий
Осуществив кластеризацию, возможно выявить отдельные данные, не относящиеся ни к одной группе. Чтобы определить наличие ошибки или интересного феномена, их следует обработать.
- Расширение
Иногда при сборе информации какие-то данные имеют больше признаков, а какие-то меньше. Изучаемый подход позволит сделать предположение об отсутствующих у иных элементов чертах группы. Приведем пример кластеризации. Известно, что время нахождения участников в группе «мужчины» на сайте в среднем занимает 15 минут. Если в кластере появится новый человек с неизвестным временем пребывания на сайте, можно будет предположить, что для него оно тоже равно 15 минутам.
- Сжатие
Большое количество данных можно разделить на группы, затем произвести усреднение и оставить по одному объекту на каждый кластер. Это будет способствовать использованию меньшей мощности при анализе в будущем.
Популярные алгоритмы кластеризации
Различают много методов кластеризации, при использовании разных способов получаются свои результаты. Изучим следующие самые распространенные методы для решения реальных задач:
K-Means
Чтобы использовать метод, надо придерживаться определенного алгоритма кластеризации:
- Определится с параметром k – с количеством групп, которое нам хотелось бы получить.
- С помощью случайной выборки определяем k точек-объектов из всех имеющихся данных (центроиды).
- Произведем процесс определения того, какой потенциальный центр кластера расположен ближе всего для каждой точки-объекта данных. Кластер образуют все точки, ближайшие к одной и той же центроиде.
- В каждой такой группе находим середину среди координат, то есть среднюю из них – теперь это новый потенциальный центр кластера.
Продолжаем рассчитывать расстояния между каждой точкой-объектом и новыми центроидами, определяем ближайшие, считаем новые потенциальные центры новых кластеров. Осуществлять данные мероприятия надо, пока не произойдет смена центроидов.
DBSCAN
Для этого метода количество кластеров устанавливается автоматически. Однако необходимо определить диапазон поиска точек и минимальное их количество в кластере.
- Осуществим выбор объекта и найдем точки вокруг него в выбранном нами диапазоне.
- Если их не набралось даже минимального количества, назовем их выбросами и не будем относить ни к одной группе.
- Если удалось найти нужное их количество, для каждой также ищем новые точки в выбранном нами диапазоне. Так, все из них, которые находятся друг от друга на расстоянии меньшем или равном заданному диапазону, будут формировать один кластер.
Однако выбор подхода к использованию метода не всегда очевиден. В зависимости от задачи и особенностей данных, различные способы кластеризации более или менее эффективны. Метод DBSCAN особенно полезен, когда данные содержат объекты, не принадлежащие ни к одной группе, и кластеры имеют сложную форму. Определение количества классов K-Means является одним из самых популярных методов кластеризации и обычно используется, когда заранее известно их количество, которое нужно обнаружить в данных. Он хорошо работает с линейно разделимыми данными, когда можно провести линии, разделяющие кластеры.
Если задача требует определения точного количества групп, K-Means может быть более подходящим. Но если данные не могут быть разделены линейными линиями, то метод DBSCAN имеет преимущества. Изображение, представленное ниже, свидетельствует о том, что DBSCAN точнее определяет кластеры тогда, когда данные неразделимы таким образом, чем K-Means.
Этапы кластеризации
Чтобы провести кластерный анализ необходимо:
- Осуществить подготовку данных. Надо быть уверенным, что обладаете всеми нужными сведениями. Эти данные должны быть разделены по признакам «клиент» и «продукт».
- Отразить данные в формате цифр, чтобы можно было рассчитать расстояние между «точками»-объектами, чтобы осуществить процесс кластеризации. Приведем пример. Пусть одним из показателей будет город, тогда присвоим им код (Москва – 402, Санкт-Петербург – 403 и так далее).
- Произвести объединение данных в хранилище. Это нужно, скорее, для удобства. Например, можно объединить сведения в BigQuery от Google.
- Также надо осуществить преобразование данных, которые имеют разные единицы измерения. Допустим, стандартизацию всех значений, чтобы они варьировались от 0 до 1.
Читайте также!
После обработки сведений применяют алгоритм кластеризации. Есть несколько методов:
- Применение программного способа: например, если в команде есть профессионалы, которые способны произвести анализ сведений,они могут использовать для того, чтобы разделить на кластеры языки R или Python.
- Воспользоваться аналитическими сервисами по типу Tableau – они характеризуются встроенными инструментами для кластеризации.
- Выполнять работу в хранилище данных – таких, как BigQuery: они визуализируют результаты, если вы владеете синтаксисом языка SQL.
- Использовать Excel и считать всё вручную; этот способ можно применять для меньшей части объектов — например, при необходимости объединить семь объектов с двумя признаками в две группы.
на курсы от GeekBrains до 24 ноября
Кластеризация – это мощный инструмент анализа данных, который может помочь определить наиболее информативные переменные для подготовки стратегий маркетинга. Даже при использовании только двух переменных, результаты могут быть весьма полезными. Например, если отвечаете за маркетинг и стратегию, можно использовать кластеризацию при определении продуктов, которые стоит продвигать в первую очередь, и тех, от которых лучше отказаться.
Часто задаваемые вопросы о кластеризации
Как описать кластеризацию формально?
Кластеризация включает в себя одно множество – объектов (X) и другое – номеров кластеров (Y). Задана функция расстояния между объектами (p). Основная цель – разбить обучающую выборку на кластеры так, чтобы объекты внутри каждого сектора были близки друг к другу по метрике p, а из разных – существенно отличались друг от друга. Каждому объекту присваивают номер группы y(i). Алгоритм кластеризации: функция, любому объекту X ставящая в параллель номер кластера Y.
Какие типы данных используются в кластеризации?
Различают следующие:
- Описываемые признаки объектов, которые подразделяются на числовые и нет.
- Таблица дистанций между объектами. Каждый объект описывается расстояниями до всех остальных в кластеризации.
Как проверяют кластеризацию?
Оценка результатов является сложной задачей, так же как и сам процесс группировки. Наиболее распространенные методы включают «внутреннюю» и «внешнюю» оценку. В первом случае система сводится к одному качественному показателю, а во втором кластеризацию сравнивают с уже существующей классификацией или «основополагающей правдой». Дополнительно эксперт-человек может провести ручную оценку и определить полезность использования метода в предполагаемом приложении.
Кластеризация — очень полезный инструмент, особенно в области анализа данных для рекламы. Когда необходимо эффективно распределить PR-бюджет, привлекая максимальное количество клиентов за минимальные затраты, метод поможет определить наиболее подходящий подход.