Views
No views yet
n_estimators: 50max_depth: 30min_samples_split: 5min_samples_leaf: 2max_features: 'sqrt'| Метрика | Train | Test | Оценка |
|---|---|---|---|
| MAE | 6.40 | 11.44 | ✅ Хорошо |
| R² | - | 0.52 | ⚠️ Средне |
| Стабильность CV | 0.98% | - | ✅ Отлично |
1import pickle
2import pandas as pd
3
4# Загрузка модели
5with open('final_random_forest_model.pkl', 'rb') as f:
6 model = pickle.load(f)
7
8# Подготовка данных (пример)
9features = pd.DataFrame({
10 'danceability': [0.7],
11 'energy': [0.8],
12 'loudness': [-5.0],
13 'speechiness': [0.05],
14 'acousticness': [0.1],
15 'instrumentalness': [0.0],
16 'liveness': [0.1],
17 'valence': [0.6],
18 'tempo': [120.0],
19 'duration_ms': [200000],
20 'key': [5],
21 'mode': [1],
22 'time_signature': [4]
23 # + производные признаки (см. feature engineering)
24})
25
26# Предсказание
27popularity = model.predict(features)
28print(f"Предсказанная популярность: {popularity[0]:.1f}/100")Предсказанная популярность:
0-30 → ❌ Слабый потенциал
30-50 → ⚠️ Средний потенциал
50-70 → ✅ Хороший потенциал
70+ → 🎯 Высокий потенциал (модель редко так предсказывает)reports/model_analysis.md в репозиторииTECHNICAL_SPECIFICATION.md