Поделиться через


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

Алгоритм кластеризации (Майкрософт) представляет собой алгоритм сегментации, предоставляемый службами SQL Server 2008 Analysis Services (SSAS). Алгоритм использует итерационные методы для группировки вариантов в наборы данных в кластерах, содержащих подобные характеристики. Такое группирование полезно использовать для просмотра данных, выявления в них аномалий и создания прогнозов.

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

Шаблон кластера тенденций местного сообщения

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

Примеры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Дополнительные сведения о создании запросов к модели интеллектуального анализа данных см. в разделе Запрос моделей интеллектуального анализа данных (службы Analysis Services — интеллектуальный анализ данных). Примеры использования запросов с моделью кластеризации см. в разделе Запрос модели кластеризации (службы Analysis Services — интеллектуальный анализ данных).

Примечания

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

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

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