A project focused on constructing a graph from raw data and developing a recommendation system leveraging the graph structure. The system combines traditional algorithms with neural network-based methods to provide recommendations.
Dataset: https://grouplens.org/datasets/movielens/
git clone https://github.com/xxesth/cGraphRecommendation.gitcd cGraphRecommendation- download dataset, extract and move it to the project directory
make./build/run
gcc -g -o debug src/main.c src/graph.c src/recommendation.c src/neuralnetwork.c -lmgdb ./debug(gdb) run(gdb) backtraceor(gdb) print X
.
|-- LICENSE
|-- Makefile
|-- README.md
|-- .gitignore
|-- projectdescription.pdf
|-- projectreport.pdf
|-- ml-100k # data
| |-- u.data # main dataset
|-- model
| |-- trained_model.bin
|-- src
| |-- graph.c
| |-- graph.h
| |-- main.c
| |-- neuralnetwork.c
| |-- neuralnetwork.h
| |-- recommendation.c
| |-- recommendation.hnotes:
- Matrix factorization neural network is implemented for this project. GNN and NCF are other possible solutions.
- Content based recommendation can be included as a further step of this project.