Book Description
Leverage Scala and Machine Learning to study and construct systems that can learn from data
About This Book
 Explore a broad variety of data processing, machine learning, and genetic algorithms through diagrams, mathematical formulation, and updated source code in Scala
 Take your expertise in Scala programming to the next level by creating and customizing AI applications
 Experiment with different techniques and evaluate their benefits and limitations using realworld applications in a tutorial style
Who This Book Is For
If you’re a data scientist or a data analyst with a fundamental knowledge of Scala who wants to learn and implement various Machine learning techniques, this book is for you. All you need is a good understanding of the Scala programming language, a basic knowledge of statistics, a keen interest in Big Data processing, and this book!
What You Will Learn
 Build dynamic workflows for scientific computing
 Leverage open source libraries to extract patterns from time series
 Write your own classification, clustering, or evolutionary algorithm
 Perform relative performance tuning and evaluation of Spark
 Master probabilistic models for sequential data
 Experiment with advanced techniques such as regularization and kernelization
 Dive into neural networks and some deep learning architecture
 Apply some basic multiarmbandit algorithms
 Solve big data problems with Scala parallel collections, Akka actors, and Apache Spark clusters
 Apply key learning strategies to a technical analysis of financial markets
In Detail
The discovery of information through data clustering and classification is becoming a key differentiator for competitive organizations. Machine learning applications are everywhere, from selfdriving cars, engineering design, logistics, manufacturing, and trading strategies, to detection of genetic anomalies.
The book is your one stop guide that introduces you to the functional capabilities of the Scala programming language that are critical to the creation of machine learning algorithms such as dependency injection and implicits. You start by learning data preprocessing and filtering techniques. Following this, you'll move on to unsupervised learning techniques such as clustering and dimension reduction, followed by probabilistic graphical models such as Naïve Bayes, hidden Markov models and Monte Carlo inference. Further, it covers the discriminative algorithms such as linear, logistic regression with regularization, kernelization, support vector machines, neural networks, and deep learning. You’ll move on to evolutionary computing, multibandit algorithms, and reinforcement learning.
Finally, the book includes a comprehensive overview of parallel computing in Scala and Akka followed by a description of Apache Spark and its ML library. With updated codes based on the latest version of Scala and comprehensive examples, this book will ensure that you have more than just a solid fundamental knowledge in machine learning with Scala.
Style and approach
This book is designed as a tutorial with handson exercises using technical analysis of financial markets and corporate data. The approach of each chapter is such that it allows you to understand key concepts easily.
Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.
Publisher Resources
Table of Contents

Scala for Machine Learning Second Edition
 Table of Contents
 Scala for Machine Learning Second Edition
 Credits
 About the Author
 About the Reviewers
 www.PacktPub.com
 Customer Feedback
 Preface

1. Getting Started
 Mathematical notations for the curious
 Why machine learning?
 Why Scala?
 Model categorization
 Taxonomy of machine learning algorithms
 Leveraging Java libraries
 Tools and frameworks
 Source code
 Let's kick the tires
 Summary
 2. Data Pipelines
 3. Data Preprocessing

4. Unsupervised Learning
 Kmean clustering
 ExpectationMaximization (EM)
 Summary
 5. Dimension Reduction
 6. Naïve Bayes Classifiers
 7. Sequential Data Models
 8. Monte Carlo Inference
 9. Regression and Regularization
 10. Multilayer Perceptron
 11. Deep Learning
 12. Kernel Models and SVM
 13. Evolutionary Computing
 14. Multiarmed Bandits
 15. Reinforcement Learning
 16. Parallelism in Scala and Akka
 17. Apache Spark MLlib
 A. Basic Concepts
 B. References
 Index
Product Information
 Title: Scala for Machine Learning  Second Edition
 Author(s):
 Release date: September 2017
 Publisher(s): Packt Publishing
 ISBN: 9781787122383