Graph-Based-Recommender-System
所属分类:数学计算
开发工具:Jupyter Notebook
文件大小:0KB
下载次数:0
上传日期:2024-03-25 17:26:42
上 传 者:
sh-1993
说明: 基于图形的推荐系统,根据电子商务购物者的购买和搜索历史记录为他们推荐最佳产品
(A Graph-based recommender system, recommending the best product for eCommerce shoppers based on their purchase and search history)
文件列表:
Model/
Notebook/
Script/
requirements.txt
# Graph-Based Recommendation System for an eCommerce Platform
## Overview
This project developed a Graph-based recommendation system for an eCommerce platform, leveraging user purchase and search history to recommend products. By transforming user interaction data into graph embeddings and using ANN-FAISS model, the system aimed to enhance product discoverability and user experience.
## Data Overview
The dataset comprised user interactions on the eCommerce website, spanning 9 attributes. This was ransformed into a graph format for analysis and modeling.
## Technology Stack
- **Programming Language:** Python
- **Libraries:** pandas, DuckDB, numpy, pecanpy, gensim, plotly, UMAP, ANN, FAISS
- **File Management:** Parquet files for efficient data storage
- **Database Management:** SQL for data querying
## Approach
### 1. Problem Understanding
Researched the requirements for creating a recommendation system that uses graph theory to suggest products based on historical user data.
### 2. Data Preparation
Extracted relevant data from the provided dataset and optimised it for the analysis.
- **Libraries Used:** pandas, numpy, DuckDB
### 3. Deepwalk and Node2vec Model Training
- **Libraries Used:** Pecanpy, gensim
- **Main Steps:**
- Performed graph random walks to generate sequences for embeddings.
- Trained the Deepwalk and Node2Vec models using the gensim library.
### 4. Result Analysis and Visualization
- **Libraries Used:** UMAP, plotly
- **Main Steps:**
- Categorized products into hierarchical levels for detailed analysis.
- Applied UMAP for dimensionality reduction of embeddings to visualize data clusters.
- Used Plotly for interactive 2D and 3D visualization of product clusters.
### 5. Embedding Vector Search with FAISS
- **Libraries Used:** FAISS
- **Main Steps:**
- Initialized the FAISS library for efficient similarity search.
- Used FAISS to find similar products based on embedding proximity.
- Generated product recommendations for users based on similarity scores.
## Folder Structure
- **Model:** Stores the trained Deepwalk and Node2Vec models.
- **Notebooks:** Contains Jupyter notebooks used in the project:
1. Data Optimisation
2. Data Exploration and Data Analysis
3. Deepwalk and Node2Vec Model Training
4. Graph Construction
5. Result Analysis
6. Embedding Vector Search and Recommendation with FAISS
- **Scripts:** Python scripts are available for reproducibility and automation.
- **requirements.txt:** Lists all necessary libraries with versions. Install these requirements to ensure compatibility.
## Installation
To set up the environment for this project, install the dependencies listed in `requirements.txt` using the following command:
```sh
pip install -r requirements.txt
```
## Usage
Navigate through the notebooks in the provided order to understand the workflow. Each notebook is self-contained with comments and instructions for ease of use.
## Acknowledgments
- The pecanpy and gensim libraries for providing efficient implementations of node embeddings.
- The FAISS library by Facebook AI for enabling high-performance similarity search.
- The UMAP library for intuitive dimensionality reduction and data visualization techniques.
近期下载者:
相关文件:
收藏者: