https://github.com/mukeshthenraj/video-engagement-prediction
ML project to predict video engagement using Random Forest & XGBoost
https://github.com/mukeshthenraj/video-engagement-prediction
gridsearchcv matplotlib numpy pandas random-forest-classifier roc-auc-curve scikit-learn video-analytics xgboost
Last synced: 5 months ago
JSON representation
ML project to predict video engagement using Random Forest & XGBoost
- Host: GitHub
- URL: https://github.com/mukeshthenraj/video-engagement-prediction
- Owner: Mukeshthenraj
- License: mit
- Created: 2025-06-19T01:12:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-19T01:41:52.000Z (over 1 year ago)
- Last Synced: 2025-06-19T02:24:04.120Z (over 1 year ago)
- Topics: gridsearchcv, matplotlib, numpy, pandas, random-forest-classifier, roc-auc-curve, scikit-learn, video-analytics, xgboost
- Language: Python
- Homepage:
- Size: 727 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ฏ Video Engagement Prediction
This project uses machine learning to predict how engaging an educational video will be based on transcript, audio, and metadata features.
## ๐ Problem Statement
Engagement is critical for learning. We use features like `easiness`, `document_entropy`, and `speaker_speed` to predict if viewers will watch at least 30% of the video.
## ๐ง Models Used
- Random Forest Classifier
- XGBoost Classifier
- GridSearchCV for hyperparameter tuning
- ROC AUC for evaluation
## ๐ Project Structure
```
video-engagement-prediction/
โโโ data/
โ โโโ train.csv
โ โโโ test.csv
โโโ scripts/
โ โโโ Video-engagement-prediction.py
โโโ notebooks/
โโโ visuals/
โ โโโ roc_curve.png
โ โโโ feature_importance.png
โโโ LICENSE
โโโ README.md
โโโ requirements.txt
```
## ๐ Features
- `title_word_count`
- `document_entropy`
- `freshness`
- `easiness`
- `fraction_stopword_presence`
- `speaker_speed`
- `silent_period_rate`
## ๐งช Evaluation Metric
- ROC AUC Score (โฅ 0.85 = high performance)
- Feature importance comparison (RandomForest vs. XGBoost)
## ๐ผ๏ธ Sample Visuals
### ROC Curve

### Feature Importance Comparison

## ๐ง Run Locally
```bash
pip install -r requirements.txt
python scripts/assignment4.py
```
## ๐จโ๐ป Author
Mukesh Thenraj
## ๐ License
This project is licensed under the [MIT License](LICENSE).