Получите бесплатно 4 курса для лёгкого старта работы в IT
Получить курсы бесплатно
ГлавнаяБлогКластеризация: суть и задачи
Кластеризация
22.08.2023
4 483
Время чтения: 14 минут

Кластеризация: суть и задачи

22.08.2023
4 483
Время чтения: 14 минут
Сохранить статью:
Сохранить статью:

О чем речь? Кластеризация – это группировка данных по определенным критериям: вид, размер, форма, категория и т.д. При этом объекты внутри кластера должны минимально сходиться по одному признаку, отличаясь по остальным.

Где применяется? Кластеризацию используют в разных сферах: маркетинге, программировании, медицине, SEO. Популярных методов два: K-Means и DBSCAN. Также она выполняется в Excel или некоторых языках программирования.

В статье рассказывается:

  1. Суть кластеризации
  2. Задачи кластеризации
  3. Популярные алгоритмы кластеризации
  4. Этапы кластеризации
  5. Часто задаваемые вопросы о кластеризации
  6. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.
    Бесплатно от Geekbrains

Суть кластеризации

Кластеризация – уникальный метод, который позволяет разбить объекты на группы, не имея заранее заданной обучающей выборки или знания о природе этих классов. Модель самостоятельно определяет схожесть некоторых предметов и объединяет их в один сектор. Одним из преимуществ кластеризации является то, что она не требует знания о том, какие классы будут сформированы и сколько их будет. Научным названием кластеризации является unsupervised classification – из-за сходства постановки задачи.

Суть кластеризации
Суть кластеризации

Методы кластеризации – эффективный инструмент для решения задач классификации, когда сбор обучающей выборки затруднителен или дорог. Валидационная выборочная совокупность нуждается в меньшем приведении примеров, чтобы оценить результаты процесса. Но следует помнить, что точность работы supervised-методов существенно выше. И если возможен сбор обучающей выборки, лучше используйте её для решения задачи классификации.

Один из хороших примеров применения методов кластеризации – анализ геоданных. При использовании приложений в мобильных телефонах часто необходимо определить точное местоположение. Погрешность в GPS-данных возникает из-за движения пользователей: часто приходится наблюдать множество точек вместо точного положения. Это особенно актуально при анализе поведения тысяч людей в определенной локации, например, для определения наиболее популярных мест, где пользователи садятся в такси у аэропорта.

Яндекс.Такси применял кластеризацию координат точек заказа, чтобы определить удобные для вызова такси места. Центры классов использовались в качестве кандидатов пикап-пойнтов, подсвечиваемых в приложении. Учитывали и простые фильтры, чтобы исключить точки в зданиях, в воде. Пикап-пойнты, выставленные вручную, использовались, например, рядом с аэропортами.

Еще одним примером, связанным с кластеризацией геоданных, является наличие в телефонах интерфейсов для просмотра фотографий. По ним можно определить местонахождение, а при масштабировании карты можно увидеть разные кластеры, на которые они делятся. Также интересным примером является построение цветовой схемы интерфейса под выбранное пользователем изображение: необходимо произвести кластеризацию цветов, используя RGB-представление или другие признаки оттенка. Затем использовать их для оформления интерфейса, включая фоновую картинку.

Задачи кластеризации

Этот подход применяется при наличии массивов данных с разными признаками. Однако у них должно быть какое-то единство – по-другому осуществить кластеризацию не удастся. На группы можно разделить:

  • Клиентов, чтобы проанализировать поведение конкретных их объединений.
  • Оппонентов бизнеса – при изучении рынка.
  • Болезни – для исследования статистических данных о выздоровлении.
  • Участников опроса – чтобы проанализировать мнения людей разных групп.
  • SEO-ключи – для создания тем на страницах сайта.
  • Полученные файлы, имеющие разный формат, для их удобной обработки.
Узнай, какие ИТ - профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

pdf иконка

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

pdf 3,7mb
doc 1,7mb
Уже скачали 28000 pdf иконка

