RL-based rating prediction system that learns your taste in movies, anime, and series.
- Two-phase learning: calibration and active prediction
- Hybrid RL agent combining DQN and LinUCB algorithms
- Real-time rating predictions with confidence scores
- Interactive learning from user feedback
- Comprehensive taste profile analysis by genre and theme
- Learning curve visualization showing prediction improvement
- Synthetic dataset of movies, anime, and series with rich metadata
- Model persistence for continued learning across sessions
- Prediction history tracking and analytics dashboard
- Streamlit for interactive web interface
- PyTorch for Deep Q-Network implementation
- NumPy for numerical computations and feature engineering
- Scikit-learn for preprocessing and utilities
- Plotly for interactive visualizations
- Custom LinUCB implementation for contextual bandits
pip install -r requirements.txtLaunch the interactive application:
streamlit run app.pyThe application has three main phases:
- Calibration: Rate 10 initial items to build your taste profile
- Prediction: AI predicts your ratings before you reveal them
- Dashboard: View learning progress, accuracy metrics, and taste analysis
The hybrid RL agent combines two approaches:
- DQN (Deep Q-Network): Neural network learning state-action values
- LinUCB (Linear Upper Confidence Bound): Contextual bandit with uncertainty estimation
The agent dynamically weights predictions based on confidence and performance. Features include genre preferences, tag affinities, year, type, and historical rating patterns.
Extend by adding new feature extractors in feature_engine.py or implementing alternative RL algorithms in rl_agent.py.