Most of the workshops are free, but some workshops require a set of materials that we have to buy in advance. For those workshops, you have to register additionally.
CODING WORKSHOP: RECOMMENDER SYSTEMS
The goal of the workshop is to introduce people to recommender sytems. You will be able to build your own recommender system with a help of others. Bring along a friend and code together. No prior registrations is needed: "first come - first serve". The capacity is only for 25 people.
15:00 - 15:30 presentation (101 Recommender Systems) 15:30 - 17:00 hacking! :collision: 17:00 - 17:30 wrap up, questions, show and tell
Of course, you have to bring your laptop with you!
Before the session, please read and follow all the steps detailed in the instructions file. If you have problems following it, you can ask questions in the meetup event forum, or using github issues.
- What do we know about the dataset? Start an ipython notebook and plot some basic statistics, it will help you understand many things about. For example, how many ratings does each movie gets? What are the most popular movies? what is the rating distribution?
- Play with the parameters. For example, are your neighbours better when you use ‘pearson correlation’ or when you use ‘cosine similarity’?
- Make recommendations for one of your colleagues (by getting their list of rated items). Do they like them? Is their perception on quality the same as yours?
- Are scores important? Should we filter the recommendations to only show the ones we are really sure people will like?
- It looks like some of the recommendations are from items we just rated. However, you want people to discover new movies. How do you make sure you never get recommendations for items you have rated?
- See who are your neighbours, see what they have rated. This is a non-automated way to discover movies, and it also helps to understand how the U-KNN algorithm works.
- How long will it take for each algorithm to generate recommendations for all users? Is it scalable? Which one is better? You can answer this by using python’s time library and timing executions.
- Are the recommendations good? Which algorithm makes better recommendations? Everyone has different opinions, try different combinations of algorithms and parameters and discuss with other people.
- Implement the matrix factorization algorithm. It works very well, and it is very similar to the ones used in real-world recommender systems! Simon Funk’s SVD
- Collective Intelligence book : Programming Collective Intelligence book
- Collective Intelligence (book code): Programming Collective Intelligence code
- Collaborative Filtering on Wikipedia
- An introduction to RS from Humberto’s talk at #unit conference: slides