Прежде чем профилировать основные темы, убедитесь, что в этом наборе данных есть кластеры.

Проведение сегментации клиентов и аудитории и т. д. — это экономичные способы принятия решений, основанных на фактах, путем поиска тем из неконтролируемых данных. Однако проведение кластерного анализа набора данных и принятие решений на его основе без проверки, во-первых, того, действительно ли существуют кластеры; может быть гораздо более разрушительным, дорогим и дорогостоящим.

В этой статье мы объясним, как вы можете использовать два алгоритма визуализации (VAT и iVAT) для оценки тенденции кластеризации неконтролируемого набора данных в python перед началом любого соответствующего кластерного анализа.

Чтобы рассмотреть различные области НДС и иНДС, мы рассмотрим следующие разделы:

1. Концепция кластерной тенденции

2. Алгоритмы кластерной тенденции

3. Алгоритмы НДС и iVAT

4. Как оценить кластерную тенденцию набора данных с помощью НДС и теста iVAT в Python

5. Выводы

6. Резюме

1. Концепция кластерной тенденции

Кластерная тенденция — это процесс оценки набора данных на предмет возможного существования кластеров. Он призван помочь нам ответить на этот важный вопрос: «Есть ли в этом наборе данных кластеры, основанные на нашем исследовательском вопросе?»

Очень важно ответить на этот вопрос; потому что он определит, необходимо ли проводить кластерный анализ (K-средних, иерархический и т. д.) в наборе данных или нет.

Итак, как нам ответить на этот вопрос или что мы делаем, чтобы ответить на него?

Простой ответ: мы внедряем «Алгоритмы оценки кластерных тенденций»

2. Алгоритмы оценки кластерной тенденции

Алгоритмы оценки тенденций кластеров — это методы машинного обучения, которые оценивают наборы данных на предмет возможного существования шаблонов кластеров. Существует два основных метода проведения этих оценок; которые — статистические и визуальные методы. Примером статистического метода является тест Хопкинса, а примерами визуальных методов являются - Визуальная оценка тенденции (VAT) и тест улучшенной визуальной оценки тенденции (iVAT).

3. Алгоритмы НДС и iVAT

3.1. НДС (визуальная оценка тенденции)

НДС — это визуальный метод оценки склонности набора данных к кластеризации. Алгоритм указывает количество кластеров, которые можно найти в наборе данных, а также показывает, существуют ли существующие кластеры внутри кластеров (иерархии кластеров), создавая плотный черный квадрат вдоль левой диагонали карты квадратного размера. Алгоритм работает путем создания минимального остовного дерева наблюдений, попарное расстояние между этими наблюдениями отображается в виде черных квадратов на карте.

Обратите внимание — В редких случаях плотные черные квадраты не будут лежать по диагонали, особенно если карта не имеет квадратной формы (поскольку она использует матрицу, а не все матрицы являются квадратными матрицами), а черная форма будет не берите тоже квадратную форму (можно прямоугольную).

Кроме того, использование НДС и iVAT не следует рассматривать в качестве замены показателей (например, методов локтя и силуэта), специально разработанных для определения количества кластеров, которые можно найти в наборе данных. В основном, единственная функция алгоритмов НДС и iVAT состоит в том, чтобы визуально предположить, существуют ли кластеры в наборе данных или нет, чтобы избежать дорогостоящих затрат на проведение кластерного анализа наборов данных, в которых их нет. То есть карты НДС и iVAT можно использовать для проверки и усиления основных алгоритмов, оценивающих количество кластеров, их не следует использовать в качестве заменителей.

В общем, способ подсчета количества кластеров для данного алгоритма НДС/iVAT заключается в подсчете количества плотно зачерненных квадратов на распечатанной карте.

