Multidimensional Association Recommender based on association analysis and graph database
Multidimensional Association Recommender based on association analysis and graph database (Neo4j).
Recommender is main class used for training (based on ARHR and mode) and generating recommendations.
Results class aggregates testing results.
Tester class is used for testing recommendations and calculating IR measures such as precision, recall, F1 and other.
QueryManager class is used for communicating with Neo4j graph database and constructing TF (TIME_FRAME) nodes constraints for test and train dataset parts (k-fold cross validation).
DataManager class inherits QueryManager and it’s used for fetching data and transforming it into appropriate format for further usage.
BaseRecommender class acts as a base for other recommender classes with min support, confidence and lift.
AssociationRecommender support confidence, lift and support metrics with time constraints, >1 degree recommendations and multiple items in body and head of association rule.
OrderAssociationRecommender, inherits AssociationRecommender, uses current cart items as body items (recommendations source).
UserHistoryRecommender, inherits AssociationRecommender, uses previously purchased items as a source.
TimeRelatedRecommender returns recommendations based on given time constraints. Fallbacks on global popular items if none.
Part of master thesis “Recommender systems based on association analysis” (mentor: prof.dr.sc Božidar Kliček) @ FOI, Varaždin.
Other thesis related projects: