File size: 5,536 Bytes
465027d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | ---
language: en
license: mit
tags:
- music
- audio-features
- popularity-prediction
- random-forest
- regression
- spotify
library_name: sklearn
pipeline_tag: tabular-regression
---
# 🎵 Acoustic Hit Predictor v1.0
Модель машинного обучения для прогнозирования популярности музыкальных треков на основе акустических характеристик из Spotify API.
## 📊 Описание модели
**Random Forest Regressor** обученная на 114,000 треков для предсказания популярности (0-100).
### Параметры модели:
- `n_estimators`: 50
- `max_depth`: 30
- `min_samples_split`: 5
- `min_samples_leaf`: 2
- `max_features`: 'sqrt'
## 📈 Метрики качества
| Метрика | Train | Test | Оценка |
|---------|-------|------|--------|
| MAE | 6.40 | 11.44 | ✅ Хорошо |
| R² | - | 0.52 | ⚠️ Средне |
| Стабильность CV | 0.98% | - | ✅ Отлично |
**Погрешность:** ±11 пунктов популярности в среднем
## 🎯 Основные характеристики
- ⚡ **Быстрый инференс:** ~1ms на трек
- 📊 **Признаков:** 30 (оригинальные + производные)
- ⏱️ **Время обучения:** 67.3 минуты
- 💾 **Размер:** 231 MB
## 🔍 Feature Importance
### Топ-5 факторов популярности:
1. **Danceability** — главный драйвер (среднее: 0.68)
2. **Energy** — умеренное влияние (среднее: 0.58)
3. **Valence** — позитивность (среднее: 0.47)
4. **Loudness** — технический фактор
5. **Tempo** — оптимально 110-130 BPM
## 💪 Сильные стороны
- ✅ Стабильная работа на средних значениях популярности (40-65)
- ✅ Хорошая генерализация (MAE 10.74 vs 11.44)
- ✅ Правильное понимание роли танцевальности
- ✅ Быстрая batch-обработка
## ⚠️ Слабые стороны
- Консервативность (редко предсказывает > 65)
- Проблемы с мега-хитами (popularity > 80)
- Систематическая недооценка в 70% случаев
- Не учитывает временной и культурный контекст
## 📥 Использование
```python
import pickle
import pandas as pd
# Загрузка модели
with open('final_random_forest_model.pkl', 'rb') as f:
model = pickle.load(f)
# Подготовка данных (пример)
features = pd.DataFrame({
'danceability': [0.7],
'energy': [0.8],
'loudness': [-5.0],
'speechiness': [0.05],
'acousticness': [0.1],
'instrumentalness': [0.0],
'liveness': [0.1],
'valence': [0.6],
'tempo': [120.0],
'duration_ms': [200000],
'key': [5],
'mode': [1],
'time_signature': [4]
# + производные признаки (см. feature engineering)
})
# Предсказание
popularity = model.predict(features)
print(f"Предсказанная популярность: {popularity[0]:.1f}/100")
```
## 🎯 Интерпретация результатов
```
Предсказанная популярность:
0-30 → ❌ Слабый потенциал
30-50 → ⚠️ Средний потенциал
50-70 → ✅ Хороший потенциал
70+ → 🎯 Высокий потенциал (модель редко так предсказывает)
```
## ✅ Подходит для:
- **Независимых артистов** — первичная оценка потенциала трека
- **Продюсеров** — сравнение разных версий композиции
- **A&R менеджеров** — скрининг демо-материалов
- **Исследователей** — анализ факторов популярности
## 🚫 Ограничения:
- Не предсказывает мега-хиты (80+)
- Не учитывает маркетинг и промо
- Не заменяет экспертное мнение
- Работает только на аудио-характеристиках
## 📚 Дополнительные ресурсы
- **GitHub репозиторий:** [Acoustic-Hit-Predictor](https://github.com/mmobik/Acoustic-Hit-Predictor-From-Audio-Features-to-Chart-Success)
- **Детальный анализ:** См. `reports/model_analysis.md` в репозитории
- **Техническая спецификация:** См. `TECHNICAL_SPECIFICATION.md`
## 📄 Лицензия
MIT License
## 👨💻 Автор
**mmobik**
- GitHub: [@mmobik](https://github.com/mmobik)
## 📅 Версия
- **Дата обучения:** Декабрь 2024
- **Версия:** 1.0
- **Статус:** MVP (Minimum Viable Product)
## 🔄 Планируемые улучшения
1. Добавление большего количества треков с popularity > 80
2. Калибровка предсказаний для крайних значений
3. Временные признаки (год релиза, сезонность)
4. Метаданные (жанр, лейбл, популярность артиста)
|