Кластеризация транзакций
В основе кластеризации транзакций лежит алгоритм CLOPE, применение которого позволяет обрабатывать огромные массивы транзакционных данных: чеки в супермаркетах, логи посещений веб-ресурсов и другие. Задача состоит в получении такого разбиения всего множества транзакций, чтобы похожие транзакции оказались в одном кластере, а отличающиеся друг от друга — в разных кластерах.
В данном демопримере рассматривается задача по определению кластеров, описывающих съедобные и ядовитые грибы.
Описание алгоритма
1. Импорт данных
Исходный набор данных включает в себя 8124 записи с описанием 22 характеристик грибов. 4208 грибов являются съедобными, 3916 — несъедобными. Количество уникальных характеристик — 116.
Имя | Метка |
---|---|
class | Класс |
cap_shape | Форма шапки |
cap_surface | Поверхность шляпки |
cap_color | Цвет шляпки |
blue_spots | Синие пятна |
smell | Запах |
gill_attachment | Форма крепления гименофора к ножке |
gill_spacing | Частота гименофора |
gill_size | Размер гименофора |
gill_color | Цвет гименофора |
stalk_shape | Форма ножки |
stalk_root | Корень ножки |
stalk_surface_above_ring | Поверхность ножки выше кольца |
stalk_surface_below_ring | Поверхность ножки ниже кольца |
stalk_color_above_ring | Цвет ножки выше кольца |
stalk_color_below_ring | Цвет ножки ниже кольца |
veil_type | Тип покрывала |
vei_color | Цвет покрывала |
ring_number | Количество колец |
ring_type | Остатки частного покрывала |
spore_print_color | Цвет спор |
population | Частота грибницы |
habitat | Место обитания |
2. Подготовка данных
Исходный набор данных не пригоден для использования в узле Кластеризация транзакций — его нужно привести к транзакционному виду (Транзакция — Элемент). Узлы, с помощью которых производится трансформация, объединены в подмодель Подготовка данных.
С помощью узла Добавление ID добавлено новое поле — ID
, которое необходимо для того, чтобы каждая запись набора имела уникальный идентификатор. Идентификаторы начинаются с 1:
RowNum() + 1
Установлены следующие настройки для узла Свертка столбцов:
- в группу Информационные добавлено поле
ID
- в группу Транспонируемые — все остальные поля
ID | Метки | Значения |
---|---|---|
1 | Класс | ядовитый |
... | ... | ... |
1 | Цвет гименофора | черный |
В узле Формирование свойства сформировано новое поле property(Свойство)
из названия характеристик и их значений с помощью функции Concat:
Concat(display_names, " — ", values)
Итоговый набор данных:
Свойство | Метки | Значения | ID |
---|---|---|---|
Класс - ядовитый | Класс | ядовитый | 1 |
... | ... | ... | ... |
Цвет гименофора - черный | Цвет гименофора | черный | 1 |
3. Кластеризация транзакций
На странице Мастера настройки входных полей установлены следующие назначения:
Имя | Метка | Вид данных | Назначение |
---|---|---|---|
number | ID | Дискретный | Транзакция |
property | Свойство | Дискретный | Элемент |
display_names | Метки | Дискретный | Не задано |
values | Значения | Дискретный | Не задано |
Остальные настройки оставлены по умолчанию.
При изменении настроек переобучите модель.
Интерпретация результатов
Для представления результатов используются визуализаторы Таблица и Куб:
Для визуализатора Таблица используется набор данных из порта Параметры кластеров узла Кластеризация транзакций.
Таблица отражает информацию о параметрах разбиения и позволяет оценить кластеры по различным характеристикам:
- Количество транзакций (N)
- Ширина кластера (W)
- Мощность кластера (S)
Можно сортировать кластеры по данным показателям. Например, можно выбрать самые мощные кластеры:
Номер кластера | 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, LZCNT).