Data Science project (French engineering school Mines Nancy) on recommendation systems using Formal Concept Analysis (Unsupervised learning algorithm). Coded with python and classic py-libraries.
Our project consists of building a recommander system feed by a users rating database. We aim then to recommend to specific individual movies that were positively rated by similar users. It is a collaborative filtering approach.
Defined classes to handle formal concepts and lattices.
To compute formal concepts very quickly.
- Compute both formal concepts and lattices directly.
- Used trie structure for faster computation (from trie.py).
Find the most significant attributes (movies) in term of frequence and confidence.
Find all significant nodes with the aimed client to start the recommand_node procedure from.
Select only the most precise recommendations.
Print recommendations.
- User input to defined the size of the database imported, the threshold used for frequency and confidance.
- Generating the concetps and lattices using concepts.py.
- User input to choose the person to recommend to.
- Compute recommendation using recommendation.py.
- Display recommendations.
Create latticeviz class to visualize lattices using the library graphviz.
Random generation of formal context and excel import of custom database.
To scale our original rating matrix to a binary table (formal context).
implementation of trie structure to compute faster lattices in BFS algorithm.