Building Recommendation Engines Table of Contents Building Recommendation Engines Credits About the Author About the Reviewers www.PacktPub.com Why subscribe? Preface What this book covers What you need for this book Who this book is for Conventions Reader feedback Customer support Downloading the example code Downloading the color images of this book Errata Piracy Questions 1. Introduction to Recommendation Engines Recommendation engine definition Need for recommender systems Big data driving the recommender systems Types of recommender systems Collaborative filtering recommender systems Content-based recommender systems Hybrid recommender systems Context-aware recommender systems Evolution of recommender systems with technology Mahout for scalable recommender systems Apache Spark for scalable real-time recommender systems Neo4j for real-time graph-based recommender systems Summary 2. Build Your First Recommendation Engine Building our basic recommendation engine Loading and formatting data Calculating similarity between users Predicting the unknown ratings for users Summary 3. Recommendation Engines Explained Evolution of recommendation engines Nearest neighborhood-based recommendation engines User-based collaborative filtering Item-based collaborative filtering Advantages Disadvantages Content-based recommender systems User profile generation Advantages Disadvantages Context-aware recommender systems Context definition Pre-filtering approaches Post-filtering approaches Advantages Disadvantages Hybrid recommender systems Weighted method Mixed method Cascade method Feature combination method Advantages Model-based recommender systems Probabilistic approaches Machine learning approaches Mathematical approaches Advantages Summary 4. Data Mining Techniques Used in Recommendation Engines Neighbourhood-based techniques Euclidean distance Cosine similarity Jaccard similarity Pearson correlation coefficient Mathematic model techniques Matrix factorization Alternating least squares Singular value decomposition Machine learning techniques Linear regression Classification models Linear classification KNN classification Support vector machines Decision trees Ensemble methods Random forests Bagging Boosting Clustering techniques K-means clustering Dimensionality reduction Principal component analysis Vector space models Term frequency Term frequency inverse document frequency Evaluation techniques Cross-validation Regularization Root-mean-square error (RMSE) Mean absolute error (MAE) Precision and recall Summary 5. Building Collaborative Filtering Recommendation Engines Installing the recommenderlab package in RStudio Datasets available in the recommenderlab package Exploring the Jester5K dataset Description Usage Format Details Exploring the dataset Exploring the rating values Building user-based collaborative filtering with recommenderlab Preparing training and test data Creating a user-based collaborative model Predictions on the test set Analyzing the dataset Evaluating the recommendation model using the k-cross validation Evaluating user-based collaborative filtering Building an item-based recommender model Building an IBCF recommender model Model evaluation Model accuracy using metrics Model accuracy using plots Parameter tuning for IBCF Collaborative filtering using Python Installing the required packages Data source Data exploration Rating matrix representation Creating training and test sets The steps for building a UBCF User-based similarity calculation Predicting the unknown ratings for an active user User-based collaborative filtering with the k-nearest neighbors Finding the top-N nearest neighbors Item-based recommendations Evaluating the model The training model for k-nearest neighbors Evaluating the model Summary 6. Building Personalized Recommendation Engines Personalized recommender systems Content-based recommender systems Building a content-based recommendation system Content-based recommendation using R Dataset description Content-based recommendation using Python Dataset description User activity Item profile generation User profile creation Context-aware recommender systems Building a context-aware recommender systems Context-aware recommendations using R Defining the context Creating context profile Generating context-aware recommendations Summary 7. Building Real-Time Recommendation Engines with Spark About Spark 2.0 Spark architecture Spark components Spark Core Structured data with Spark SQL Streaming analytics with Spark Streaming Machine learning with MLlib Graph computation with GraphX Benefits of Spark Setting up Spark About SparkSession Resilient Distributed Datasets (RDD) About ML Pipelines Collaborative filtering using Alternating Least Square Model based recommender system using pyspark MLlib recommendation engine module The recommendation engine approach Implementation Data loading Data exploration Building the basic recommendation engine Making predictions User-based collaborative filtering Model evaluation Model selection and hyperparameter tuning CrossValidation CrossValidator Train-Validation Split Setting the ParamMaps/parameters Setting the evaluator object Summary 8. Building Real-Time Recommendations with Neo4j Discerning different graph databases Labeled property graph Understanding GraphDB core concepts Neo4j Cypher query language Cypher query basics Node syntax Relationship syntax Building your first graph Creating nodes Creating relationships Setting properties to relations Loading data from csv Neo4j Windows installation Installing Neo4j on the Linux platform Downloading Neo4j Setting up Neo4j Starting Neo4j from the command line Building recommendation engines Loading data into Neo4j Generating recommendations using Neo4j Collaborative filtering using the Euclidean distance Collaborative filtering using Cosine similarity Summary 9. Building Scalable Recommendation Engines with Mahout Mahout - a general introduction Setting up Mahout The standalone mode - using Mahout as a library Setting Mahout for the distributed mode Core building blocks of Mahout Components of a user-based collaborative recommendation engine Building recommendation engines using Mahout Dataset description User-based collaborative filtering Item-based collaborative filtering Evaluating collaborative filtering Evaluating user-based recommenders Evaluating item-based recommenders SVD recommenders Distributed recommendations using Mahout ALS recommendation on Hadoop The architecture for a scalable system Summary 10. What Next - The Future of Recommendation Engines Future of recommendation engines Phases of recommendation engines Phase 1 - general recommendation engines Phase 2 - personalized recommender systems Phase 3 - futuristic recommender systems End of search Leaving the Web behind Emerging from the Web Next best actions Use cases to look out for Smart homes Healthcare recommender systems News as recommendations Popular methodologies Serendipity Temporal aspects of recommendation engines A/B testing Feedback mechanism Summary Building Recommendation Engines
Description: