Book Image

Hands-on Machine Learning with JavaScript

Book Image

Hands-on Machine Learning with JavaScript

Overview of this book

In over 20 years of existence, JavaScript has been pushing beyond the boundaries of web evolution with proven existence on servers, embedded devices, Smart TVs, IoT, Smart Cars, and more. Today, with the added advantage of machine learning research and support for JS libraries, JavaScript makes your browsers smarter than ever with the ability to learn patterns and reproduce them to become a part of innovative products and applications. Hands-on Machine Learning with JavaScript presents various avenues of machine learning in a practical and objective way, and helps implement them using the JavaScript language. Predicting behaviors, analyzing feelings, grouping data, and building neural models are some of the skills you will build from this book. You will learn how to train your machine learning models and work with different kinds of data. During this journey, you will come across use cases such as face detection, spam filtering, recommendation systems, character recognition, and more. Moreover, you will learn how to work with deep neural networks and guide your applications to gain insights from data. By the end of this book, you'll have gained hands-on knowledge on evaluating and implementing the right model, along with choosing from different JS libraries, such as NaturalNode, brain, harthur, classifier, and many more to design smarter applications.
Table of Contents (14 chapters)

What this book covers

Chapter 1, Exploring the Potential of JavaScript, takes a look at the JavaScript programming language, its history, ecosystem, and applicability to ML problems.

Chapter 2, Data Exploration, discusses the data that underlies and powers every ML algorithm, and the various things you can do to preprocess and prepare your data for an ML application.

Chapter 3, A Tour of Machine Learning Algorithms, takes you on a brief tour of the ML landscape, partitioning it into categories and families of algorithms, much as the gridlines on a map help you navigate unfamiliar terrain.

Chapter 4, Grouping with Clustering Algorithms, implements our first ML algorithms, with a focus on clustering algorithms that automatically discover and identify patterns within data in order to group similar items together.

Chapter 5, Classification Algorithms, discusses a broad family of ML algorithms that are used to automatically classify data points with one or more labels, such as spam/not spam, positive or negative sentiment, or any number of arbitrary categories.

Chapter 6, Association Rule Algorithms, looks at several algorithms used to make associations between data points based on frequency of co-occurrence, such as products that are often bought together on e-commerce stores.

Chapter 7, Forecasting with Regression Algorithms, looks at time series data, such as server load or stock prices, and discusses various algorithms that can be used to analyze patterns and make predictions for the future.

Chapter 8, Artificial Neural Network Algorithms, teaches you the foundations of neural networks, including their core concepts, architecture, training algorithms, and implementations.

Chapter 9, Deep Neural Networks, digs deeper into neural networks and explores various exotic topologies that can solve problems such as image recognition, computer vision, speech recognition, and language modeling.

Chapter 10, Natural Language Processing in Practice, discusses the overlap of natural language processing with ML. You learn several common techniques and tactics that you can use when applying machine learning to natural language tasks.

Chapter 11, Using Machine Learning in Real-Time Applications, discusses various practical approaches to deploying ML applications on production environments, with a particular focus on the data pipeline process.

Chapter 12, Choosing the Best Algorithm for Your Application, goes back to the basics and discusses the things you must consider in the first stages of a ML project, with a particular focus on choosing the best algorithm or set of algorithms for a given application.