Лабораторная работа №6
.docxМинистерство цифрового развития, связи и массовых коммуникаций
Российской Федерации Ордена Трудового Красного Знамени
федеральное государственное бюджетное образовательное
учреждение высшего образования
Московский технический университет связи и информатики
Кафедра «Математическая кибернетика и информационные технологии»
Лабораторная работа №6
по дисциплине
«Управление данными»
Москва 2023
Оглавление
Цель работы 2
Ход лабораторной работы 3
Вывод 15
Цель работы
Ознакомиться с методами кластеризации модуля Sklearn
Ход лабораторной работы
Создадим Python скрипт и загрузим данные в датафрейм. Загрузим данные в датафрейм, убрав столбец с метками и откинув наблюдения с пропущенными значениями
Рисунок 1 – Загрузка данных в датафрейм
Проведем кластеризацию методов k-средних
Рисунок 2 - Кластеризация
Так как разные признаки лежат в разных шкалах, то стандартизируем данные
Рисунок 3 – Стандартизация данных
Проведем кластеризацию методов DBSCAN при параметрах по умолчанию. Выведем метки кластеров, количество кластеров, а также процент наблюдений, которые кластеризовать не удалось
Рисунок 4 – Полученный результат
Параметры принимаемые DBSCAN:
eps - максимальная дистанция между двумя точками (сэмплами), допустимая для того, чтобы можно было бы сказать, что они соседи
min_samples - минимальное количество точек соседей, включая её саму, необходимое для того, чтобы эту точку можно было бы назвать core (т.е. внутри кластера)
metrics - метрика для вычисление расстояний между двумя точками (по-умолчанию, расстояние в Евклидовом пространстве)
metric_params - параметры для метрики
algorithm - алгоритм для вычисления ближайших соседей модулем NearestNeighbors
leaf_size - количество листьев для некоторых алгоритмов в вышеказанном параметре
p - мощность метрики Миковского (если таковая указана в metrics)
n_jobs - количество паралельных работ для расчетов
Построим график количества кластеров и процента не кластеризованных наблюдений в зависимости от максимальной рассматриваемой дистанции между наблюдениями. Минимальное значение количества точек образующих, кластер оставить по умолчанию.
Рисунок 5 – Полученный результат
Построим график количества кластеров и процента не кластеризованных наблюдений в зависимости от минимального значения количества точек, образующих кластер. Максимальную рассматриваемую дистанцию между наблюдениями оставьте по умолчанию
Рисунок 6 – Полученный результат
Определим значения параметров, при котором количество кластеров получается от 5 до 7, и процент не кластеризованных наблюдений не превышает 12%.
Рисунок 7 – Полученный результат
Понизим размерность данных до 2 при используя метод главных компонент. Визуализируем результаты кластеризации полученные в пункте 6 (метки должны быть получены на данных до уменьшения размерности).
Рисунок 8 – Код
Рисунок 9 – Полученный результат
Опишем параметры метода OPTICS, а также какими атрибутами он обладает
Параметры
min_samples - минимальное количество точек в окрестности другой точки, чтобы считать её "core"-точкой;
max_eps - максимальное расстояние между двумя точками для того, чтобы считать их в окрестности друг друга. По умолчанию - бесконечность;
metric - метрика для вычисления расстояния;
p - параметр для метрики Минковского;
metric_params - дополнительные параметры метрики;
cluster_method - метод для извлечения кластеров с импользованием вычисленных "reachability" и "ordereing". Может быть “xi” или “dbscan”;
eps - (параметр dbscan) максимальная дистанция между точками, чтобы считать их в окресности друг друга. По-умолчанию такое же как и max_eps.
xi - параметр для метода "xi". Опеределяет минимальную ступенчатость графика достижимости (reachability plot), которая определяет границу кластера.
predecessor_correction - параметр для метода "xi", который позволяет корректировать кластеры в соответсвии с предшественниками.
min_cluster_size - мимнимальный размер OPTICS кластера в количестве измерений.
algorithm - алгоритм для вычисления ближайших соседей;
leaf_size - размер листа дерева для BallTree или KDTree.
n_jobs - количество параллельных работ для поиска соседей.
Атрибуты
labels_ - метки кластеров
reachability_ - reachability distances для каждой точки;
ordering_ - индексы точке отсортированные в порядке кластеров;
core_distances_ - дистанции на которых каждая точка стоановится core-точкой. Для некорневых точек - бесконечность.
predecessor_ - точка из которой была достигнута точка.
cluster_hierarchy_ - иерархия класткров. Только для xi метода.
Найдем такие параметры метода OPTICS (*max_eps *и min_samples) при которых, чтобы получить результаты близкие к результатам DBSCAN из пункта 6
Рисунок 10 – Полученный результат
Визуализируем полученный результат, а также построим график достижимости
Рисунок 11 – Код
Рисунок 12 – Полученный результат
Исследуем работу метода OPTICS с использованием различных метрик
Рисунок 13 – Полученный результат
Рисунок 14 – Полученный результат
Рисунок 15 – Полученный результат
Рисунок 16 – Полученный результат
Рисунок 17 – Полученный результат
Рисунок 18 – Полученный результат
Рисунок 19 – Полученный результат
Рисунок 20 – Полученный результат
Рисунок 21 – Полученный результат
Рисунок 22 – Полученный результат
Рисунок 23 – Полученный результат
Вывод
Ознакомился с методами кластеризации модуля Sklearn