Exploratory Data Analysis
What is Exploratory Data Analysis?
Exploratory Data Analysis (EDA) is an approach used by data scientists to analyze datasets and summarize their main characteristics, with the help of data visualization methods. It helps data scientists to discover patterns, and economic trends, test a hypothesis or check assumptions.
Why is Exploratory Data Analysis (EDA) Important in Data Science?
The main purpose of EDA is to help look at data before making any assumptions. It can help identify the trends, patterns, and relationships within the data. Data scientists can use exploratory analysis to ensure the results they produce are valid and applicable to any desired business outcomes and goals. Once EDA is complete and insights are drawn, its features can then be used for data analysis or modeling, including machine learning.
Exploratory Data Analysis
Types of Analysis
- Univariate Analysis
‘Uni’ means ‘One’, as the name suggests, Univariate analysis is the analysis which is performed on a single variable. The variables can be both categorical variables or numerical variables.
- Bivariate Analysis
Bivariate Analysis is the analysis which is performed on 2 variables. The variables can be both categorical variables and numerical variables or 1 categorical variable and 1 numerical variable.
- Multivariate Analysis
Multivariate analysis is the analysis which is performed on multiple variables.
Refer this article to know: Support Vector Machine Algorithm (SVM) – Understanding Kernel Trick
What is Exploratory Data Analysis
How Exploratory data analysis is performed?
Let’s see an example of how Exploratory Data Analysis is performed on the iris dataset.
Importing the required libraries
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
Loading the dataset
df= sns.load_dataset(“iris”)
Output:
Read this article to know: Python Tuples and When to Use them Over Lists
Getting the shape of the dataset using shape
df.shape
Output:
This means that the dataset contains 150 rows and 5 columns.
Let’s get the summary of the dataset using describe() method
The describe() function performs the statistical computations on the dataset like count of the data points, mean, standard deviation, extreme values etc.
df.describe()
Output:
Now let’s get the columns and datatypes using info()
df.info()
Output:
- Line Plot
sns.lineplot(x=’sepal_length’,y=’sepal_width’,data=df,hue=’species’)
plt.show()
Output:
sns.lineplot(x=’sepal_length’, y=’species’, data=df)
plt.show()
Output:
- Scatter Pot
sns.scatterplot(x=’sepal_length’,y=’sepal_width’,data=df,hue=’species’)
plt.show()
Output:
Also refer this article: A Complete Guide to Stochastic Gradient Descent (SGD)
Insights:
- Virginica species has the highest and setosa species has the lowest sepal width and sepal length.
- Setosa has a sepal width between 2.3 to 4.5 and a sepal length between 4.5 to 6.
- Versicolor has a sepal width between 2 to 3.5 and a sepal length between 5 to 7.
- Virginica has a sepal width between 2.5 to 4 and sepal length between 5.5 to 8
- Bar Plot
It shows the relationship between the categorical variables and the numerical variables.
sns.barplot(x=’species’,y=’petal_length’, data=df)
plt.show()
Output:
Insights:
- The petal length of virginica is 5 and above.
- The petal length of setosa is between 1 and 2.
- The petal length of versicolor is between 4 and 5.
- Count Plot
sns.countplot(x=’species’, data=df)
plt.show()
Output:
Insights:
The number of records for each species is 50.
- CatPlot
sns.catplot(x=’petal_length’,y=’species’,data=df)
plt.show()
Output:
Insights:
- Setosa has petal lengths between 1 and 2.
- Versicolor has a petal length between 3 and 5.
- Virginica has petal lengths between 5 and 7.
Violin Plot
sns.violinplot(x=’species’, y=’sepal_width’, data=df)
plt.show()
Output:
Insights:
50% of data points in setosa lie within 3.2 and 3.6.
50% of data points in versicolor lie within 2.5 to 3.
50% of data points in Virginia lie within 2.6 to 3.4
Points to be remembered before writing insights for a violin plot
- Strip Plot
sns.stripplot(x=’species’, y=’petal_width’, data=df)
plt.show()
Output:
Insights:
- Setosa has a petal width between 0.1 and 0.6.
- Versicolor has a petal width between 1 and 2.
- Virginica has a petal width between 1.5 and 2.5.
- Histogram
sns.histplot(x=’petal_width’, data=df)
plt.show()
Output:
Insights:
The petal width between 0.1 and 0.4 has the maximum data points – 40.
The petal width between 0.4 and 0.5 has a minimum data point – 10.
- Distplot
sns.distplot(df[‘petal_width’],hist=True,color=”r”)
plt.show()
Output:
Insights:
From the above plot, we can say that the data points are not normally distributed.
- Heat Map
tc = df.corr()
sns.heatmap(tc,annot=True)
plt.show()
Output:
A heat map is used to find the correlation between 2 input variables. The threshold value for correlation is 0.9.
Insights:
From the above plot, no variables are correlated.
- Pair Plot
sns.pairplot(data=df,hue=’species’)
plt.show()
Output:
Handling Outlier
An outlier is an extremely high or extremely low data point that is noticeably different from the rest. Outlier is found with the help of a box plot.
Box Plot
A Box plot is used to find the outliers present in the data.
sns.boxplot(x=’sepal_width’,data=df)
plt.show()
Output:
sns.boxplot(x=’species’, y=’sepal_width’, data=df)
plt.show()
Output:
Simple Exploratory Data Analysis with Pandas
Advantages and Disadvantages of Exploratory Data Analysis:
Advantages:
- By Extracting averages, mean, minimum and maximum values it improves the understanding of the variables.
- Discover the outliers, missing values and errors made by the data.
- Identifying the patterns by visualizing data using box plots, scatter plots and histograms.
Disadvantages:
Exploratory research comes with disadvantages that include offering inconclusive results, lack of standardized analysis, small sample population and outdated information that can adversely affect the authenticity of the information.
Being a prominent data science institute, DataMites provides specialized training in topics including ,artificial intelligence, deep learning, Python course, the internet of things. Our machine learning course at DataMites have been authorized by the International Association for Business Analytics Certification (IABAC), a body with a strong reputation and high appreciation in the analytics field.
Data Visualization using AutoViz