diff --git a/shestakova_maria_lab_4/README.md b/shestakova_maria_lab_4/README.md new file mode 100644 index 0000000..347ff8a --- /dev/null +++ b/shestakova_maria_lab_4/README.md @@ -0,0 +1,25 @@ +### Задание: + +Использовать метод кластеризации для данных по алгоритму класстеризации linkage. Интерпретировать результаты и оценить, насколько хорошо он подходит для решения задачи: Группировка людей с расстройствами сна на основе их возраста, пола и уровня стресса с целью выявления схожих характеристик и обнаружения возможных проблем со сном. + +### Технологии: + +Библиотека scipy, библиотека matplotlib, библиотека pandas + +### Что делает лабораторная: + +Загружаются данные из файла, далее они подготавливаются путем выбора только нужных столбцов. Выделяются признаки для кластеризации, Выполняется кластеризация с помощью функции linkage. В данном случае используется метод "ward", который минимизирует дисперсию внутри кластеров. Визуализируется дендрограмма + +### Как запустить: + +Первая часть лабораторной работы запускается в файле `shestakova_maria_lab_4.py` через Run: появляется диалоговое окно + +### Вывод: + +![img.png](dendro.png) + +На оси x отображаются образцы (samples) или объекты, которые были кластеризованы. Каждый образец представлен вертикальной линией в дендрограмме. + +На оси y отображается расстояние (distance) между кластерами. Расстояние измеряется в единицах, которые зависят от используемой метрики и метода кластеризации. Чем выше на оси y находится точка, тем больше расстояние между соответствующими кластерами. + +Дендрограмма представляет собой графическое представление иерархической кластеризации, где каждый узел на дендрограмме представляет собой объединение кластеров или отдельный образец. diff --git a/shestakova_maria_lab_4/dendro.png b/shestakova_maria_lab_4/dendro.png new file mode 100644 index 0000000..9489a6e Binary files /dev/null and b/shestakova_maria_lab_4/dendro.png differ diff --git a/shestakova_maria_lab_4/shestakova_maria_lab_4.py b/shestakova_maria_lab_4/shestakova_maria_lab_4.py new file mode 100644 index 0000000..03b3cf4 --- /dev/null +++ b/shestakova_maria_lab_4/shestakova_maria_lab_4.py @@ -0,0 +1,24 @@ +import pandas as pd +from scipy.cluster.hierarchy import linkage, dendrogram +import matplotlib.pyplot as plt + +# Загрузка данных +data = pd.read_csv('sleep.csv') + +# Подготовка данных +data = data[['Age', 'Gender', 'Stress Level']] +data = data.dropna() + +# Выделение признаков для кластеризации +features = pd.get_dummies(data[['Age', 'Stress Level', 'Gender']]) + +# Выполнение кластеризации +clusters = linkage(features, method='ward') + +# Визуализация дендрограммы +plt.figure(figsize=(10, 6)) +plt.title('Dendrogram') +plt.xlabel('Samples') +plt.ylabel('Distance') +dendrogram(clusters, leaf_rotation=90., leaf_font_size=8.) +plt.show() \ No newline at end of file