Кластеризация транзакций
В основе кластеризации транзакций лежит алгоритм CLOPE, применение которого позволяет обрабатывать огромные массивы транзакционных данных: чеки в супермаркетах, логи посещений веб-ресурсов и другие. Задача состоит в получении такого разбиения всего множества транзакций, чтобы похожие транзакции оказались в одном кластере, а отличающиеся друг от друга — в разных кластерах.
В данном демопримере рассматривается задача по определению кластеров, описывающих съедобные и ядовитые грибы.
Описание алгоритма
1. Импорт данных
Исходный набор данных включает в себя 8124 записи с описанием 22 характеристик грибов. 4208 грибов являются съедобными, 3916 — несъедобными. Количество уникальных характеристик — 116.
Имя | Метка |
---|---|
Класс | |
Форма шапки | |
Поверхность шляпки | |
Цвет шляпки | |
Синие пятна | |
Запах | |
Форма крепления гименофора к ножке | |
Частота гименофора | |
Размер гименофора | |
Цвет гименофора | |
Форма ножки | |
Корень ножки | |
Поверхность ножки выше кольца | |
Поверхность ножки ниже кольца | |
Цвет ножки выше кольца | |
Цвет ножки ниже кольца | |
Тип покрывала | |
Цвет покрывала | |
Количество колец | |
Остатки частного покрывала | |
Цвет спор | |
Частота грибницы | |
Место обитания |
2. Подготовка данных
Исходный набор данных не пригоден для использования в узле Кластеризация транзакций — его нужно привести к транзакционному виду (Транзакция — Элемент). Узлы, с помощью которых производится трансформация, объединены в подмодель Подготовка данных.
С помощью узла Добавление ID добавлено новое поле — ID
, которое необходимо для того, чтобы каждая запись набора имела уникальный идентификатор. Идентификаторы начинаются с 1:
RowNum() + 1
Установлены следующие настройки для узла Свертка столбцов:
- в группу Информационные добавлено поле
ID
- в группу Транспонируемые — все остальные поля
1 | Класс | ядовитый |
... | ... | ... |
1 | Цвет гименофора | черный |
В узле Формирование свойства сформировано новое поле property(Свойство)
из названия характеристик и их значений с помощью функции Concat:
Concat(display_names, " — ", values)
Итоговый набор данных:
Класс - ядовитый | Класс | ядовитый | 1 |
... | ... | ... | ... |
Цвет гименофора - черный | Цвет гименофора | черный | 1 |
3. Кластеризация транзакций
На странице Мастера настройки входных полей установлены следующие назначения:
Имя | Метка | Вид данных | Назначение |
---|---|---|---|
ID | Дискретный | Транзакция | |
Свойство | Дискретный | Элемент | |
Метки | Дискретный | Не задано | |
Значения | Дискретный | Не задано |
Остальные настройки оставлены по умолчанию.
При изменении настроек переобучите модель.
Интерпретация результатов
Для представления результатов используются визуализаторы Таблица и Куб:
Для визуализатора Таблица используется набор данных из порта Параметры кластеров узла Кластеризация транзакций.
Таблица отражает информацию о параметрах разбиения и позволяет оценить кластеры по различным характеристикам:
- Количество транзакций (N)
- Ширина кластера (W)
- Мощность кластера (S)
Можно сортировать кластеры по данным показателям. Например, можно выбрать самые мощные кластеры:
17 | 1728 | 35 | 39744 |
6 | 1296 | 35 | 29808 |
9 | 1296 | 35 | 29808 |
2 | 768 | 34 | 17664 |
1 | 512 | 33 | 11776 |
С помощью узла Слияние сопоставлены полученные кластеры и характеристики грибов.
Настройки узла:
- Тип операции — Левое соединение
- установлена связь по полю
ID
Критерием качества работы алгоритма служит количество «грязных» кластеров, т.е. таких, в которых присутствуют как съедобные, так и несъедобные грибы. Чем меньше таких кластеров, тем лучше.
Настроим Куб следующим образом:
- в область Измерений добавлено поле
Номер кластера
- в область Факты добавлено поле
Свойство
- настроен фильтр для поля
Свойство
— отображать только значенияКласс — съедобный
иКласс — ядовитый
Из Куба видно, что в результате кластеризации не получилось ни одного «грязного» кластера, что говорит о качественном разбиении.

Скачайте и откройте файл в программе Loginom, которую при необходимости можно скачать бесплатно
Минимальные требования к системе:
- Операционная система: Windows 10 и выше
- CPU x64: 2 core 1
- Оперативная память: 4 GB
- Жесткий диск: 10 GB
1 Поддерживается работа на x64 процессорах Intel Core, AMD FX и более новых, содержащих инструкции SSE4.2, POPCNT.