Пример карты НДС. На рисунке ниже показаны 4 основные карты (3a — 3d) с разным количеством черных квадратов, представляющих кластеры. В качестве иллюстрации первая карта с тегом 3a имеет три видимых черных квадрата, следовательно, она состоит из трех кластеров. Кроме того, последняя фигура с 3d-тегом имеет два черных квадрата, поэтому у нее два кластера.

3.2. iVAT (улучшенная визуальная оценка тенденции)

iVAT — это визуальный метод оценки тенденции набора данных к кластеризации. Это улучшенный вариант НДС. Он отличается от НДС тем, что на его печатной карте отображаются более четкие и плотные черные квадраты/прямоугольники. Тем не менее, это требует больше вычислительного времени.

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

Пример карт iVAT. На рисунке ниже показаны 3 карты (ссылка слева) с разным количеством черных квадратов, представляющих кластеры. В качестве иллюстрации, первый квадрат (слева) имеет три кластера (хотя внутри кластеров тоже есть кластеры), второй имеет три черных квадрата, следовательно, он имеет три кластера.

4. Как оценить кластерную тенденцию набора данных с помощью теста НДС и iVAT в Python

В Python НДС и iVAT оценивают кластерную тенденцию набора данных визуально, используя матрицу различий. Матрица работает как с числовыми, так и с категориальными типами данных, поскольку у нее есть определенные функции для всех.

Теперь давайте кратко поговорим о Несходстве (и Сходстве) для тех, кто сильно заинтересован в том, чтобы узнать, что это такое.

4.1. Основная концепция несходства и сходства

Несходство – это числовая мера того, насколько различаются два объекта/точки данных. Чем дальше друг от друга находятся две точки данных, тем выше их несходство, и наоборот. Стоит отметить, что «Сходство», которое является числовой мерой того, насколько похожи два объекта/точки данных, является прямой противоположностью Несходства. Чем ближе два объекта данных, тем выше их сходство, и наоборот.

Следовательно, если две точки данных имеют высокое значение сходства, они будут иметь низкое значение различия; Если они имеют высокое значение несходства, они будут иметь низкое значение сходства. Это просто означает, что несходство и сходство находятся в обратной зависимости.

4.2. Несходство и кластеризация

В контексте алгоритмов НДС и iVAT в python очень низкое различие между двумя точками данных указывает на очень плотные черные квадраты/прямоугольники, что указывает на наличие кластеризации. в то время как очень высокое несходство просто означает, что они находятся далеко друг от друга, чтобы быть сгруппированными или находиться в кластере.

4.3. Алгоритмы НДС и iVAT (НДС) в Python

Чтобы реализовать алгоритмы НДС (и НДС) в python, мы должны последовательно выполнить следующие действия в нашей среде anaconda:

  1. Импортируйте набор данных в рабочую среду anaconda как фрейм данных через Pandas;
  2. Импортируйте алгоритмы НДС и iVAT в нашу рабочую среду из модуля pyclustertend;
  3. Преобразуйте любую категориальную функцию в наборе данных в числовую функцию, используя OneHot Encoding (фиктивное кодирование, если функция является номинальной) или LabelEncoding (если функция является порядковой);
  4. Преобразуйте кадр данных в массив NumPy;
  5. Скармливайте алгоритмам набор данных массива Numpy; и
  6. Получите результат алгоритмов в виде карт.

В результате выполнения алгоритмов в нашем наборе данных будет создана упорядоченная квадратная карта различий, содержащая черные квадраты (или прямоугольники).

4.4. Практическое занятие: реализация алгоритмов

4.4а. Импорт пакетов

#import the packages
import pandas as pd # working with data
import numpy as np # working with arrays
from pyclustertend import vat
from pyclustertend import ivat

4.4б. Импорт набора данных

#import dataset into anaconda through pandas
# Specify the path directory to the stata dataset on your computer so as to import it into pandas
path=r"B:\Current_Contraceptive_Users_Modified_NDHS2018_15_19.dta"
# Read the stata dataset into pandas (as its dataframe) and name the dataframe as DHS 
Young_Contraceptive_Users=pd.read_stata(path)

