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

Scala Play web service


As an application framework, Play2 was chosen as an easy-to-configure and robust framework. Compared to Spring (another popular framework), it takes less time to make a small app from scratch. The Play comes with Guice for dependency injection and SBT as the package manager:

  • Spark ML: The Spark ML library was chosen as it is one of the best-maintained libraries in the Java world. Many algorithms not available in the library itself are implemented by third-party developers and can be trained on top of Spark. A drawback of Spark is that it is quite slow, as by design it is supposed to be distributed; so it uses Hadoop and writes a lot into the filesystem.
  • Akka: This allows implementing the actor's pattern—having several instances of independent objects and passing messages to each other concurrently, which increases robustness.
  • Anorm: The library to work with SQL on top of JDBC. Slick is another option and it is more powerful, but compatibility issues between libraries...