This repository contains the source code for the Master's thesis "Hybrid Videogame Recommender System Integrating User Behavior, Game Attributes, and Community Ratings" by Matías Flores (ITBA).
The main goal is to develop and compare videogame recommender systems for the Steam platform, evaluating a traditional collaborative filtering model against a hybrid model that integrates collaborative filtering, content-based, and sentiment analysis approaches, all implemented with KerasRS.
- Implement a collaborative filtering system based on historical user-game interaction patterns.
- Develop a content-based system that recommends games according to their attributes (genre, developer, tags, etc.).
- Incorporate a sentiment analysis module on user reviews using NLP.
- Build a hybrid model that combines the three previous approaches.
- Compare the performance of the hybrid model against the pure collaborative filtering model, using metrics such as recall@k and ndcg@k.
- Python (main language)
- Pandas, NumPy (data processing)
- Matplotlib, Seaborn (visualization)
- Scikit-learn, NLTK (ML and NLP)
- KerasRS (Keras 3, TensorFlow/Torch backends, recommender systems)
- Recommender Systems: KerasRS (TensorFlow)
Data/: Raw and processed data (parquet, npz, json, csv).Code/: Data processing, modeling, and evaluation scripts.parquet_data_generation.py: Main dataset generation and cleaning.exploratory_data_analysis.py: Exploratory data analysis.Models/: Recommender models and utilities.SVD_CF.py: SVD FUNK Matrix Factorization Recommender System.NMF_CF.py: Non Matrix Factorization Recommender System.ALS_CF.py: ALS Recommender System.UserUser_CF.py: User User Memory Based Recommender System.ItemItem_CF.py: Item Item Memory Based Recommender System.data_prep_to_npz.py: Prepares data splits for training.utils_metrics.py: Evaluation metrics (recall@k, ndcg@k).- (coming soon): Content-based, sentiment analysis, and hybrid models.
Results/: Experiment results (weights and metrics for each run, organized by model and timestamp).Doc/: Documentation and thesis PDF. venv\Scripts\activate source venv/bin/activate
-
Clone the repository:
pip install -r requirements.txt
-
Create and activate a virtual environment: