2 options
Building data driven applications with Danfo.js : a practical guide to data science and machine learning in JavaScript / Rising Odegua, Stephen Ayodele Oni.
- Format:
- Book
- Author/Creator:
- Odegua, Rising, author.
- Oni, Stephen, author.
- Language:
- English
- Subjects (All):
- Application software--Development.
- Application software.
- Physical Description:
- 1 online resource (477 pages)
- Place of Publication:
- Birmingham, England : Danfopress, [2021]
- Biography/History:
- Odegua Rising: Rising Odegua is the co-creator of Danfo. js and Dnotebook. He is a software and machine learning engineer with experience building data-driven applications in languages such as Python and JavaScript. Rising is actively engaged in building the developer ecosystem by giving talks, providing direct/indirect mentorship, working on open source projects, hosting meetups, and writing tutorials. Oni Stephen: Stephen Oni is the co-creator of Danfo. js and Dnotebook. He is a software developer at Datopian, building data-driven platforms and tools. He is also an open source developer building tools that intersect the web and machine learning.
- Summary:
- Get hands-on with building data-driven applications using Danfo.js in combination with other data analysis tools and techniquesKey FeaturesBuild microservices to perform data transformation and ML model serving in JavaScriptExplore what Danfo.js is and how it helps with data analysis and data visualizationCombine Danfo.js and TensorFlow.js for machine learningBook DescriptionMost 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.What you will learnPerform data experimentation and analysis with Danfo.js and DnotebookBuild machine learning applications using Danfo.js integrated with TensorFlow.jsConnect Danfo.js with popular database applications to aid data analysisCreate a no-code data analysis and handling system using internal librariesDevelop a recommendation system with Danfo.js and TensorFlow.jsBuild a Twitter analytics dashboard for sentiment analysis and other types of data insightsWho this book is forThis book is for data analysts, data scientists, and JavaScript developers who want to create data-driven applications in the JavaScript/Node.js environment. Intermediate-level knowledge of JavaScript programming and data science using pandas is expected.
- Contents:
- Cover
- Title Page
- Copyright and Credits
- Preface
- Section 1: The Basics
- Chapter 1: An Overview of Modern JavaScript
- Technical requirements
- Understanding the difference between let and var
- var allows the redeclaration of variables
- var is not a blocked scope
- Destructuring
- Spread syntax
- Spreading or unpacking an iterable into an array
- Creating new objects from existing ones
- Function arguments
- Overview of scopes and closures
- Scope
- Closure
- Understanding Array and Object methods
- Array methods
- Objects
- Understanding the this property
- Arrow functions
- Promises and async/await
- Cleaning callbacks with promises
- async/await
- Object-oriented programming and JavaScript classes
- Classes
- Inheritance
- Setting up a modern JavaScript environment with transpilers
- Babel
- Webpack
- Unit testing with Mocha and Chai
- Setting up a test environment
- Summary
- Section 2: Data Analysis and Manipulation with Danfo.js and Dnotebook
- Chapter 2: Dnotebook - An Interactive Computing Environment for JavaScript
- Introduction to Dnotebook
- Setup and installation of Dnotebook
- Basic concepts behind interactive computing in Dnotebook
- Cells
- Code cells
- Markdown cells
- Persistence/state
- Writing interactive code
- Loading external packages
- Loading CSV files
- Getting a div container for plots
- Gotchas when using a for loop
- Working with Markdown cells
- Creating a Markdown cell
- Adding images
- Headings
- Lists
- Saving notebooks
- Chapter 3: Getting Started with Danfo.js
- Why you need Danfo.js
- Installing Danfo.js
- Introducing Series and DataFrames
- Series
- DataFrames
- Essential functions and methods in Danfo.js
- loc and iloc indexing
- Sorting
- Filtering.
- Arithmetic operations
- Logical operations
- Data loading and working with different file formats
- Transforming a DataFrame into another file format
- Chapter 4: Data Analysis, Wrangling, and Transformation
- Transforming data
- Replacing missing values
- Removing duplicates
- Data transformation with the map function
- Data transformation with the apply function
- Filtering and querying
- Random sampling
- Encoding DataFrames and Series
- Combining datasets
- DataFrame merge
- Data concatenation
- Series data accessors
- Calculating statistics
- Calculating statistics by axis
- Chapter 5: Data Visualization with Plotly.js
- A brief primer on Plotly.js
- Using Plotly.js via a script tag
- Fundamentals of Plotly.js
- Data format
- Configuration options for plots
- Plotly layout
- Creating basic charts with Plotly.js
- Creating statistical charts with Plotly.js
- Creating histogram plots with Plotly.js
- Creating box plots with Plotly.js
- Creating violin plots with Plotly.js
- Chapter 6: Data Visualization with Danfo.js
- Setting up Danfo.js for plotting
- Adding Danfo.js to your code
- Downloading a dataset for plotting
- Creating line charts with Danfo.js
- Creating scatter plots with Danfo.js
- Creating box and violin plots with Danfo.js
- Making box and violin plots for a Series
- Box and violin plots for multiple columns
- Box and violin plots with specific x and y values
- Creating histograms with Danfo.js
- Creating a histogram from a Series
- Creating a histogram from multiple columns
- Creating bar charts with Danfo.js
- Creating a bar chart from a Series
- Creating a bar chart from multiple columns
- Chapter 7: Data Aggregation and Group Operations
- Technical requirements.
- Grouping data
- Single-column grouping
- Double-column grouping
- Iterating through grouped data
- Iterating through single- and double-column grouped data
- Using the .apply method
- Data aggregation of grouped data
- Data aggregation on single-column grouping
- Data aggregation on double-column grouping
- A simple application of groupby on real data
- Section 3: Building Data-Driven Applications
- Chapter 8: Creating a No-Code Data Analysis/Handling System
- Setting up the project environment
- Structuring and designing the app
- App layout and the DataTable component
- Implementing DataTable components
- File upload and state management
- Creating different DataFrame operation components
- Implementing the Describe component
- Implementing the Query component
- Implementing the Df2df component
- Implementing the Arithmetic component
- Implementing the chart component
- Implementing the ChartPlane component
- Implementing the ChartViz component
- Integrating ChartViz and ChartPlane into App.js
- Chapter 9: Basics of Machine Learning
- Introduction to machine learning
- A simple analogy of a machine learning system
- Why machine learning works
- Objective functions
- Evaluation metrics
- Machine learning problems/tasks
- Supervised learning
- Unsupervised learning
- Machine learning in JavaScript
- Applications of machine learning
- Resources to understand machine learning in depth
- Chapter 10: Introduction to TensorFlow.js
- What is TensorFlow.js?
- Installing and using TensorFlow.js
- Setting up TensorFlow.js in the browser
- Installing TensorFlow.js in Node.js
- Tensors and basic operations on tensors
- Creating tensors
- Operating on tensors.
- Building a simple regression model with TensorFlow.js
- Setting up your environment locally
- Retrieving and processing the training dataset
- Creating models with TensorFlow.js
- Creating a simple three-layer regression model
- Training the model with the processed dataset
- Making predictions with the trained model
- Chapter 11: Building a Recommendation System with Danfo.js and TensorFlow.js
- What is a recommendation system?
- Collaborative filtering approach
- Hybrid filtering approach
- The neural network approach to creating a recommendation system
- Building a movie recommendation system
- Setting up your project directory
- Building the recommendation model
- Training and saving the recommendation model
- Making movie recommendations with the saved model
- Chapter 12: Building a Twitter Analysis Dashboard
- Building the backend
- Building the Twitter API
- Building the text sentiment API
- Building the frontend
- Creating the Search component
- Creating the ValueCounts component
- Creating a plot component for sentiment analysis
- Creating a Table component
- Chapter 13: Appendix: Essential JavaScript Concepts
- Quick overview of JavaScript
- Understanding the fundamentals of JavaScript
- Declaring variables
- Data types
- Conditional branching and loops
- JavaScript functions
- Other Books You May Enjoy
- Index.
- Notes:
- Includes index.
- Description based on print version record.
- ISBN:
- 9781801078412
- 1801078416
- OCLC:
- 1276856226
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.