Building Recommender Systems in Python
Duration: 5 Days
Course Background
This course focuses on the theory and practice of implementing recommender systems in Python. It is aimed at Python developers who will be embarking on their first recommender application project, or those who wish to evaluate approaches to developing recommender systems in Python. Starting from basic recommender implementations based on pydata, pytables and pandas the implementation of more complex recommender systems using pythonic recommender frameworks such as crab and recsys, as well as implementing a recommender using easyrec with Django and the Oscar e-commerce framework.
Course Prerequisites and Target Audience
Attendees are assumed to be reasonably experienced Python programmers and to have a basic knowledge of statistics, relational databases and SQL.
Course Outline
- Reommender systems - Brief History and Overview
- Commercial and Social Aspects of Recommender Systems
- Recommender Systems - Basic Concepts
- Mastering Python Data Analysis
- Numpy and Scipy
- Matplotlib
- Pydata, PyTables and Pandas
- Collaborative Recommendation
- User Based Nearest Neighbour Recommendation
- Item Based Nearest Neighbour Recommendation
- Ratings - Types and Scales
- Model based apparoaches
- Pre-processing based approaches
- Implementing a simple recommender in Python
- Content Based Recommendation
- Content representation and content similarity
- Similarity-based retrieval
- Advanced text retrieval methods
- Introduction to the Python NLTK (Natural Language Toolkit)
- Introduction to scikit-learn
- Implementing a simple content based recommender in Python using scikit-learn and the NLTK
- Knowledge Representation and Reasoning based Recommenders
- Constraint based recommenders
- Case based recommenders
- Python Recommender Frameworks - Examples and Case Studies
- recsys
- Crab
- Django + Oscar + Easyrec
- Recommenders - Advanced Topics
- Hybrid recommender systems
- Explainers and recommender systems
- Recommender System Evaluation
- Attacks on Recommender Systems and Defences against such attacks
- Psychology of Online Consumer Decision Making
- Semantic Web and Ontology base filtering
- Extracting Ontologies from the Web
- Context Aware Recommendations