IIS_2023_1/istyukov_timofey_lab_4
2024-01-07 13:56:06 +04:00
..
1_dendrogram.png create README 2024-01-07 04:56:54 +04:00
2_dataset.jpg create README 2024-01-07 04:56:54 +04:00
3_clusters.jpg create README 2024-01-07 04:56:54 +04:00
lab4.py commit 1 2024-01-07 04:56:43 +04:00
music_genre.csv commit 1 2024-01-07 04:56:43 +04:00
README.md create README 2024-01-07 13:56:06 +04:00

Лабораторная работа №4. Кластеризация

12 вариант


Задание:

Использовать для своих данных метод кластеризации по варианту, самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо он подходит для решения сформулированной вами задачи.

Вариант:

  • Алгоритм кластеризации: linkage

Вариант набора данных по курсовой работе:

  • Прогнозирование музыкальных жанров ("Prediction of music genre")

Запуск

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

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

  • Язык программирования Python
  • Среда разработки PyCharm
  • Библиотеки:
    • pandas
    • scipy
    • matplotlib

Описание программы

Набор данных (Kaggle): Полный список жанров, включенных в CSV: «Электронная музыка», «Аниме», «Джаз», «Альтернатива», «Кантри», «Рэп», «Блюз», «Рок», «Классика», «Хип-хоп».

Задача, решаемая алгоритмом кластеризации: Группировка музыкальных треков на основе их характеристик с целью создания кластеров треков с схожими характеристиками. Алгоритм кластеризации может помочь в создании плейлистов и рекомендаций, основанных на схожести музыкальных треков по некоторым характеристикам.

Задача оценки: Анализ получившейся иерархической структуры с помощью дендрограмме.


Пример работы

Датасет, сформированный из случайных строк csv-файла.

Graphics


Визуализация дерева, представляющего иерархическое слияние кластеров, в виде дендрограммы. Это может быть полезно для понимания структуры данных.

Graphics


Вывод первых 10 музыльных треков из датасета с их принадлежностью к кластеру

Graphics

Вывод

С моими данными алгоритм справляется довольно успешно. На результате выше можно сравнить два трека — "Gake No Ue No Ponyo" и "He Would Have Laughed". В результате работы программы они были присвоены к кластеру №10. При этом первый трек отнесён к жанру "Anime", а второй — к "Alternative". Тем не менее, эти две песни похожи преобладанием инструментала в них (в особенности перкуссии), а так же наличием ирландских мотивов в нём.

В ходе работы было проверено 8 пар музыкальных треков, принадлежащих к разным кластерам. Как итог, больше половины пар действительно имели много схожего в звучании или концепте аранжировки, несмотря на различия по некоторым характеристикам (в том числе жанр).

Из плюсов иерархической кластеризации можно выделить отсутствие конкретного количества кластеров, для поиска похожей музыки это явно преимущество. Из минусов же — слишком медленная работа на больших наборах данных (из-за чего и было взято 50% от всего датасета).