Алгоритм кластеризации (Майкрософт)

Применимо к: SQL Server 2019 и более ранних версий Analysis Services Azure Analysis Services Fabric/Power BI Premium

Важно!

Интеллектуальный анализ данных не рекомендуется использовать в службах SQL Server 2017 Analysis Services, а в SQL Server 2022 Analysis Services его поддержка прекращена. Документация не обновляется для устаревших и неподдерживаемых функций. Дополнительные сведения см. в статье об обратной совместимости служб Analysis Services.

Алгоритм кластеризации (Майкрософт) — это алгоритм сегментации или кластеризация, который выполняет итерацию по вариантам в наборе данных, чтобы сгруппировать их в кластеры с похожими характеристиками. Такие группирования полезно использовать для просмотра данных, выявления в них аномалий и создания прогнозов.

Модели кластеризации определяют связи в наборе данных, который невозможно логически получить с помощью случайного наблюдения. Например, можно логически догадаться, что люди, добирающиеся на работу на велосипеде, не обязательно живут далеко от работы. Алгоритм может найти другие не очевидные характеристики велосипедистов. На следующей диаграмме кластер А соответствует людям, добирающимся до работы на машине, а кластер Б — людям, добирающимся до работы на велосипеде.

Кластерная модель пригородных тенденций

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

Пример

Рассмотрим группу людей, которые делятся похожими демографическими сведениями и покупают аналогичные продукты у компании Adventure Works. Эта группа людей представляет собой кластер данных. В базе данных может существовать несколько таких кластеров. Просматривая столбцы, образующие кластер, можно более точно просмотреть, как записи в наборе данных связаны друг с другом.

Принцип работы алгоритма

Алгоритм кластеризации Майкрософт сначала определяет связи в наборе данных и создает ряд кластеров на основе этих связей. Точечная диаграмма является хорошим способом визуально представить, как алгоритм группирует данные (см. следующую диаграмму). Точечная диаграмма представляет все варианты в наборе данных, и каждый вариант является точкой на диаграмме. Группа кластеров указана на диаграмме точками и показывает связи, идентифицированные алгоритмом.

Точечная диаграмма вариантов в наборе данных

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

Можно настраивать работу данного алгоритма, выбирая конкретный метод объединения в кластеры, ограничивая максимальное количество кластеров или изменяя размер несущего множества, необходимый для создания кластера. Дополнительные сведения см. в разделе Технический справочник по алгоритму кластеризации (Майкрософт). Этот алгоритм включает два популярных метода кластеризации: кластеризация методом К-средних и метод максимизации ожиданий.

Данные, необходимые для моделей кластеризации

При подготовке данных, предназначенных для использования в обучении модели кластеризации, следует учитывать требования к конкретному алгоритму, в том числе к объему необходимых данных, и то, как эти данные используются.

Требования для модели кластеризации являются следующими.

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

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

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

Дополнительные сведения о типах содержимого и типах данных, поддерживаемых моделями кластеризации, см. в подразделе "Требования" раздела Технический справочник по алгоритму кластеризации (Майкрософт).

Просмотр модели кластеризации

Чтобы исследовать модель, можно использовать Средство просмотра кластеров (Майкрософт). При просмотре модели кластеризация SQL Server Analysis Services показывает кластеры на схеме, которая показывает связи между кластерами, а также содержит подробный профиль каждого кластера, список атрибутов, отличающих каждый кластер от других, и характеристики всего набора данных для обучения. Дополнительные сведения см. в разделе Просмотр модели с помощью средства просмотра кластеров (Майкрософт).

Чтобы получить более подробные сведения, можно просмотреть модель с помощью средства просмотра деревьев содержимого общего вида (Майкрософт). Содержимое, сохраняемое для модели, включает распределение всех значений в каждом узле, вероятность каждого кластера и другую информацию. Дополнительные сведения см. в разделе Содержимое модели интеллектуального анализа данных для моделей кластеризации (службы Analysis Services — интеллектуальный анализ данных).

Создание прогнозов

После обучения модели результаты хранятся в виде набора закономерностей, которые можно исследовать или делать на их основе прогнозы.

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

Дополнительные сведения о создании запросов к модели интеллектуального анализа данных см. в разделе Запросы интеллектуального анализа данных. Примеры использования запросов с моделью кластеризации см. в разделе Примеры запросов к модели кластеризации.

Комментарии

  • Поддерживается использование языка разметки прогнозирующих моделей (PMML) для создания моделей интеллектуального анализа данных.

  • Поддерживается детализация.

  • Поддерживается использование моделей интеллектуального анализа OLAP и создание измерений интеллектуального анализа данных.

См. также:

Алгоритмы интеллектуального анализа данных (службы Analysis Services — интеллектуальный анализ данных)
Технический справочник по алгоритму кластеризации (Майкрософт)
Содержимое моделей интеллектуального анализа данных для моделей кластеризации (службы Analysis Services — интеллектуальный анализ данных)
Примеры запросов к модели кластеризации