Book description
Leverage the power of Scala and master the art of building, improving, and validating scalable machine learning and AI applications using Scala's most advanced and finest features
About This Book
Build functional, type-safe routines to interact with relational and NoSQL databases with the help of the tutorials and examples provided
Leverage your expertise in Scala programming to create and customize your own scalable machine learning algorithms
Experiment with different techniques; evaluate their benefits and limitations using real-world financial applications
Get to know the best practices to incorporate new Big Data machine learning in your data-driven enterprise and gain future scalability and maintainability
Who This Book Is For
This Learning Path is for engineers and scientists who are familiar with Scala and want to learn how to create, validate, and apply machine learning algorithms. It will also benefit software developers with a background in Scala programming who want to apply machine learning.
What You Will Learn
Create Scala web applications that couple with JavaScript libraries such as D3 to create compelling interactive visualizations
Deploy scalable parallel applications using Apache Spark, loading data from HDFS or Hive
Solve big data problems with Scala parallel collections, Akka actors, and Apache Spark clusters
Apply key learning strategies to perform technical analysis of financial markets
Understand the principles of supervised and unsupervised learning in machine learning
Work with unstructured data and serialize it using Kryo, Protobuf, Avro, and AvroParquet
Construct reliable and robust data pipelines and manage data in a data-driven enterprise
Implement scalable model monitoring and alerts with Scala
In Detail
This Learning Path aims to put the entire world of machine learning with Scala in front of you.
Scala for Data Science, the first module in this course, is a tutorial guide that provides tutorials on some of the most common Scala libraries for data science, allowing you to quickly get up to speed building data science and data engineering solutions.
The second course, Scala for Machine Learning guides you through the process of building AI applications with diagrams, formal mathematical notation, source code snippets, and useful tips. A review of the Akka framework and Apache Spark clusters concludes the tutorial.
The next module, Mastering Scala Machine Learning, is the final step in this course. It will take your knowledge to next level and help you use the knowledge to build advanced applications such as social media mining, intelligent news portals, and more. After a quick refresher on functional programming concepts using REPL, you will see some practical examples of setting up the development environment and tinkering with data. We will then explore working with Spark and MLlib using k-means and decision trees.
By the end of this course, you will be a master at Scala machine learning and have enough expertise to be able to build complex machine learning projects using Scala.
This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:
Scala for Data Science, Pascal Bugnion
Scala for Machine Learning, Patrick Nicolas
Mastering Scala Machine Learning, Alex Kozlov
Style and approach
A tutorial with complete examples, this course will give you the tools to start building useful data engineering and data science solutions straightaway. This course provides practical examples from the field on how to correctly tackle data analysis problems, particularly for modern Big Data datasets.
Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.
Table of contents
-
Scala:Applied Machine Learning
- Table of Contents
- Scala:Applied Machine Learning
- Scala:Applied Machine Learning
- Credits
- Preface
-
I. Module 1
- 1. Scala and Data Science
-
2. Manipulating Data with Breeze
- Code examples
- Installing Breeze
- Getting help on Breeze
-
Basic Breeze data types
- Vectors
- Dense and sparse vectors and the vector trait
- Matrices
- Building vectors and matrices
- Advanced indexing and slicing
- Mutating vectors and matrices
- Matrix multiplication, transposition, and the orientation of vectors
- Data preprocessing and feature engineering
- Breeze – function optimization
- Numerical derivatives
- Regularization
- An example – logistic regression
- Towards re-usable code
- Alternatives to Breeze
- Summary
- References
- 3. Plotting with breeze-viz
- 4. Parallel Collections and Futures
-
5. Scala and SQL through JDBC
- Interacting with JDBC
- First steps with JDBC
- JDBC summary
- Functional wrappers for JDBC
- Safer JDBC connections with the loan pattern
- Enriching JDBC statements with the "pimp my library" pattern
- Wrapping result sets in a stream
- Looser coupling with type classes
- Creating a data access layer
- Summary
- References
- 6. Slick – A Functional Interface for SQL
- 7. Web APIs
- 8. Scala and MongoDB
-
9. Concurrency with Akka
- GitHub follower graph
- Actors as people
- Hello world with Akka
- Case classes as messages
- Actor construction
- Anatomy of an actor
- Follower network crawler
- Fetcher actors
- Routing
- Message passing between actors
- Queue control and the pull pattern
- Accessing the sender of a message
- Stateful actors
- Follower network crawler
- Fault tolerance
- Custom supervisor strategies
- Life-cycle hooks
- What we have not talked about
- Summary
- References
- 10. Distributed Batch Processing with Spark
-
11. Spark SQL and DataFrames
- DataFrames – a whirlwind introduction
- Aggregation operations
- Joining DataFrames together
- Custom functions on DataFrames
- DataFrame immutability and persistence
- SQL statements on DataFrames
- Complex data types – arrays, maps, and structs
- Interacting with data sources
- Standalone programs
- Summary
- References
- 12. Distributed Machine Learning with MLlib
-
13. Web APIs with Play
- Client-server applications
- Introduction to web frameworks
- Model-View-Controller architecture
- Single page applications
- Building an application
- The Play framework
- Dynamic routing
- Actions
- Interacting with JSON
- Querying external APIs and consuming JSON
- Creating APIs with Play: a summary
- Rest APIs: best practice
- Summary
- References
- 14. Visualization with D3 and the Play Framework
- A. Pattern Matching and Extractors
-
II. Module 2
- 1. Getting Started
- 2. Hello World!
- 3. Data Preprocessing
-
4. Unsupervised Learning
-
Clustering
- K-means clustering
- The expectation-maximization algorithm
- Dimension reduction
- Performance considerations
- Summary
-
Clustering
- 5. Naïve Bayes Classifiers
- 6. Regression and Regularization
- 7. Sequential Data Models
- 8. Kernel Models and Support Vector Machines
-
9. Artificial Neural Networks
- Feed-forward neural networks
- The multilayer perceptron
- Evaluation
- Convolution neural networks
- Benefits and limitations
- Summary
- 10. Genetic Algorithms
- 11. Reinforcement Learning
- 12. Scalable Frameworks
- A. Basic Concepts
-
III. Module 3
- 1. Exploratory Data Analysis
- 2. Data Pipelines and Modeling
- 3. Working with Spark and MLlib
- 4. Supervised and Unsupervised Learning
- 5. Regression and Classification
- 6. Working with Unstructured Data
- 7. Working with Graph Algorithms
- 8. Integrating Scala with R and Python
- 9. NLP in Scala
- 10. Advanced Model Monitoring
- A. Bibliography
- Index
Product information
- Title: Scala:Applied Machine Learning
- Author(s):
- Release date: February 2017
- Publisher(s): Packt Publishing
- ISBN: 9781787126640
You might also like
book
Scala Machine Learning Projects
Powerful smart applications using deep learning algorithms to dominate numerical computing, deep learning, and functional programming. …
audiobook
Transformed
Help transform your business and innovate like the world's top tech companies! Transformed: Moving to the …
audiobook
What's New in AI: Open Source Large Language Models with Eric Xing (Audio)
Join host George Anadiotis and guest Eric Xing, for a discussion about the current and expanding …
book
Python Deep Learning Projects
Insightful practical projects to master deep learning and neural network architectures using Python, Keras and MXNet …