4 Commits

Author SHA1 Message Date
Alexis Bruneteau
ff71d052e6 Track individual model files instead of single multitask model
Some checks failed
MLOps CI/CD Pipeline / test (push) Failing after 5m3s
MLOps CI/CD Pipeline / train (push) Has been skipped
MLOps CI/CD Pipeline / deploy (push) Has been skipped
The training script creates separate model files for each task
(match_winner, map_winner, score_team1, score_team2, round_diff, total_maps)
so DVC needs to track each file individually.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 20:55:28 +02:00
Alexis Bruneteau
9520395ee9 Fix DVC output path overlap in train stage
Changed from tracking entire models/ directory to specific model file
to resolve conflict with models/metrics.json metric tracking.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 20:51:16 +02:00
Alexis Bruneteau
9440f4eecd Implement multi-task learning pipeline for CSGO predictions
Created comprehensive multi-objective modeling system:

**6 Prediction Tasks:**
1. Match Winner (Binary Classification) - Who wins the match?
2. Map Winner (Binary Classification) - Who wins this specific map?
3. Team 1 Score (Regression) - Predict exact round score for team 1
4. Team 2 Score (Regression) - Predict exact round score for team 2
5. Round Difference (Regression) - Predict score margin
6. Total Maps (Regression) - Predict number of maps in match

**Implementation:**
- Updated preprocessing to generate all target variables
- Created train_multitask.py with separate models per task
- Classification tasks use Random Forest Classifier
- Regression tasks use Random Forest Regressor
- All models logged to MLflow experiment 'csgo-match-prediction-multitask'
- Metrics tracked per task (accuracy/precision for classification, MAE/RMSE for regression)
- Updated DVC pipeline to use new training script

**No Data Leakage:**
- All features are pre-match only (rankings, map, starting side)
- Target variables properly separated and saved with 'target_' prefix

This enables comprehensive match analysis and multiple betting/analytics use cases.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 20:28:06 +02:00
Alexis Bruneteau
f107164b51 maybe maybe not 2025-10-01 15:04:13 +02:00