4.4с. Преобразование категориальных признаков в числовые признаки

В нашем наборе данных есть 5 номинальных (не порядковых) функций, мы бы преобразовали их в числовые функции, используя одно горячее кодирование (фиктивное кодирование).

# convert the categorical features in the dataset to numerical 
Young_Contraceptive_Users=pd.get_dummies(Young_Contraceptive_Users, columns = ['v025','v106','v130','MaritalStatus','SES'])

4.4д. Преобразовать кадр данных Pandas в массив Numpy

# convert the categorical features in the dataset to numerical 
Young_Contraceptive_Users=pd.get_dummies(Young_Contraceptive_Users, columns = ['v025','v106','v130','MaritalStatus','SES'])

4.4д. Передача данных массива в алгоритм НДС

#feed the array data to the VAT (Visual Assessment Tendency) algorithm 
vat(Young_Contraceptive_Users_array)

4.4ф. Передача данных массива в алгоритм iVAT

#feed the array data to the improved VAT (Visual Assessment Tendency) algorithm 
ivat(Never_Use_Contraceptive_array)

5. Заключение

В результате реализации алгоритмов (как НДС, так и iVAT) из созданных карт видно, что набор данных молодых пользователей противозачаточных средств имеет кластеры, и поэтому его следует изучить и профилировать с помощью кластерного анализа. Удобно проводить кластерный анализ K-Prototype для набора данных, поскольку он имеет как числовые, так и категориальные характеристики (смешанный тип данных). Кроме того, карта iVAT выглядит более четкой и точной, чем карта НДС, как и ожидалось. Как показано на картах, в наборе данных как минимум около семи кластеров.

Помните, что существуют специальные алгоритмы, призванные помочь вам определить количество статистически значимых кластеров. Алгоритмы НДС и iVAT предназначены только для того, чтобы помочь нам решить, следует ли нам продолжать кластерный анализ или нет. Хотя карты VAT и iVAT можно использовать для проверки и усиления основных алгоритмов, оценивающих количество кластеров, их не следует использовать в качестве заменителей.

6. Резюме

1. Использование тенденции визуальной оценки (VAT) и ее варианта iVAT состоит в том, чтобы визуально предположить, есть ли необходимость проводить кластерный анализ или нет в вашем наборе данных.

2. Тенденцию визуальной оценки (VAT) и ее вариант не следует использовать для определения количества кластеров, которые можно найти в наборе данных. Хотя их можно использовать для проверки и усиления основных алгоритмов, оценивающих количество кластеров, их не следует использовать в качестве заменителей. Существуют специальные показатели  — метод локтя и метод силуэта, которые помогут вам в этом.

3. Тенденция к улучшенной визуальной оценке (iVAT) — это улучшенная версия VAT, поскольку она имеет более точные и четкие изображения. Тем не менее, это требует больше вычислительного времени. То есть на схождение уходит больше времени, чем на НДС.

Вот и все. Надеюсь, вы найдете это полезным? Пожалуйста, оставляйте свои комментарии и подписывайтесь на меня в LinkedIn на Ayobami Akiode LinkedIn.

Блокнот Jupyter, использованный для этого анализа, доступен здесь

Источник данных:

Данные, используемые в этой статье, представляют собой вторичные данные демографического и медицинского обследования (DHS) для Нигерии, полученные из бесплатных источников, которые были собраны в 2018 году под названием NDHS 2018. DHS — это общенациональное репрезентативное обследование, которое проводится в развивающихся странах. В Нигерии обследование обычно проводится каждые 5 лет; и охватывает все штаты Нигерии, включая столицу.

Чтобы запросить любые бесплатные исходные данные на уровне страны из программы DHS, пожалуйста, посетите Программа DHS, зарегистрируйтесь и отправьте запрос.