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.
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.
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.
This video explains the problem of how to use the IntelliJ IDEA as an IDE to write Scala programs.
This video solves the problem of using 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.
This video aims to present the concept of exploratory data analysis, including various EDA techniques and why they are useful.
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.
Explain what the supervised learning problem is in the context of machine learning.
This part aims to explain how two basic regression algorithms work such that we can implement them in Scala in the next video.
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.
Define two basic classification algorithms and explain how they work such that we are able to implement them in Scala in the next video.
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.
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?
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.
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.
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
Explain how to actually implement the mixture of Gaussians algorithm in Scala given the explanation of the algorithm in the previous video.
Explain how the PCA algorithm works to solve the dimensionality reduction algorithm.
Now that we have learned how PCA works in the previous section, we will figure out how to actually implement it in Scala
We solve the problem of what feed-forward neural networks are and how they work.
In this video, we solve the problem of how to implement a feed-forward neural network in Scala.
In this video, we will discuss the issues faced with the structure of restricted boltzmann machines
In this video, we solve the problem of how to implement a Restricted Boltzmann Machine model in Scala.
The problem presented in this video is the concurrency problem. The solution to this problem is using the Akka actor model.
We will introduce the problem of how to implement the k-nearest neighbor algorithm in a multi-threaded fashion with Akka.
In this video, we introduce Apache spark and give a broad overview of what it is and what it does.
We want to figure out how to implement linear regression in Spark using MLlib.
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.