Java Collaborative filtering Engine.
Implemented using resources from Algorithms, 4th Edition By Sedgewick and Wayne.
Given a data set of 2 columns: User and Song, a graph can be created where user nodes are connected to song nodes. We can search for users that have similar song preferences and recommend each other songs.
Here we see that all 3 users bought apples so we assume they have similar taste preference. We find that users 1 and 2 bought oranges, which user 3 did not, therefore oranges would a good recommendation to user 3.
