Machine Learning with Scala
3.7 (21 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
133 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Machine Learning with Scala to your Wishlist.

Add to Wishlist

Machine Learning with Scala

Explore the most innovative and cutting edge machine learning techniques with Scala
3.7 (21 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
133 students enrolled
Created by Packt Publishing
Last updated 9/2016
Current price: $10 Original price: $100 Discount: 90% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 2 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Write Scala code implementing neural network models for prediction and clustering
  • Plot and analyze the structure of datasets with exploratory data analysis techniques using Scala
  • Use new and popular Scala frameworks such as Akka and Spark to implement machine learning algorithms and Scala libraries such as Breeze for numerical computing and plotting
  • Get to grips with the most popular machine learning algorithms used in the areas of regression, classification, clustering, dimensionality reduction, and neural networks
  • Use the power of MLlib libraries to implement machine learning with Spark
  • Work with the k-means algorithm and implement it in Scala with the real datasets
  • Get to know what dimensionality reduction is and explore the theory behind how the PCA algorithm works
  • Analyze and implement linear regression and GLMs in Scala and run them on real datasets
  • Use the Naive bayes algorithms and its methods to predict the probability of different classes based on various attributes
View Curriculum
  • Prior knowledge of one of the JVM languages and basic knowledge in math and statistics is required.

The ability to apply machine learning techniques to large datasets is becoming a highly sought-after skill in the world of technology. Scala can help you deliver key insights into your data—its unique capabilities as a language let you build sophisticated algorithms and statistical models. For this reason, machine learning and Scala fit together perfectly and knowledge of both would be beneficial for anyone entering the data science field.

The course starts with a general introduction to the Scala programming language. From there, you’ll be introduced to several practical machine learning algorithms from the areas of exploratory data analysis. You’ll look at supervised learning machine learning models for prediction and classification tasks, and unsupervised learning techniques such as clustering and dimensionality reduction and neural networks.

By the end, you will be comfortable applying machine learning algorithms to solve real-world problems using Scala.

About The Author

Alex Minnaar is a machine learning engineer working in San Francisco, California. Alex holds an Msc in Machine Learning from University College London and a BSc in Mathematics from Queen's University. Alex has professional experience working with Scala and technologies such as Spark, Akka, and Kafka and a particular interest in natural language processing applications.

Who is the target audience?
  • This course is for those who wish to make sense of their complex data and get hidden insights from it. If you want to build smarter, more accurate Scala applications, this course is for you.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
28 Lectures
Introduction to Scala
6 Lectures 18:17

This video provides an overview of the entire course.

Preview 02:28

In this video, we present the problem of how to manipulate Scala collections in a functional way. This includes simple tasks such as applying the same function to each element of a list, summing over a list, and so on. The solution to this problem is to use Scala's built-in functional combinators.

Functional Combinators in Scala

The problem that we present in this section is how to use Scala to build and structure large programs to handle things like abstraction and inheritance. The solution is to use Scala traits, classes, and objects.

Scala Traits, Classes, and Objects

This video explains the problem of how to use the IntelliJ IDEA as an IDE to write Scala programs.

IntelliJ IDEA as an IDE

This video solves the problem of using the Breeze library for linear algebra.

The Breeze Library for Linear Algebra

In this video, we intend to solve the problem of using the WISP library for plotting data in Scala.

WISP for Plotting
Exploratory Data Analysis with Scala
2 Lectures 07:23

This video aims to present the concept of exploratory data analysis, including various EDA techniques and why they are useful.

Preview 02:51

This video aims to show the user how to implement the exploratory data analysis concepts outlined in the previous section in Scala using Saddle and Breeze.

Using DataFrames with Scala and Plotting with Breeze
Supervised Learning
6 Lectures 29:29

Explain what the supervised learning problem is in the context of machine learning.

Preview 03:00

This part aims to explain how two basic regression algorithms work such that we can implement them in Scala in the next video.

Two Basic Regression Algorithms

In this video the problem, we will look at how to implement linear regression and GLMS in Scala. The solution will be presented in the form of a code walkthrough.

Implementing Linear Regression and GLMs in Scala

Define two basic classification algorithms and explain how they work such that we are able to implement them in Scala in the next video.

Two Basic Classification Algorithms

The problem is how to actually implement the k-nearest neighbors and Naive Bayes algorithms in Scala. The solution will be presented in the form of a code walk-through along with some demonstrations on actual datasets.

Implementing K-Nearest Neighbors and Naive Bayes in Scala

There are two main problems—how do we evaluate and how well will our supervised learning model generalize to new data? And also, how do we choose the optimal model parameters to do this?

Model Selection
Unsupervised Learning
6 Lectures 25:18

This section is devoted to unsupervised learning, so in this video, we want to explain what the general unsupervised learning problem is and its specific sub-problems.

Preview 03:32

This video explains the k-means algorithm and how it can be used to cluster data. It also outlines how it can be implemented in Scala.

Implementing K-means Algorithm in Scala

Explain how the mixture of Gaussians clustering algorithm works, how it is different from k-means clustering, and how the EM-algorithm is used to learn the clusters

Mixture of Gaussians Clustering

Explain how to actually implement the mixture of Gaussians algorithm in Scala given the explanation of the algorithm in the previous video.

Implementing Mixture of Gaussians Clustering in Scala

Explain how the PCA algorithm works to solve the dimensionality reduction algorithm.

Dimensionality Reduction with Principle Component Analysis (PCA)

Now that we have learned how PCA works in the previous section, we will figure out how to actually implement it in Scala

Implementing PCA in Scala
Neural Networks
4 Lectures 18:47

We solve the problem of what feed-forward neural networks are and how they work.

Preview 05:12

In this video, we solve the problem of how to implement a feed-forward neural network in Scala.

Implementing the Feed-Forward Neural Network in Scala

In this video, we will discuss the issues faced with the structure of restricted boltzmann machines

Introduction to Restricted Boltzmann Machines (RBMs)

In this video, we solve the problem of how to implement a Restricted Boltzmann Machine model in Scala.

Implementing Restricted Boltzmann Machines in Scala
Other Scala Frameworks for Machine Learning
4 Lectures 18:44

The problem presented in this video is the concurrency problem. The solution to this problem is using the Akka actor model.

Preview 04:04

We will introduce the problem of how to implement the k-nearest neighbor algorithm in a multi-threaded fashion with Akka.

A Multi-threaded K-Nearest Neighbors Implementation with Akka

In this video, we introduce Apache spark and give a broad overview of what it is and what it does.

Introduction to Apache Spark

We want to figure out how to implement linear regression in Spark using MLlib.

Running Linear Regression on Spark with MLlib
About the Instructor
Packt Publishing
3.9 Average rating
8,175 Reviews
58,770 Students
686 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.