Кластеризация
Пример решения задачи на базе аналитической low-code платформы Loginom:
- Скачать бесплатно Loginom Community Edition
- Скачать бесплатно пакет, реализующий описанный сценарий
Кластеризация — объединение объектов или наблюдений в непересекающиеся группы, называемые кластерами.
Ирисы Фишера — это набор данных для задачи классификации, на примере которого Р. Фишер (1936 г.) продемонстрировал работу разработанного им метода дискриминантного анализа. Ирисы Фишера состоят из данных о 150 экземплярах ириса, по 50 экземпляров из трёх видов — Ирис щетинистый (Iris setosa), Ирис виргинский (Iris virginica) и Ирис разноцветный (Iris versicolor). Для каждого экземпляра измерялись четыре характеристики (в сантиметрах):
- Длина чашелистика (SepalLength);
- Ширина чашелистика (SepalWidth);
- Длина лепестка (PetalLength);
- Ширина лепестка (PetalWidth).
Ирисы Фишера хорошо поддаются кластеризации метрическими алгоритмами.
Исходные данные
Таблица «Ирисы Фишера»:
Имя поля | Метка поля |
---|---|
Длина чашелистика | |
Ширина чашелистика | |
Длина лепестка | |
Ширина лепестка | |
Класс |
Алгоритм
- Импорт исходных данных;
- Кластеризация:
- EM Кластеризация;
- Кластеризация k-means;
- Кластеризация g-means.
Сценарий

Входной набор данных
Узел позволяет импортировать табличные данные из текстового файла для последующей обработки в Loginom. В Сценарии он используется для импорта таблицы «Ирисы Фишера». Все параметры задаются в соответствии с описанием входных данных.
EM Кластеризация
Рассмотрим настройки обработчика EM кластеризация:
- На странице Мастера настройки входных полей в качестве используемых полей необходимо выбрать следующие: SepalLength, SepalWidth, PetalLength, PetalWidth;
- Страницу Мастера настройки нормализации оставляем по умолчанию;
- На странице Мастера настройки параметров EM Кластеризация снимаем галочку с параметра «Автоопределение числа кластеров» и вводим заданное число кластеров — 3.
- Сохраняем настройки и переобучаем модель.

Результаты EM кластеризации представлены в разделе Интерпретация.
Кластеризация (k-means)
Примечание: отличие Кластеризации k-means от g-means в том, что если количество кластеров известно, то применяется алгоритм k-means, в противном случае g-means, который определит это количество автоматически в рамках заданного интервала. В Loginom для этого используется один и тот же обработчик Кластеризация, но настраивается по-разному.
Рассмотрим настройки узла:
- На странице Мастера настройки входных полей в качестве используемых полей необходимо выбрать следующие: SepalLength, SepalWidth, PetalLength, PetalWidth;
- Страницу Мастера настройки нормализации оставляем по умолчанию;
- На странице Мастера настройки параметров Кластеризация снимаем галочку с параметра «Автоопределение числа кластеров» и вводим заданное число кластеров — 3.
- Сохраняем настройки и переобучаем модель.

Результаты Кластеризации k-means представлены в разделе Интерпретация.
Кластеризация (g-means)
Рассмотрим настройки узла:
- На странице Мастера настройки входных полей в качестве используемых полей необходимо выбрать следующие: SepalLength, SepalWidth, PetalLength, PetalWidth;
- Страницу Мастера настройки нормализации оставляем по умолчанию;
- На странице Мастера настройки параметров «Кластеризация» вводим максимальное число кластеров — 3, остальные настройки по умолчанию.
- Сохраняем настройки и переобучаем модель.

Результаты Кластеризации g-means представлены в разделе Интерпретация.
Интерпретация
Для представления результатов используются следующие визуализаторы:
EM Кластеризация
Таблица отражает разбиение входного набора на кластеры и позволяет оценить вероятность принадлежности класса к определенной группе.

В каждом кластере получилось примерно равное количество объектов. Алгоритм выделил 3 группы, которые совпадают с количеством исходных классов и примерно равны, что говорит о хорошей работе алгоритма EM кластеризации.

Ниже представлены статистические показатели, по которым можно сравнить кластеры:

Кластеризация k-means
Таблица отражает разбиение входного набора на кластеры и позволяет оценить принадлежность класса к определенной группе.

Алгоритм выделил 3 группы, которые совпадают с количеством классов входного набора, однако в каждом кластере получилось сильно различающееся количество объектов. Таким образом, k-means кластеризация получилась менее точна, чем EM.

Ниже представлены статистические показатели, по которым можно сравнить кластеры:

Кластеризация g-means
Таблица отражает разбиение входного набора на кластеры и позволяет оценить принадлежность класса к определенной группе.

Алгоритм выделил 2 кластера, которые, во-первых, не совпадают с количеством классов исходного набора, а, во-вторых, получились неравномерными. Таким образом, g-means кластеризация оказалась наименее точной, и ее результаты можно оценить как неудовлетворительные.

Ниже представлены статистические показатели, по которым можно сравнить кластеры:
