plot_correlation()
The function plot_correlation() explores the correlation between columns in various ways and using multiple correlation metrics. The following describes the functionality of plot_correlation() for a given dataframe df.
df
plot_correlation(df): plots correlation matrices (correlations between all pairs of columns)
plot_correlation(df)
plot_correlation(df, col1): plots the most correlated columns to column col1
plot_correlation(df, col1)
col1
plot_correlation(df, col1, col2): plots the joint distribution of column col1 and column col2 and computes a regression line
plot_correlation(df, col1, col2)
col2
The following table summarizes the output plots for different settings of col1 and col2.
Output
None
n*n correlation matrix, computed with Person, Spearman, and KendallTau correlation coefficients
Numerical
n*1 correlation matrix, computed with Pearson, Spearman, and KendallTau correlation coefficients
Categorical
TODO
scatter plot with a regression line
Next, we demonstrate the functionality of plot_correlation().
dataprep.eda supports Pandas and Dask dataframes. Here, we will load the well-known wine quality dataset into a Pandas dataframe.
dataprep.eda
[1]:
from dataprep.datasets import load_dataset df = load_dataset("wine-quality-red")
We start by calling plot_correlation(df) to compute the statistics and correlation matrices using Pearson, Spearman, and KendallTau correlation coefficients. For the Stats tab, we list four statistics for these three correlation coefficients respectively. Other three tabs are the lower triangular matrices. In each matrix, a cell represents the correlation value between two columns. There is an “insight” tab (!) in the upper right-hand corner of each matrix, which shows some insight information. The following shows an example:
[2]:
from dataprep.eda import plot_correlation plot_correlation(df)
After computing the correlation matrices, we can discover how other columns correlate to a specific column x using plot_correlation(df, x). This function computes the correlation between column x and all other columns (using Pearson, Spearman, and KendallTau correlation coefficients), and sorts them in decreasing order. This enables easy determination of the columns that are most positively and negatively correlated with column x. The following shows an example:
x
plot_correlation(df, x)
[3]:
plot_correlation(df, "alcohol")
Furthermore, plot_correlation(df, col1, col2) provides detailed analysis of the correlation between two columns col1 and col2. It plots the joint distribution of the columns col1 and col2 as a scatter plot, as well as a regression line. The following shows an example:
[4]:
plot_correlation(df, "alcohol", "pH")