4.4 KiB
Лабораторная работа №4. Кластеризация
12 вариант
Задание:
Использовать для своих данных метод кластеризации по варианту, самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо он подходит для решения сформулированной вами задачи.
Вариант:
- Алгоритм кластеризации: linkage
Вариант набора данных по курсовой работе:
- Прогнозирование музыкальных жанров ("Prediction of music genre")
Запуск
- Запустить файл lab4.py
Используемые технологии
- Язык программирования Python
- Среда разработки PyCharm
- Библиотеки:
- pandas
- scipy
- matplotlib
Описание программы
Набор данных (Kaggle): Полный список жанров, включенных в CSV: «Электронная музыка», «Аниме», «Джаз», «Альтернатива», «Кантри», «Рэп», «Блюз», «Рок», «Классика», «Хип-хоп».
Задача, решаемая алгоритмом кластеризации: Группировка музыкальных треков на основе их характеристик с целью создания кластеров треков с схожими характеристиками. Алгоритм кластеризации может помочь в создании плейлистов и рекомендаций, основанных на схожести музыкальных треков по некоторым характеристикам.
Задача оценки: Анализ получившейся иерархической структуры с помощью дендрограмме.
Пример работы
Датасет, сформированный из случайных строк csv-файла.
Визуализация дерева, представляющего иерархическое слияние кластеров, в виде дендрограммы. Это может быть полезно для понимания структуры данных.
Вывод первых 10 музыльных треков из датасета с их принадлежностью к кластеру
Вывод
С моими данными алгоритм справляется довольно успешно. На результате выше можно сравнить два трека — "Gake No Ue No Ponyo" и "He Would Have Laughed". В результате работы программы они были присвоены к кластеру №10. При этом первый трек отнесён к жанру "Anime", а второй — к "Alternative". Тем не менее, эти две песни похожи преобладанием инструментала в них (в особенности перкуссии), а так же наличием ирландских мотивов в нём.
В ходе работы было проверено 8 пар музыкальных треков, принадлежащих к разным кластерам. Как итог, больше половины пар действительно имели много схожего в звучании или концепте аранжировки, несмотря на различия по некоторым характеристикам (в том числе жанр).
Из плюсов иерархической кластеризации можно выделить отсутствие конкретного количества кластеров, для поиска похожей музыки это явно преимущество. Из минусов же — слишком медленная работа на больших наборах данных (из-за чего и было взято 50% от всего датасета).