Book Image

Scala Machine Learning Projects

Book Image

Scala Machine Learning Projects

Overview of this book

Machine learning has had a huge impact on academia and industry by turning data into actionable information. Scala has seen a steady rise in adoption over the past few years, especially in the fields of data science and analytics. This book is for data scientists, data engineers, and deep learning enthusiasts who have a background in complex numerical computing and want to know more hands-on machine learning application development. If you're well versed in machine learning concepts and want to expand your knowledge by delving into the practical implementation of these concepts using the power of Scala, then this book is what you need! Through 11 end-to-end projects, you will be acquainted with popular machine learning libraries such as Spark ML, H2O, DeepLearning4j, and MXNet. At the end, you will be able to use numerical computing and functional programming to carry out complex numerical tasks to develop, build, and deploy research or commercial projects in a production-ready environment.
Table of Contents (17 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

Implementing an LSTM model for HAR


The overall algorithm (HumanAR.scala) has the following workflow:

  • Loading the data
  • Defining hyperparameters
  • Setting up the LSTM model using imperative programming and the hyperparameters
  • Applying batch wise training, that is, picking batch size data, feeding it to the model, then at some iterations evaluating the model and printing the batch loss and the accuracy
  • Output the chart for the training and test errors

The preceding steps can be followed and constructed by way of a pipeline:

Figure 10: MXNet pre-built binary generated

Now let's start the implementation step-by-step. Make sure that you understand each line of code then import the given project in Eclipse or SBT.

Step 1 - Importing necessary libraries and packages

Let's start coding now. We start from the very beginning, that is, by importing libraries and packages:

package com.packt.ScalaML.HAR 

import ml.dmlc.mxnet.Context 
import LSTMNetworkConstructor.LSTMModel 
import scala.collection.mutable.ArrayBuffer...