Book Image

Building Data-Driven Applications with Danfo.js

By : Rising Odegua, Stephen Oni
Book Image

Building Data-Driven Applications with Danfo.js

By: Rising Odegua, Stephen Oni

Overview of this book

Most data analysts use Python and pandas for data processing for the convenience and performance these libraries provide. However, JavaScript developers have always wanted to use machine learning in the browser as well. This book focuses on how Danfo.js brings data processing, analysis, and ML tools to JavaScript developers and how to make the most of this library to build data-driven applications. Starting with an overview of modern JavaScript, you’ll cover data analysis and transformation with Danfo.js and Dnotebook. The book then shows you how to load different datasets, combine and analyze them by performing operations such as handling missing values and string manipulations. You’ll also get to grips with data plotting, visualization, aggregation, and group operations by combining Danfo.js with Plotly. As you advance, you’ll create a no-code data analysis and handling system and create-react-app, react-table, react-chart, Draggable.js, and tailwindcss, and understand how to use TensorFlow.js and Danfo.js to build a recommendation system. Finally, you’ll build a Twitter analytics dashboard powered by Danfo.js, Next.js, node-nlp, and Twit.js. By the end of this app development book, you’ll be able to build and embed data analytics, visualization, and ML capabilities into any JavaScript app in server-side Node.js or the browser.
Table of Contents (18 chapters)
1
Section 1: The Basics
3
Section 2: Data Analysis and Manipulation with Danfo.js and Dnotebook
10
Section 3: Building Data-Driven Applications

Building a movie recommendation system

To build a movie recommendation system, we need some kind of user-movie interaction dataset. Fortunately, we can use the MovieLens 100k dataset (https://grouplens.org/datasets/movielens/100k/) provided by Grouplens (https://grouplens.org/). This data contains 100,000 movie ratings given by 1,000 users on 1,700 movies.

The following screenshot shows the first few rows of the dataset:

Figure 11.7 – The first few rows of the MovieLens dataset

From the preceding screenshot, you can see that we have user_id, item_id (movies), and the rating the user gave to the item (movie). With just this interaction and the use of embeddings, we can efficiently model the behavior of users and, as such, learn what kind of movies they like.

To understand how we'll build and learn this interaction with embeddings and a neural network, please refer to the following architecture diagram:

Figure 11.8 –...