Data Preparation for Machine Learning: The Ultimate Resource Guide

Article by Lucas Scott | July 09, 2020

In machine learning, data preparation is the process of readying data for the training, testing, and implementation of an algorithm. It’s a multi-step process that involves data collection, cleaning & preprocessing, feature engineering, and labeling. These steps play an important role in the overall quality of your machine learning model, as they build on each other to ensure a model performs to expectations.

We’ve collected internal and external resources for data preparation, with summaries and links to learn more. This article will help ready you for tackling data preparation in your own machine learning projects.

Data Collection

At the heart of all AI projects is data. The nature of this data depends on the project, but it will usually be text, image, video, or audio. Data collection then, is the process of finding or creating suitable data to use for training a machine learning model.

The following articles provide a comprehensive groundwork for learning about data collection methods, datasets, and data improvement.

How to get Annotated Data for Machine Learning: A simple and straightforward look at the methods of data collection available for machine learning projects, from web scraping and synthetic dataset creation to managing internal data and considerations for outsourcing.

How to Find Datasets for Machine Learning: This article focuses on the differences between open-source and custom datasets. It looks at how and where to source them, and when each is most applicable.

A Survey on Data Collection for Machine Learning: This research paper takes a closer look at why data collection is now a critical issue in machine learning. It looks at cases of insufficient data as well as models that require large amounts of data. You can also find information on data acquisition, labeling, and improvement, as well as a helpful set of guidelines.


Data Preprocessing

Data preprocessing is the act of cleaning and preparing your data for training. This includes organizing and formatting, standardizing, and dealing with missing data. In terms of its importance, many experienced data scientists agree: 80% of their job is data preprocessing.

Data preprocessing is a way to make sure your training data is accurate, complete, and relevant. Sending incomplete or raw data through a model can cause a variety of different errors, which will ultimately result in a much lower overall accuracy. Below, we’ve collected some resources that dive into data preprocessing techniques, including organization, standardization, and formatting.

Doing Data Science: A Kaggle Walkthrough, part 3 – Cleaning Data: Popular data science website KDNuggets have a tremendous six part series on the process of data science, and part 3 covers data cleaning. The article offers a practical guide to each data cleaning step through the lens of an existing dataset.

Data Preprocessing: Concepts: This article is a basic introduction to how preprocessing works. It looks at data quality assessment, feature sampling and aggregation, and dimensionality reduction. It also provides advice on splitting datasets for training, testing, and validation.

Data Science Primer: Data Cleaning: This chapter in the Elite Data Science Primer looks at the data vs. algorithms debate and why better data beats fancier algorithms. From there, it covers common preprocessing tasks including removing unwanted observations, fixing structural errors, and how to handle missing data.

The Ultimate Guide to Basic Data Cleaning: This free ebook covers the whole data cleaning process across 8 chapters. It walks you through the process, and also provides exercises to better understand the skills covered in each chapter.


Feature Engineering

While data preprocessing is a way of refining data, feature engineering is the process of creating features to enhance it. Feature engineering allows you to define the most important information in your dataset, and utilize domain expertise to get the most out of it. This might mean breaking data into multiple parts to clarify particular relationships. It might also mean defining features that better represent patterns for your machine learning model.

What is Feature Engineering for Machine Learning?: This is an easy-to-follow introduction to feature engineering with some simple examples to put it into perspective. The article also includes some resources for learning more about other facets of data preparation for machine learning projects.

A Brief Introduction to Feature Engineering: A simple and straightforward look at the feature engineering process with accompanying examples and explanations. It covers coordinate transformation, continuous data, missing values, and more.

Best Practices for Feature Engineering: This guide helps define feature engineering within the spectrum of data preparation tasks, training, and implementation. It covers best practices and heuristics for indicator variables, interaction features, feature representation, and error analysis after training a model.

Feature Engineering for Machine Learning: This article looks at how to develop features that are compatible with your algorithm, and how to improve the performance of a machine learning model. The article lists a host of techniques along with Python scripts for reference. It’s a good way to learn feature engineering techniques and try them out at the same time.


Data Labeling

Data labeling is a key part of data preparation for machine learning because it specifies which parts of the data the model will learn from. Though improvements in unsupervised learning have resulted in deep learning projects that do not require labeled data, many machine learning systems still rely on labeled data to learn and perform their given tasks.

The following articles provide a general overview of data labeling. You’ll find information on general annotation types, and guides to data labeling approaches and tools.

Data labeling in 2020: Guide for executives and labelers: This guide covers not only data labeling, but also viable alternatives such as unsupervised learning. It also covers what to look for in data labeling software, and how to run a data labeling program.

5 Approaches to Data Labeling for Machine Learning Projects: This article focuses on the five most common approaches to data labeling: in-house, outsourcing, crowdsourcing, synthetic, and programmed. You’ll find a list of pros and cons for each approach, and a reference table to easily compare them all.

An Introduction to 5 Types of Text Annotation: This article looks at the process of preparing data for natural language processing tasks through the use of text annotation. It covers the most common types of annotation for text data with visual examples of annotated data.

What is Image Annotation?: This guide explains image annotation through examples of how it is used for computer vision and other machine learning tasks. It covers bounding boxes, image classification, lines and splines, polygons, and semantic segmentation.

What is Audio Classification?: To understand how virtual assistants, automatic speech recognition, and text to speech applications work, you have to start with the classification of audio data. This article lists four types of audio classification and explains their use in machine learning.


Data Quality

In machine learning, the data preparation process leads into the training of your model, so it’s important to be thorough. To help put yourself in a strong position for smoother data preparation and model training, make sure you take the time to ensure you have quality training data from the start. Be sure to check out our dedicated guide to training data if you’d like to learn more.

If you’re looking for a partner to help you annotate data, get in touch. Lionbridge provides data for machine learning to tech companies across the world, in a variety of different fields. With access to a community of over 1 million contributors, we have the experience and expertise to help you define, create, and label the data you need.

Interested? Get high-quality data now
The Author
Lucas Scott

Lucas is a seasoned writer, with a specialization in pop culture and tech. He spends most of his free time coaching high-school basketball, watching Netflix, and working on the next great American novel.


    Sign up to our newsletter for fresh developments from the world of training data. Lionbridge brings you interviews with industry experts, dataset collections and more.