Building a Recommendation Engine with Scala
Key FeaturesLearn the basics of a recommendation engine and its application in e commerceDiscover the tools and machine learning methods required to build a recommendation engineExplore different kinds of recommendation engines using Scala libraries such as MLib and SparkBook DescriptionWith 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.What you will learnDiscover the tools in the Scala ecosystemUnderstand the challenges faced in e commerce systems and learn how you can solve those challenges with a recommendation engineFamiliarise yourself with machine learning algorithms provided by the Apache Spark frameworkBuild different versions of recommendation engines from practical code examplesEnhance the user experience by learning from user feedbackDive into the various techniques of recommender systems such as collaborative, content based, and cross recommendationsAbout the AuthorSaleem Ansari is a full stack developer with over 8 years of industry experience. He has a special interest in machine learning and information retrieval. Having implemented data ingestion and a processing pipeline in Core Java and Ruby separately, he knows the challenges faced by huge data sets in such systems. He has worked for companies such as Red Hat, Impetus Technologies, Belzabar Software, and Exzeo Software. He is also a passionate member of free and open source software (FOSS) community. He started his journey with FOSS in the year 2004. The very next year, he formed JMILUGLinux Users Group at Jamia Millia Islamia University, New Delhi. Since then, he has been contributing to FOSS by organizing community activities and contributing code to various projects (for more information, visit http:/github.com/tuxdna) He also mentors students about FOSS and its benefits.In 2015, he reviewed two books related to Apache Mahout, namely Learning Apache Mahout and Apache Mahout Essentials; both the books were produced by Packt Publishing.He blogs at http:/tuxdna.in/ and can be reached at [email protected] via e mail.Table of ContentsIntroduction to Scala and Machine LearningData Processing Pipeline Using ScalaConceptualizing an E Commerce StoreMachine Learning AlgorithmsRecommendation Engines and Where They Fit in?Collaborative Filtering versus Content Based Recommendation EnginesEnhancing the User ExperienceLearning from User Feedback