Scala for Machine Learning - Second Edition

Leverage Scala and Machine Learning to study and construct systems that can learn from data
Preview in Mapt

Scala for Machine Learning - Second Edition

Patrick R. Nicolas

Leverage Scala and Machine Learning to study and construct systems that can learn from data

Quick links: > What will you learn?> Table of content

Mapt Subscription
FREE
$20.83/m after trial
eBook
$33.60
RRP $47.99
Save 29%
Print + eBook
$59.99
RRP $59.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$33.60
$59.99
$29.99 p/m after trial
RRP $47.99
RRP $59.99
Subscription
eBook
Print + eBook
Start 14 Day Trial

Frequently bought together


Scala for Machine Learning - Second Edition Book Cover
Scala for Machine Learning - Second Edition
$ 47.99
$ 33.60
Python Machine Learning - Second Edition Book Cover
Python Machine Learning - Second Edition
$ 31.99
$ 22.40
Buy 2 for $35.00
Save $44.98
Add to Cart

Book Details

ISBN 139781787122383
Paperback740 pages

Book Description

The discovery of information through data clustering and classification is becoming a key differentiator for competitive organizations. Machine learning applications are everywhere, from self-driving 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.

Table of Contents

Chapter 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
Chapter 2: Data Pipelines
Modeling
Defining a methodology
Monadic data transformation
Workflow computational model
Profiling data
Assessing a model
Summary
Chapter 3: Data Preprocessing
Time series in Scala
Moving averages
Fourier analysis
The discrete Kalman filter
Alternative preprocessing techniques
Summary
Chapter 4: Unsupervised Learning
K-mean clustering
Expectation-Maximization (EM)
Summary
Chapter 5: Dimension Reduction
Challenging model complexity
The divergences
Principal components analysis (PCA)
Nonlinear models
Summary
Chapter 6: Naïve Bayes Classifiers
Probabilistic graphical models
Naïve Bayes classifiers
Multivariate Bernoulli classification
Naïve Bayes and text mining
Pros and cons
Summary
Chapter 7: Sequential Data Models
Markov decision processes
The hidden Markov model (HMM)
Conditional random fields
Regularized CRF and text analytics
Comparing CRF and HMM
Performance consideration
Summary
Chapter 8: Monte Carlo Inference
The purpose of sampling
Gaussian sampling
Monte Carlo approximation
Bootstrapping with replacement
Markov Chain Monte Carlo (MCMC)
Summary
Chapter 9: Regression and Regularization
Linear regression
Regularization
Numerical optimization
Logistic regression
Summary
Chapter 10: Multilayer Perceptron
Feed-forward neural networks (FFNN)
The multilayer perceptron (MLP)
Evaluation
Benefits and limitations
Summary
Chapter 11: Deep Learning
Sparse autoencoder
Restricted Boltzmann Machines (RBMs)
Convolution neural networks
Chapter 12: Kernel Models and SVM
Kernel functions
The support vector machine (SVM)
Performance considerations
Summary
Chapter 13: Evolutionary Computing
Evolution
Genetic algorithms and machine learning
Genetic algorithm components
Implementation
GA for trading strategies
Advantages and risks of genetic algorithms
Summary
Chapter 14: Multiarmed Bandits
K-armed bandit
Thompson sampling
Upper bound confidence
Summary
Chapter 15: Reinforcement Learning
Reinforcement learning
Learning classifier systems
Summary
Chapter 16: Parallelism in Scala and Akka
Overview
Scala
Scalability with Actors
Akka
Summary
Chapter 17: Apache Spark MLlib
Overview
Apache Spark core
MLlib library
Reusable ML pipelines
Extending Spark
Streaming engine
Performance evaluation
Pros and cons
Summary

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 multiarm-bandit 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

Authors

Table of Contents

Chapter 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
Chapter 2: Data Pipelines
Modeling
Defining a methodology
Monadic data transformation
Workflow computational model
Profiling data
Assessing a model
Summary
Chapter 3: Data Preprocessing
Time series in Scala
Moving averages
Fourier analysis
The discrete Kalman filter
Alternative preprocessing techniques
Summary
Chapter 4: Unsupervised Learning
K-mean clustering
Expectation-Maximization (EM)
Summary
Chapter 5: Dimension Reduction
Challenging model complexity
The divergences
Principal components analysis (PCA)
Nonlinear models
Summary
Chapter 6: Naïve Bayes Classifiers
Probabilistic graphical models
Naïve Bayes classifiers
Multivariate Bernoulli classification
Naïve Bayes and text mining
Pros and cons
Summary
Chapter 7: Sequential Data Models
Markov decision processes
The hidden Markov model (HMM)
Conditional random fields
Regularized CRF and text analytics
Comparing CRF and HMM
Performance consideration
Summary
Chapter 8: Monte Carlo Inference
The purpose of sampling
Gaussian sampling
Monte Carlo approximation
Bootstrapping with replacement
Markov Chain Monte Carlo (MCMC)
Summary
Chapter 9: Regression and Regularization
Linear regression
Regularization
Numerical optimization
Logistic regression
Summary
Chapter 10: Multilayer Perceptron
Feed-forward neural networks (FFNN)
The multilayer perceptron (MLP)
Evaluation
Benefits and limitations
Summary
Chapter 11: Deep Learning
Sparse autoencoder
Restricted Boltzmann Machines (RBMs)
Convolution neural networks
Chapter 12: Kernel Models and SVM
Kernel functions
The support vector machine (SVM)
Performance considerations
Summary
Chapter 13: Evolutionary Computing
Evolution
Genetic algorithms and machine learning
Genetic algorithm components
Implementation
GA for trading strategies
Advantages and risks of genetic algorithms
Summary
Chapter 14: Multiarmed Bandits
K-armed bandit
Thompson sampling
Upper bound confidence
Summary
Chapter 15: Reinforcement Learning
Reinforcement learning
Learning classifier systems
Summary
Chapter 16: Parallelism in Scala and Akka
Overview
Scala
Scalability with Actors
Akka
Summary
Chapter 17: Apache Spark MLlib
Overview
Apache Spark core
MLlib library
Reusable ML pipelines
Extending Spark
Streaming engine
Performance evaluation
Pros and cons
Summary

Book Details

ISBN 139781787122383
Paperback740 pages
Read More

Read More Reviews

Recommended for You

Python Machine Learning - Second Edition Book Cover
Python Machine Learning - Second Edition
$ 31.99
$ 22.40
Scala: Applied Machine Learning Book Cover
Scala: Applied Machine Learning
$ 69.99
$ 49.00
Scala: Guide for Data Science Professionals Book Cover
Scala: Guide for Data Science Professionals
$ 71.99
$ 50.40
Data Science Algorithms in a Week Book Cover
Data Science Algorithms in a Week
$ 31.99
$ 22.40
Practical Time Series Analysis Book Cover
Practical Time Series Analysis
$ 35.99
$ 25.20
Practical Reinforcement Learning Book Cover
Practical Reinforcement Learning
$ 35.99
$ 25.20