This project, developed for the Database System Principles (DSP) course, focuses on enhancing e-commerce recommendations using database optimization and collaborative filtering. It aims to provide personalized product suggestions based on user ratings and behavior.
- Course: Database System Principles (DSP), CS257
- Institution: San Jose State University (SJSU), San Jose, CA
- Instructor: Ramin Moazeni
- Term: Fall 2023
This recommendation system is implemented using Python, with key libraries including Streamlit for the web interface, Matplotlib and Seaborn for data visualization, and Pandas for data processing. Scikit-learn is used for machine learning models, and the Surprise library for collaborative filtering techniques.
To install the required libraries, run:
pip install streamlit matplotlib seaborn pandas scikit-learn scipy surpriseTo run the web application:
streamlit run [filename].py- Data visualization of user ratings and product popularity.
- Implementation of popularity-based and collaborative filtering models.
- User interface for interacting with the recommendation engine.
The project uses an e-commerce dataset of user ratings, structured with columns: userId, productId, Rating, and timestamp.
- Popularity-Based Recommender Model: Recommends products based on their overall popularity.
- Collaborative Filtering: Utilizes both KNN with means and SVD algorithms to generate personalized recommendations.
The recommendation engine successfully generates user-specific product suggestions. The system's efficiency and accuracy were measured using RMSE (Root Mean Square Error).
Future improvements include integrating real-time user data and exploring more advanced machine learning techniques like neural networks.
- S. Shekhar, et al., "Efficient join-index-based spatial-join processing: a clustering approach," in IEEE Transactions on Knowledge and Data Engineering, 2002.
- Zarzour, Hafed, et al., "A new collaborative filtering recommendation algorithm," in 2018 9th International Conference on ICICS, IEEE, 2018.
- Xiaojun, Liu, "An improved clustering-based collaborative filtering recommendation algorithm," Cluster computing, 2017.
- Liu, Hongjiao, "Implementation and Effectiveness Evaluation of Four Common Algorithms of Recommendation Systems," in 2022 International Conference on CBASE, IEEE, 2022.
- Zhao, Xuesong, "A study on e-commerce recommender system based on big data," in 2019 IEEE 4th ICCCCBDA, IEEE, 2019.
- Li, Xiangpo, "Research on the application of collaborative filtering algorithm in mobile e-commerce recommendation system," in 2021 IEEE Asia-Pacific Conference on IPEC, IEEE, 2021.
- Zhang, Weiwei, et al., "Personalized and Stable Recommendation Algorithm of E-commerce Commodity Information Based on Collaborative Filtering," in 2022 Global Reliability and PHM-Yantai, IEEE, 2022.
- Gosh, Subasish, et al., "Recommendation system for e-commerce using alternating least squares (ALS) on apache spark," in International Conference on Intelligent Computing & Optimization, Springer International Publishing, 2020.
- Hug, Nicolas, "Surprise: A Python library for recommender systems," Journal of Open Source Software, 2020.
- Zhao, Zhi-Dan, and Ming-Sheng Shang, "User-based collaborative-filtering recommendation algorithms on hadoop," in 2010 Third International Conference on Knowledge Discovery and Data Mining, IEEE, 2010.