Кластеризация широко распространена в различных сферах, так как ее можно применить почти ко всем данным, которые необходимо объединить в одну систему и придать им единую структуру.

У деления данных на кластеры для анализа четыре основные цели:

  • Понимание

Чтобы аналитик смог определить, по какому признаку взяты данные, необходимо сортировать разрозненные сведения на группы. Тогда будет проще произвести процесс обработки, к примеру, применение определенных методов анализа кластеризации к разным кластерам.

  • Выявление аномалий

Осуществив кластеризацию, возможно выявить отдельные данные, не относящиеся ни к одной группе. Чтобы определить наличие ошибки или интересного феномена, их следует обработать.

  • Расширение

Иногда при сборе информации какие-то данные имеют больше признаков, а какие-то меньше. Изучаемый подход позволит сделать предположение об отсутствующих у иных элементов чертах группы. Приведем пример кластеризации. Известно, что время нахождения участников в группе «мужчины» на сайте в среднем занимает 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 и считать всё вручную; этот способ можно применять для меньшей части объектов — например, при необходимости объединить семь объектов с двумя признаками в две группы.
Дарим скидку от 60%
на курсы от GeekBrains до 12 мая
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку

Кластеризация – это мощный инструмент анализа данных, который может помочь определить наиболее информативные переменные для подготовки стратегий маркетинга. Даже при использовании только двух переменных, результаты могут быть весьма полезными. Например, если отвечаете за маркетинг и стратегию, можно использовать кластеризацию при определении продуктов, которые стоит продвигать в первую очередь, и тех, от которых лучше отказаться.

Часто задаваемые вопросы о кластеризации

Как описать кластеризацию формально?

Кластеризация включает в себя одно множество – объектов (X) и другое – номеров кластеров (Y). Задана функция расстояния между объектами (p). Основная цель – разбить обучающую выборку на кластеры так, чтобы объекты внутри каждого сектора были близки друг к другу по метрике p, а из разных – существенно отличались друг от друга. Каждому объекту присваивают номер группы y(i). Алгоритм кластеризации: функция, любому объекту X ставящая в параллель номер кластера Y.

Какие типы данных используются в кластеризации?

Различают следующие:

  • Описываемые признаки объектов, которые подразделяются на числовые и нет.
  • Таблица дистанций между объектами. Каждый объект описывается расстояниями до всех остальных в кластеризации.
Только до 6.05
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300

Как проверяют кластеризацию?

Оценка результатов является сложной задачей, так же как и сам процесс группировки. Наиболее распространенные методы включают «внутреннюю» и «внешнюю» оценку. В первом случае система сводится к одному качественному показателю, а во втором кластеризацию сравнивают с уже существующей классификацией или «основополагающей правдой». Дополнительно эксперт-человек может провести ручную оценку и определить полезность использования метода в предполагаемом приложении.

Кластеризация — очень полезный инструмент, особенно в области анализа данных для рекламы. Когда необходимо эффективно распределить PR-бюджет, привлекая максимальное количество клиентов за минимальные затраты, метод поможет определить наиболее подходящий подход.

Оцените статью
Рейтинг: 5
( голосов 1 )
Поделиться статьей
Добавить комментарий

Сортировать:
По дате публикации
По рейтингу
До конца акции осталось
0 дней 00:00:00
Дарим скидку 64% на обучение «Digital-маркетолог»
  • Получите новую профессию с гарантией трудоустройства
  • Начните учиться бесплатно, 3 месяца обучения в подарок
Забронировать скидку на обучение
Забрать подарок

Получите подробную стратегию для новичков на 2023 год, как с нуля выйти на доход 200 000 ₽ за 7 месяцев

Подарки от Geekbrains из закрытой базы:
Осталось 17 мест

Поздравляем!
Вы выиграли 4 курса по IT-профессиям.
Дождитесь звонка нашего менеджера для уточнения деталей

Иван Степанин
Иван Степанин печатает ...