Book Image

Machine Learning with Scala Quick Start Guide

By : Md. Rezaul Karim, Ajay Kumar N
Book Image

Machine Learning with Scala Quick Start Guide

By: Md. Rezaul Karim, Ajay Kumar N

Overview of this book

Scala is a highly scalable integration of object-oriented nature and functional programming concepts that make it easy to build scalable and complex big data applications. This book is a handy guide for machine learning developers and data scientists who want to develop and train effective machine learning models in Scala. The book starts with an introduction to machine learning, while covering deep learning and machine learning basics. It then explains how to use Scala-based ML libraries to solve classification and regression problems using linear regression, generalized linear regression, logistic regression, support vector machine, and Naïve Bayes algorithms. It also covers tree-based ensemble techniques for solving both classification and regression problems. Moving ahead, it covers unsupervised learning techniques, such as dimensionality reduction, clustering, and recommender systems. Finally, it provides a brief overview of deep learning using a real-life example in Scala.
Table of Contents (9 chapters)

Dimensionality reduction

Since humans are visual creatures, understanding a high dimensional dataset (even with more than three dimensions) is impossible. Even for a machine (or say, our machine learning algorithm), it's difficult to model the non-linearity from correlated and high-dimensional features. Here, the dimensionality reduction technique is a savior.

Statistically, dimensionality reduction is the process of reducing the number of random variables to find a low-dimensional representation of the data while preserving as much information as possible.

The overall step in PCA can be visualized naively in the following diagram:

PCA and singular-value decomposition (SVD) are the most popular algorithms for dimensionality reduction. Technically, PCA is a statistical technique that's used to emphasize variation and extract the most significant patterns (that is, features...