Building a recommendation engine with Scala : learn to use Scala to build a recommendation engine from scratch and empower your website users / Saleem Ansari.
Material type: TextSeries: Community experience distilledPublisher: Birmingham, UK : Packt Publishing, 2016Description: 1 online resource : illustrationsContent type:- text
- computer
- online resource
- 9781785282980
- 1785282980
- 1785282581
- 9781785282584
- 005.114 23
- QA76.73.S28
Online resource; title from cover page (Safari, viewed January 21, 2016).
Includes index.
Learn to use Scala to build a recommendation engine from scratch and empower your website usersAbout This Book Learn the basics of a recommendation engine and its application in e-commerce Discover the tools and machine learning methods required to build a recommendation engine Explore different kinds of recommendation engines using Scala libraries such as MLib and SparkWho This Book Is ForThis book is written for those who want to learn the different tools in the Scala ecosystem to build a recommendation engine. No prior knowledge of Scala or recommendation engines is assumed. What You Will Learn Discover the tools in the Scala ecosystem Understand the challenges faced in e-commerce systems and learn how you can solve those challenges with a recommendation engine Familiarise yourself with machine learning algorithms provided by the Apache Spark framework Build different versions of recommendation engines from practical code examples Enhance the user experience by learning from user feedback Dive into the various techniques of recommender systems such as collaborative, content-based, and cross-recommendationsIn DetailWith an increase of data in online e-commerce systems, the challenges in assisting users with narrowing down their search have grown dramatically. The various tools available in the Scala ecosystem enable developers to build a processing pipeline to meet those challenges and create a recommendation system to accelerate business growth and leverage brand advocacy for your clients. This book provides you with the Scala knowledge you need to build a recommendation engine. You'll be introduced to Scala and other related tools to set the stage for the project and familiarise yourself with the different stages in the data processing pipeline, including at which stages you can leverage the power of Scala and related tools. You'll also discover different machine learning algorithms using MLLib. As the book progresses, you will gain detailed knowledge of what constitutes a collaborative filtering based recommendation and explore different methods to improve users' recommendation. Style and approachA step-by-step guide full of real-world, hands-on examples of Scala recommendation engines. Each example is placed in context with explanation and visuals.
Cover; Copyright; Credits; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Introduction to Scala and Machine Learning; Setting up Scala, SBT, and Apache Spark; A quick introduction to Scala; Case classes; Tuples; Scala REPL; SBT -- Scala Build Tool; Apache Spark; Setting up a standalone Apache Spark cluster; Apache Spark -- MLLib; Machine learning and recommendation engines; Summary; Chapter 2: Data Processing Pipeline Using Scala; Entree -- a sample dataset for recommendation systems; Data analysis of the Entree dataset
ETL -- extract transform loadExtract; Transform; Load; Extraction and transformation for machine learning; Types of data; Discrete; Continuous; Categorical; Cleaning the data; Missing data; Normalization; Standardization; Setting up MongoDB and Apache Kafka; Setting up MongoDB; Setting up Apache Kafka; Data processing pipeline for Entree; How does it relate to information retrieval?; Summary; Chapter 3: Conceptualizing an E-Commerce Store; Importance of recommender systems in e-commerce; Converting browsers into buyers; Making cross-sell happen; Increased loyalty time
Types of recommendation methodsFrequently bought together; An example of frequent patterns; People to people correlation; Customer reviews and ratings; People who were also interested in other similar items; Recommendation from others' views; Example of similar items; Manual; Automatic; Ephemeral; Persistent; The architecture of the project; Batch versus online; Summary; Chapter 4: Machine Learning Algorithms; Hands on with Spark/MLlib; Data types; Vector; Matrix; Labeled point; Statistics; Summary statistics; Correlation; Sampling; Hypothesis testing; Random data generation
Feature extraction and transformationTerm frequency-inverted document frequency (TF-IDF); Word2Vec; StandardScaler; Normalizer; Feature selection; Dimensionality reduction; Classification/regression; Linear methods; Naive Bayes; Decision trees; Ensembles; Clustering; K-Means; Expectation-maximization; Power iteration clustering; Latent Dirichlet Allocation; LDA example; Association analysis; Frequent pattern mining (FPGrowth); Summary; Chapter 5: Recommendation Engines and Where They Fit in?; Populating the Amazon dataset; Creating a web app with user/product pages
Creating a Play framework applicationThe home page; Product Groups; Product view; Customer views; Adding recommendation pages; The Top Rated view; The Most Popular view; The Monthly Trends view; Summary; Chapter 6: Collaborative Filtering versus Content-Based Recommendation Engines; Content-based recommendation; Similarity measures; Pearson correlation; Euclidean distance; Cosine measure; Spearman correlation; Tanimoto coefficient; Log likelihood test; Content-based recommendation steps; Clustering for performance; Collaborative filtering based recommendation; What is ALS?
eBooks on EBSCOhost EBSCO eBook Subscription Academic Collection - Worldwide