We know, we know - data preprocessing is everywhere. But what does it all mean? Well, data preprocessing is the process of converting raw data into a useful format that can be applied. Regardless of the form of data i.e. images, text, JSON, or Xls, raw data is often incomplete, inconsistent, and hardly uniform. As a result, it needs to be cleaned, standardised, and normalised before it can be used either in analysis or training algorithms. So...how exactly do you do that? Well we've put together our top four data preprocessing techniques and how this can help you below.
Garbage in .... garbage out
The quality of machine learning models is more often dependent on the quality of data used to train them. You may have come across a term common in machine learning “garbage in garbage out”, this is a term used to emphasise the importance of clean data in guaranteeing more accurate and efficient machine learning models.
In this era of total tech advancement, the importance of data-driven decision-making is undisputable. The role of clean and reliable data in ensuring the efficacy of those decisions cannot be overlooked either as this is considered the most important step of any machine learning project.
Pandas is an open-source Python package built on NumPy, it provides developers with tools to perform data analysis and other machine learning-related tasks. Pandas is a key package when it comes to performing data preprocessing alongside other software libraries such as NumPy and Scikit and it's one that we will be using in our tips today! Let's take a look:
1. Cleaning Data
Raw data is often filled with inaccurate, incomplete, and sometimes corrupt records that cannot be interpreted by machines. Such kind of data is referred to as noisy data. Therefore the process of detecting and removing these inconsistencies is what we term as data cleaning. This process more often than not involves different methods that are performed interactively to achieve the end goal of having clean and usable data.
Some of the most commonly used processes in cleaning data are discussed below. However, the implementation of the methods discussed below may vary depending on whether the data is qualitative or quantitative.
- Handling missing values – Most datasets intrinsically contain missing values. This may be the case if the data wasn't collected or if a respondent chose not to share the data. In most systems, missing values are denoted using the standard IEEE floating-point representation of NAN. However, missing values can also be denoted using the keyword None.
Various methods are conventionally used to handle missing values; these include: replacing or removing the missing values. The process of replacing missing values using new values is commonly referred to as imputation. Pandas offer a series of functions that can be used to detect, remove or replace missing values.
- isnull () and notnull() – Checking for any occurrence of missing values in your data.
- fillna(), replace() and interpolate() - Replacing missing values
- dropna() - Dropping columns/rows with missing values.
The detailed implementation of these methods can be found here. So what do we recommend. First, let's handle noisy data. This is corrupt, distorted, and meaningless data that may interfere with the accuracy of our model or analysis. Here are some methods that we can use:
- Clustering – By grouping similar data into groups known as clusters we can easily identify data that does not fit into any group. We can treat this data as noisy data and ignore it.
- Discretisation – Using this technique data is categorised into equal-sized bins, this allows us to deal with each bin as an independent entity. This method allows us to improve the accuracy of our predictive methods, smoothen noisy data and also easily identify outliers.
- Regression – We can use linear regression or multiple regression to plot a function that can easily let us know data that may have no or little meaning in our data set.
2. Data Reduction
This is the process of optimising data by reducing the amount of data while still maintaining the quality of analysis or prediction. This method aims to get rid of redundant data hence freeing up some storage and also making it easier to work with the data (kind of like deleting all your documents on your laptop or phone when your memory is full).
One of the common ways of implementing data reduction is through Dimensionality reduction. This technique involves doing away with some of the features of a dataset. Besides freeing up storage this method also allows us to significantly reduce the computational resources required to train and test a model using data with many features.
Dimensionality reduction is also key when working with algorithms that do not perform well with a very large number of features or when trying to visualise your dataset. One of the most common techniques used in dimensionality reduction is Principal Component Analysis(PCA), others include feature selection, feature extraction, wavelet transforms, and Linear discriminant analysis.
Numerosity reduction is also a common data reduction data where the data volume is reduced by using smaller forms of representation. This can be achieved using parametric or non-parametric methods. When parametric methods are used as in the case of regression or log-linear modeling, data is fitted into a certain model, estimates of the parameters are made and used to represent the actual data. On the other hand, non-parametric methods may use representations such as histograms, sampling, and clustering.
Data compression may also be another approach to reduce data.
3. Data Transformation
Perhaps the quickest technique of them all! This is the process of changing the structure and format and values of data.
There are various reasons why transformation is an important aspect of managing data in enterprises. Firstly, dta transformation allows us to make data better organised thus improving quality overall. Next, we may also transform data to make it compatible with the algorithm or any other tools that we may be using.
We can use different strategies to normalise our data some of which we have discussed earlier on such as discretisation and smoothing. Others include data aggregation which simply involves presenting data in a summarised form.
4. Data Integration
Preprocessing data may also require us to combine data from disparate sources, this is what we call data integration. Data integration allows us to generate even more valuable data that can be relied on to generate business intelligence. In addition, integration may also save us some time by allowing us to consolidate a single massive data lake instead of working with pieces of data sets. Finally, Integration of data may also allow us to leverage big data techniques to generate even more value.
Data integration can be achieved through techniques such as virtualisation, data replication, and also by integrating data from different streams. However, it's also fair to acknowledge that data integration is a fairly complex process that even the most established organisations struggle with. Some of the common problems that you might run into when performing such a process include conflicting data entries, redundancy, and also storage problems if the data is huge.
Data integration is often also performed alongside other processes such as data wrangling and data transformation.
In conclusion, data preprocessing is undoubtedly the most important and most difficult phase of working with data for analysis or machine learning. Therefore to guarantee quality and accuracy, raw data must pass through these stages before being subjected to training and testing.