IIS_2023_1/kutygin_andrey_lab_4/README.md

3.7 KiB
Raw Permalink Blame History

Задание


Использовать метод кластеризации по варианту для данных из таблицы 1 по варианту(таблица 9),самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо он подходит для решения сформулированной вами задачи Вариант 16 - dendogram

Как запустить лабораторную


Запустить файл main.py

Используемые технологии


Библиотеки pandas, matplotlib, scipy, их компоненты

Описание лабораторной (программы)


Данный код выполняет иерархическую кластеризацию на основе данных о незавидных наблюдениях НЛО. Вот краткое описание каждого шага кода:

  1. Импорт необходимых библиотек: pandas для работы с данными, matplotlib для построения графиков и scipy для иерархической кластеризации.

  2. Загрузка данных из файла 'ufo_sighting_data.csv' с помощью функции read_csv() и сохранение их в переменную data.

  3. Отбор необходимых столбцов из данных. В данном случае выбраны столбцы 'UFO_shape', 'length_of_encounter_seconds', 'latitude' и 'longitude'.

  4. Замена отсутствующих значений (NaN) на значение 'Unknown' с помощью метода fillna().

  5. Преобразование данных в числовой формат, если необходимо. В данном примере столбец 'length_of_encounter_seconds' преобразуется в числовой формат с помощью функции pd.to_numeric().

  6. Выполнение иерархической кластеризации с использованием функции linkage(). Параметры метода и метрики задаются как 'ward' (метод) и 'euclidean' (метрика).

  7. Построение дендрограммы с помощью функции dendrogram(). Размер фигуры устанавливается с помощью функции figure(figsize=(10, 7)). На оси x отображаются наблюдения, на оси y - расстояние. Заголовок и подписи для осей устанавливаются с помощью функций xlabel(), ylabel() и title(). Дендрограмма отображается с помощью функции show(). Данный код позволяет провести кластерный анализ на основе координат местоположения наблюдений НЛО и визуализировать результаты в виде дендрограммы.

Результат


Dendogram

Дендрограмма отображает иерархическую структуру кластеров. Каждый вертикальный сегмент на графике представляет собой одно наблюдение НЛО, а каждый горизонтальный сегмент отображает объединение двух кластеров. Чем выше на графике происходит объединение, тем больше расстояние между объединяемыми кластерами.