Кластеризация транзакций

Введение

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

Задача демо-примера состоит в том, чтобы выявить кластеры, описывающие съедобные и ядовитые грибы.

Исходный набор данных включает в себя 8124 записи с описанием 22 характеристик грибов, 4208 грибов являются съедобными, 3916 — несъедобными. Количество уникальных характеристик — 116.

Исходные данные

Таблица "Грибы":

Имя поля Метка поля
 Class Класс
 CapShape Форма шапки
 CapSurface Поверхность шляпки
 CapColor Цвет шляпки
 BlueSpots Синие пятна
 Smell Запах
 GillAttachment Форма крепления гименофора к ножке
 GillSpacing Частота гименофора
 GillSize Размер гименофора
 GillColor Цвет гименофора
 StalkShape Форма ножки
 StalkRoot Корень ножки
 StalkSurfaceAboveRing Поверхность ножки выше кольца
 StalkSurfaceBelowRing Поверхность ножки ниже кольца
 StalkColorAboveRing Цвет ножки выше кольца
 StalkColorBelowRing Цвет ножки ниже кольца
 VeilType Тип покрывала
 VeiColor Цвет покрывала
 RingNumber Количество колец
 RingType Остатки частного покрывала
 SporePrintColor Цвет спор
 Population Частота грибницы
 Habitat Место обитания

Алгоритм

  1. Импорт исходных данных;
  2. Приведение входного набора к транзакционному виду;
  3. Настройка узла Кластеризация транзакций;
  4. Анализ результатов.

Сценарий

Сценарий "Кластеризация транзакций".
Рисунок 1. Сценарий "Кластеризация транзакций".

Иконка обработчика Входной набор данных

Узел позволяет импортировать табличные данные из текстового файла для последующей обработки в Loginom. В Сценарии он используется для импорта таблицы "Грибы". Все параметры задаются в соответствии с описанием входных данных.

Иконка обработчика Подготовка данных для Кластеризации

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

Подмодель "Подготовка данных для Кластеризации".
Рисунок 2. Подмодель "Подготовка данных для Кластеризации".

Для удобства чтения сценария объединим узлы в Подмодель.

Иконка обработчика Добавление номера строки

В Калькулятор добавим следующие поля для расчета номера строки:

Имя поля Метка поля Описание
 Number ID Идентификатор определяется как номер текущей записи входного набора
данных плюс 1. Единица прибавляется для того, чтобы идентификаторы
начинались с 1, а не 0.

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

Иконка обработчика Свертка столбцов

С помощью свертки столбцов переносим все характеристики в одно поле, где информационным полем выбираем номер строки "ID", а транспонируемыми полями — все 23 параметра.

Иконка обработчика Формирование свойства

В Калькулятор добавим следующее выражение для формирования свойства:

Имя поля Метка поля Описание
 Property Свойство Свойство определяется объединением поля с названиями характеристик
"DisplayNames" и их значениями "Values" для того, чтобы все значения
характеристик были уникальны, а также для более простой интерпретации
результатов

Таким образом, получим запись вида "Класс - ядовитый".

Формирование свойства.
Рисунок 3. Формирование свойства.

Иконка обработчика Кластеризация транзакций

На странице Мастера настройки входных полей необходимо установить назначение для полей:

Имя поля Метка поля Вид данных Назначение
 Number ID  Дискретный Транзакция
 Property Свойство  Дискретный Элемент
 DisplayNames Метки  Дискретный Не задано
 Values Значения  Дискретный Не задано

Остальные настройки оставляем по умолчанию.

Иконка обработчика Данные для Куба

Объединим наборы данных для соотнесения полученных кластеров и характеристик грибов. Для этого в Мастере настройки Слияния выберем тип операции "Левое соединение", в качестве связующего поля применим "ID".

Анализ результатов

Для представления результатов используются следующие визуализаторы, которые можно сформировать в группы и отображать на панели Отчетов (Навигация->Отчеты):

Панель Отчетов.
Рисунок 4. Панель Отчетов.

Всего получилось 24 кластера. Рассмотрим отдельно каждый отчет.

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

Разбиение на кластеры (Куб).
Рисунок 5. Разбиение на кластеры (Куб).

Таблица отражает информацию о параметрах разбиения и позволяет оценить кластеры по различным характеристикам: Количество транзакций (N), Ширина кластера (W), Мощность кластера (S). Можно выбрать наиболее мощные кластеры, для этого отсортируем по убыванию поле "S" таблицы.

Параметры кластеров (Таблица).
Рисунок 6. Параметры кластеров (Таблица).

Компоненты

Файлы

Скачать

results matching ""

    No results matching ""