Метод k-Means
Проводится стандартизация данных с помощью библиотеки sklearn и метода StandardScaler, перевод датасета в массив. Были исключены столбцы sex и time, потому что они вряд ли влияют на состояние пациента. Также был исключен столбец DEATH_EVENT, так как он является целевым признаком датасета. Результат представлен на рисунке 5.
Рисунок 5 – Стандартизация данных
Теперь выполняется непосредственная кластеризация методом k-means. Выбирается фиксированное мной число кластеров 5. Результат представлен на рисунке 6.
Рисунок 6 – Задача числа кластеров
С помощью библиотеки scipy вычисляется евклидово расстояние между центроидами кластеров. Результат представлен на рисунке 7.
Рисунок 7 – Расчет евклидового расстояния между центроидами кластеров
Все объекты распределяются по кластерам из вектора кластеров. Результат представлен на рисунке 8.
Рисунок 8 – Распределение объектов по кластерам
Находятся три признака, оказавшие максимальное влияние на выделение кластеров. Так находятся евклидово расстояние для каждого объекта кластера, а три значения, максимально отдаленные от центроида кластера имеют наибольшее влияние на кластер. Гистограммы представлены на рисунках 9-13.
Рисунок 9 – Гистограмма 1
Рисунок 10 – Гистограмма 2
Рисунок 11 – Гистограмма 3
Рисунок 12 – Гистограмма 4
Рисунок 13 – Гистограмма 5
Судя по гистограммам, можно сделать вывод:
1) Во втором и четвертом кластере наиболее влияние имеют признаки serum_creatine и age, serum_creatine соответственно;
2) В остальных кластеров влияние признаков примерно одинаковое
Иерархический агломеративный метод
Из модуля hierarchy импортируются классы модели кластеризации linkage() и dendrogram(). С помощью метода linkage производится агломеративная кластеризация, а в качестве метода подсчета расстояний между объектами выбирается метод ward. Результат представлен на рисунке 14.
Рисунок 14 – Стандартизация датасета для дендрограммы
В переменной links хранится таблица связок между объектами, которую можно представить в виде дендрограммы. Результат построения дендрограммы представлен на рисунке 15.
Рисунок 15 – Дендрограмма кластеров
По вертикали расстояние между кластерами, а по горизонтали — объекты. Можно увидеть, что есть значения, которые совпадают в обоих кластерах, что значит, что данные расположены слишком близко. Поэтому обозначит четкие признаки, разделяющих данные на кластеры сложно. Количество кластеров равно 6, хотя в датасете число столбцов равно 10. Это значит, что данный метод смог кластеризировать данные, но все равно понять, по какому принципу были составлены кластеры неясно.
Рассчет метрики силуэта
С помощью метрики силуэта можно определеть, насколько объект своего кластера похож на свой кластер больше, чем чужой. В цикле сравнивается значение метрики силуэта при различных количеств кластеров в методе K-Means. Лучшее значение метрики силуэта будет выведено на экран. Результат расчета представлен на рисунке 16.
Рисунок 16 – Расчет метрики силуэта
Метрика силуэта разделила датасет на 10 кластеров, при этом столбцов в датасете 10. Учитвая, что значение метрики силуэта находится далеко от единицы, то кластеризация выполнена некачественно.
