A machine learning-based dashboard to predict YouTube video engagement metrics (likes, views) using initial metadata.
.
├── app.py # Flask backend (prediction API)
├── dashboard.py # Streamlit frontend
├── models/ # Trained model pickles
│ ├── LGBM_Blend_Model.pkl
│ ├── XGB_Blend_Model.pkl
│ ├── CatBoost_Blend_Model.pkl
│ └── Blending_with_Lasso.pkl
├── data/
│ └── preprocessed_youtube_data.csv
├── logs/ # Log files (created at runtime)
├── requirements.txt
└── README.md
git clone <your-repo-link>
cd yt-analytics-dashboardpython3 -m venv venv
source venv/bin/activatepip install -r requirements.txtnohup python app.py > logs/backend.log 2>&1 &or
python app.pyNow the back end is running at port 5000 with /predict end point.
nohup streamlit run dashboard.py --server.port=8501 --server.address=0.0.0.0 > logs/frontend.log 2>&1 &or
streamlit run dashboard.pyAccess dashboard at: http://<your-server-ip>:8501
Blended regression model using:
- LightGBM
- XGBoost
- CatBoost
- LASSO (meta model)
Trained on YouTube metadata from multiple categories.
Repo: YT-analytics
Script: youtube_scraper.py
| GitHub Profile Pic | Name | University | GitHub Link |
|---|---|---|---|
![]() |
Parishith Ragumar | CSE, University of Moratuwa | @ragupari |
![]() |
Birunthaban Rajendram | CSE, University of Moratuwa | @birunthabanr |
![]() |
Donald Aadithiyan | CSE, University of Moratuwa | @DonaldAadithiyan |
- Add weekly trend predictions
- Integrate more features like tags, titles (via embeddings)
- Visualize category-wise averages and comparisons


