KMeansND() вычисляет строки диаграммы путем применения кластеризации методом k-средних; для каждой строки диаграммы отображается идентификатор кластера, которому была назначена эта точка диаграммы. Столбцы, используемые алгоритмом кластеризации, определяются соответственно параметрами coordinate_1 и coordinate_2 и т. д. до n столбцов. Все они являются агрегированиями. Количество созданных кластеров определяется параметром num_clusters.
KMeansND возвращает одно значение на точку диаграммы. Возвращенное значение — двойное и является целочисленным значением, соответствующим кластеру, которому была назначена каждая точка диаграммы.
Целое число, которое указывает количество кластеров.
num_iter
Количество итераций с переинициализированными центрами кластеров.
coordinate_1
Агрегирование, вычисляющее первую координату, обычно ось X (точечной диаграммы, которая может быть сделана из диаграммы). Дополнительные параметры вычисляют вторую, третью и четвертую координаты и т. д.
В этом примере создается точечная диаграмма с помощью набора данных Iris, и затем с помощью KMeans данные раскрашиваются по выражению.
Также мы создаем переменную для аргумента num_clusters и затем используем поле ввода переменной, чтобы изменить количество кластеров.
Кроме того, мы создаем переменную для аргумента num_iter и затем используем второе поле ввода переменной, чтобы изменить количество итераций.
Набор данных Iris общедоступен в различных форматах. Данные предоставлены в виде встроенной таблицы для загрузки с помощью редактора загрузки данных в программе Qlik Sense. Обратите внимание, что к таблице данных для этого примера добавлен столбец Идентификатор.
После загрузки данных в Qlik Sense нужно выполнить следующие действия.
Перетащите точечную диаграмму на новый лист. Назовите диаграмму Лепесток (раскрашивание по выражению).
Создайте переменную для указания количества кластеров. Для переменной Имя введите KmeansPetalClusters. Для переменной Определение введите =2.
Создайте переменную для указания количества итераций. Для переменной Имя введите KmeansNumberIterations. Для переменной Определение введите =1.
Настройте данные для диаграммы.
В разделе Измерения выберите Идентификатор поля для параметра Пузырек. Введите идентификатор кластера для метки.
В разделе Меры выберите Sum([petal.length]) для выражения для параметра Ось X.
В разделе Меры выберите Sum([petal.width]) для выражения для параметра Ось Y.
Параметры данных для диаграммы Лепесток (раскрашивание по выражению)
Точки диаграммы нанесены на диаграмму.
Точки диаграммы на диаграмме Лепесток (раскрашивание по выражению)
Настройте Вид диаграммы:
В разделе Цвета и легенда выберите Пользовательский для параметра Цвета.
Выберите раскрашивание диаграммы По выражению.
Введите следующее для выражения: kmeansnd($(KmeansPetalClusters),$(KmeansNumberIterations), Sum([petal.length]), Sum([petal.width]),Sum([sepal.length]), Sum([sepal.width]))
Обратите внимание, что KmeansPetalClusters — это переменная, для которой установлено 2. KmeansNumberIterations — это переменная, для которой установлено 1.
Введите следующее для метки: Идентификатор кластера
Параметры вида для диаграммы Лепесток (раскрашивание по выражению)
Два кластера на диаграмме раскрашены по выражению KMeans.
Кластеры, раскрашенные по выражению на диаграммы Лепесток (раскрашивание по выражению)
Добавьте поле Ввод переменной для количества кластеров.
В разделе Пользовательские объекты на панели Ресурсы выберите Qlik Dashboard Bundle. Если бы к пакету информационной панели не было доступа, количество кластеров можно бы было изменить с помощью созданной переменной или непосредственно с помощью целого числа в выражении.
Перетащите поле Ввод переменной на лист.
В разделе Вид щелкните Общее.
Введите следующее для параметра Заголовок: Кластеры
Щелкните Переменная.
Выберите следующую переменную для параметра Имя: KmeansPetalClusters.
Выберите Ползунок для параметра Показать в виде.
Выберите Значения и настройте параметры как требуется,
Вид поля ввода переменной Кластеры
Добавьте поле Ввод переменной для количества итераций.
Перетащите поле Ввод переменной на лист.
В разделе Вид выберите Общее.
Введите следующее для параметра Заголовок: Итерации
В разделе Вид выберите Переменная.
Выберите следующую переменную для параметра Имя: KmeansNumberIterations.
Настройте дополнительные параметры как требуется,
Теперь можно изменить количество кластеров и итераций с помощью ползунков в полях ввода переменной.
Кластеры, раскрашенные по выражению на диаграммы Лепесток (раскрашивание по выражению)
Автоматическая кластеризация
Функции метода k-средних поддерживают автоматическую кластеризацию с помощью метода, называемого разницей глубины (DeD). Когда пользователь задает количество кластеров равным 0, оптимальное количество кластеров определяется для набора данных. Обратите внимание, что хотя целое число для количества кластеров (k) явно не возвращается, оно вычисляется в алгоритме k-средних. Например, если 0 указан в функции для значения KmeansPetalClusters или установлен через поле ввода переменной, назначения кластеров автоматически вычисляются для набора данных на основе оптимального количества кластеров. В наборе данных Iris, если количество кластеров задано равным 0, оптимальное количество кластеров (3) определяется (автоматическая кластеризация) алгоритмом для этого набора данных.
Метод разницы глубины k-средних определяет оптимальное количество кластеров, когда (k) установлен на 0.
Набор данных Iris: встроенная загрузка для редактора загрузки данных в Qlik Sense
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!