create README
This commit is contained in:
parent
d42a56ad1c
commit
21db787954
BIN
istyukov_timofey_lab_5/1_dataset.jpg
Normal file
BIN
istyukov_timofey_lab_5/1_dataset.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 55 KiB |
BIN
istyukov_timofey_lab_5/2_features.jpg
Normal file
BIN
istyukov_timofey_lab_5/2_features.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
BIN
istyukov_timofey_lab_5/3_confusion_matrix.jpg
Normal file
BIN
istyukov_timofey_lab_5/3_confusion_matrix.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
istyukov_timofey_lab_5/4_score.jpg
Normal file
BIN
istyukov_timofey_lab_5/4_score.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.6 KiB |
BIN
istyukov_timofey_lab_5/5_report.jpg
Normal file
BIN
istyukov_timofey_lab_5/5_report.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
108
istyukov_timofey_lab_5/README.md
Normal file
108
istyukov_timofey_lab_5/README.md
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
# Лабораторная работа №5. Регрессия
|
||||||
|
## 12 вариант
|
||||||
|
___
|
||||||
|
|
||||||
|
### Задание:
|
||||||
|
Использовать регрессию по варианту для своих данных по варианту,
|
||||||
|
самостоятельно сформулировав задачу. Оценить, насколько хорошо она
|
||||||
|
подходит для решения сформулированной вами задачи.
|
||||||
|
|
||||||
|
### Вариант:
|
||||||
|
- Тип регрессии: **Логистическая регрессия**
|
||||||
|
|
||||||
|
### Вариант набора данных по курсовой работе:
|
||||||
|
- Прогнозирование музыкальных жанров ("Prediction of music genre")
|
||||||
|
|
||||||
|
___
|
||||||
|
|
||||||
|
### Запуск
|
||||||
|
- Запустить файл lab5.py
|
||||||
|
|
||||||
|
### Используемые технологии
|
||||||
|
- Язык программирования **Python**
|
||||||
|
- Среда разработки **PyCharm**
|
||||||
|
- Библиотеки:
|
||||||
|
* pandas
|
||||||
|
* sklearn
|
||||||
|
* matplotlib
|
||||||
|
* warnings
|
||||||
|
|
||||||
|
### Описание программы
|
||||||
|
**Набор данных (Kaggle):** Полный список жанров, включенных в CSV:
|
||||||
|
«Электронная музыка», «Аниме», «Джаз», «Альтернатива», «Кантри», «Рэп»,
|
||||||
|
«Блюз», «Рок», «Классика», «Хип-хоп».
|
||||||
|
|
||||||
|
**Задача, решаемая регрессией:**
|
||||||
|
Предсказание популярности нового музыкального трека на основе его
|
||||||
|
определённых характеристик. Регрессионная модель может предсказывать
|
||||||
|
числовую оценку популярности трека, что может быть полезно
|
||||||
|
для музыкальных платформ по типу Spotify.
|
||||||
|
|
||||||
|
**Задача оценки:**
|
||||||
|
|
||||||
|
- Вычисление 5 важных признаков и удаление из классификации ненужных
|
||||||
|
- Прогноз на тестовом на наборе и расчёт точности.
|
||||||
|
- Формирование матрицы путаницы для большего понимания.
|
||||||
|
- Формирование отчёта классификации
|
||||||
|
|
||||||
|
---
|
||||||
|
### Пример работы
|
||||||
|
|
||||||
|
*Датасет, сформированный из случайных строк csv-файла.*
|
||||||
|
|
||||||
|
![Graphics](1_dataset.jpg)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Вычисленные характеристики признаков. Меткой True и рангом №1
|
||||||
|
указаны 5 важных для популярности музыкального трека признаков.*
|
||||||
|
|
||||||
|
*Например, danceability (танцевальность) трека оказалось важным признаком,
|
||||||
|
а duration_ms (длительность в милисекундах) — самый незначительный признак.*
|
||||||
|
|
||||||
|
![Graphics](2_features.jpg)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Матрица путаницы — это табличное представление прогнозов, сделанных моделью
|
||||||
|
классификации, показывающее количество правильных и неправильных прогнозов
|
||||||
|
для каждого класса. На пересечениях n-строки и n-столба показаны верные прогнозы
|
||||||
|
признака с индексом i. На данной матрице видно, что на популярности уровня 0 и 3
|
||||||
|
не было ни одного верного предсказания.*
|
||||||
|
|
||||||
|
![Graphics](3_confusion_matrix.jpg)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Оценка точности модели. По матрице путаницы можно было заметить, что оценка
|
||||||
|
по значению чуть больше 50%, так как количество верных и неверных прогнозов
|
||||||
|
не сильно отличается.*
|
||||||
|
|
||||||
|
![Graphics](4_score.jpg)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*На отчёте также можно заметить по нулям у уровней популярности 0 и 3,
|
||||||
|
что там ни одно значение не было верно предсказано.*
|
||||||
|
|
||||||
|
![Graphics](5_report.jpg)
|
||||||
|
|
||||||
|
|
||||||
|
### Вывод
|
||||||
|
Итак, можно сказать, что с поставленной задачей логистическая регрессия больше
|
||||||
|
справилась, чем не справилась. Но в то же время популярность трека — неоднозначный
|
||||||
|
признак. Нельзя по характеристикам музыкального трека точно сказать, насколько
|
||||||
|
он взлетит в чартах. Считаю, что именно поэтому программа не смогла предсказать
|
||||||
|
нулевую и высшую популярность, а назначила тестовой выборке лишь средние
|
||||||
|
значения популярности.
|
||||||
|
|
||||||
|
Логистическая регрессия выполняется быстро и относительно несложно, в ней удобно
|
||||||
|
интерпретировать результаты. Хотя по сути это метод бинарной классификации,
|
||||||
|
его также можно применять к задачам мультиклассов, что я и сделал (было бы
|
||||||
|
нелогично обозначать популярность лишь метками True и False, когда можно
|
||||||
|
её разделить на уровни).
|
||||||
|
|
||||||
|
Также логистическая регрессия не готова обрабатывать избыточное количество
|
||||||
|
категорических признаков. Она подвержена переподбору, что и было сделано в
|
||||||
|
данной лабораторной работе. Логистическая регрессия не будет хорошо работать
|
||||||
|
с независимыми признаки трека, которые не коррелируют с популярностью трека.
|
Loading…
Reference in New Issue
Block a user