.. | ||
1_dataset.jpg | ||
2_accuracy_score.jpg | ||
3_feature_importances.jpg | ||
lab3.py | ||
music_genre.csv | ||
README.md |
Лабораторная работа №3. Деревья решений
12 вариант
Задание:
Решите с помощью библиотечной реализации дерева решений задачу из лабораторной работы «Веб-сервис «Дерево решений» по предмету «Методы искусственного интеллекта» на 99% ваших данных. Проверьте работу модели на оставшемся проценте, сделайте вывод.
Вариант набора данных по курсовой работе:
- Прогнозирование музыкальных жанров
Запуск
- Запустить файл lab3.py
Используемые технологии
- Язык программирования Python
- Среда разработки PyCharm
- Библиотеки:
- pandas
- sklearn
Описание программы
Набор данных (Kaggle): Полный список жанров, включенных в CSV: «Электронная музыка», «Аниме», «Джаз», «Альтернатива», «Кантри», «Рэп», «Блюз», «Рок», «Классика», «Хип-хоп».
Задача, решаемая деревом решений: Классификация музыкальных треков на основе их характеристик, таких как темп, инструментальность, акустичность, речевость, танцевальность, энергичность, живость. Дерево решений может предсказывать жанр трека, основываясь на его характеристиках.
Задачи оценки: оценить качество работы модели дерева решений и выявить наиболее значимые признаки набора данных.
Пример работы
Датасет, сформированный из случайных строк csv-файла.
Сравнение на оставшихся неиспользованных 0,5% строк датасета предсказнных и действительных жанров.
Вычисленнные коэффициенты влияния признаков на прогноз жанра
Вывод
Посредством предобработки датасета дерево решений без проблем обучилось и частично верно предсказало некоторые жанры (в частности, Электро, Классику и Рэп). Также модель показала оценку влиятельности признаков на прогноз жанра. Самым влиятельным признаком оказалась акустичность музыкального трека. Менее значимыми оказались речевость (преобладание голосов в треке) и инструментальность (преобладание живых инструментов в треке), что звучит вполне разумно.
На практике дерево решений по качеству классификации уступает некоторым другим методам. Помимо этого, небольшие изменения в данных могут существенно изменять построенное дерево решений. На примере моего датасета дерево решений справилось не очень успешно. Это можно объяснить тем, что данных в нём недостаточно для предсказания жанра. Но также стоит отметить, что жанр – одно из самых неоднозначных, самых многосоставных музыкальных понятий.