1
0
mirror of https://github.com/gsi-upm/sitc synced 2024-11-25 07:52:27 +00:00
sitc/ml1/2_3_1_Advanced_Visualisation.ipynb

858 lines
1.1 MiB
Plaintext
Raw Normal View History

2016-03-15 12:55:14 +00:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](files/images/EscUpmPolit_p.gif \"UPM\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Course Notes for Learning Intelligent Systems"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2019-02-28 10:32:00 +00:00
"Department of Telematic Engineering Systems, Universidad Politécnica de Madrid, © Carlos A. Iglesias"
2016-03-15 12:55:14 +00:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## [Introduction to Machine Learning](2_0_0_Intro_ML.ipynb)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Table of Contents\n",
"\n",
"* [Advanced Visualisation](#Advanced-Visualisation)\n",
"* [Install seaborn](#Install-seaborn)\n",
"* [Transform Data into Dataframe](#Transform-Data-into-Dataframe)\n",
"* [Visualisation with seaborn](#Visualisation-with-seaborn)\n",
"* [References](#References)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Advanced Visualisation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the previous notebook we developed plots with the [matplotlib](http://matplotlib.org/) plotting library.\n",
"\n",
2016-03-28 10:26:20 +00:00
"This notebook introduces another plotting library, [**seaborn**](https://stanford.edu/~mwaskom/software/seaborn/), which provides advanced facilities for data visualization.\n",
2016-03-15 12:55:14 +00:00
"\n",
"*Seaborn* is a library for making attractive and informative statistical graphics in Python. It is built on top of *matplotlib* and tightly integrated with the *PyData* stack, including support for *numpy* and *pandas* data structures and statistical routines from *scipy* and *statsmodels*.\n",
"\n",
2016-03-28 10:26:20 +00:00
"*Seaborn* requires its input to be *DataFrames* (a structure created with the library *pandas*)."
2016-03-15 12:55:14 +00:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Install seaborn"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You should install the SeaBorn package. Use `conda install seaborn`."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Transform Data into Dataframe"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*Seaborn* requires that data is represented as a *DataFrame* object from the library *pandas*. \n",
"\n",
"A *DataFrame* is a 2-dimensional labeled data structure with columns of potentially different types. We will not go into the details of DataFrames in this session."
]
},
{
"cell_type": "code",
2019-03-06 16:44:30 +00:00
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>sepal length (cm)</th>\n",
" <th>sepal width (cm)</th>\n",
" <th>petal length (cm)</th>\n",
" <th>petal width (cm)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5.1</td>\n",
" <td>3.5</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>4.9</td>\n",
" <td>3.0</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>4.7</td>\n",
" <td>3.2</td>\n",
" <td>1.3</td>\n",
" <td>0.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4.6</td>\n",
" <td>3.1</td>\n",
" <td>1.5</td>\n",
" <td>0.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5.0</td>\n",
" <td>3.6</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)\n",
"0 5.1 3.5 1.4 0.2\n",
"1 4.9 3.0 1.4 0.2\n",
"2 4.7 3.2 1.3 0.2\n",
"3 4.6 3.1 1.5 0.2\n",
"4 5.0 3.6 1.4 0.2"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
2016-03-15 12:55:14 +00:00
"source": [
"from pandas import DataFrame\n",
2019-02-28 11:26:33 +00:00
"from sklearn import datasets\n",
"\n",
2016-03-15 12:55:14 +00:00
"\n",
"# iris data set from scikit learn (it is a Bunch object)\n",
"iris = datasets.load_iris()\n",
"\n",
"# transform into dataframe\n",
"iris_df = DataFrame(iris.data)\n",
"iris_df.columns = iris.feature_names\n",
"\n",
"iris_df.head()"
]
},
{
"cell_type": "code",
2019-03-06 16:44:30 +00:00
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>sepal length (cm)</th>\n",
" <th>sepal width (cm)</th>\n",
" <th>petal length (cm)</th>\n",
" <th>petal width (cm)</th>\n",
" <th>species</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5.1</td>\n",
" <td>3.5</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>4.9</td>\n",
" <td>3.0</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>4.7</td>\n",
" <td>3.2</td>\n",
" <td>1.3</td>\n",
" <td>0.2</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4.6</td>\n",
" <td>3.1</td>\n",
" <td>1.5</td>\n",
" <td>0.2</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5.0</td>\n",
" <td>3.6</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) \\\n",
"0 5.1 3.5 1.4 0.2 \n",
"1 4.9 3.0 1.4 0.2 \n",
"2 4.7 3.2 1.3 0.2 \n",
"3 4.6 3.1 1.5 0.2 \n",
"4 5.0 3.6 1.4 0.2 \n",
"\n",
" species \n",
"0 0 \n",
"1 0 \n",
"2 0 \n",
"3 0 \n",
"4 0 "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
2016-03-15 12:55:14 +00:00
"source": [
"iris_df['species'] = iris.target\n",
"iris_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Visualisation with seaborn"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following examples are taken from [a kaggle tutorial](https://www.kaggle.com/benhamner/d/uciml/iris/python-data-visualizations/notebook) and [the seaborn tutorial](https://stanford.edu/~mwaskom/software/seaborn/tutorial/axis_grids.html).\n",
"\n",
2016-03-28 10:26:20 +00:00
"To plot multiple pairwise bivariate distributions in a dataset, you can use the *pairplot()* function and *PairGrid()*."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Scatterplot"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2016-03-15 12:55:14 +00:00
"A **scatterplot matrix** (*matriz de diagramas de dispersión*) presents every pairwise relationship between a set of variables."
]
},
{
"cell_type": "code",
2019-03-06 16:44:30 +00:00
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<seaborn.axisgrid.PairGrid at 0x7f0d3508add8>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 900x900 with 30 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
2016-03-15 12:55:14 +00:00
"source": [
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"sns.set(color_codes=True)\n",
"\n",
"# if matplotlib is not set inline, you will not see plots\n",
"%matplotlib inline \n",
"\n",
"sns.pairplot(iris_df)\n"
]
},
2016-03-28 10:26:20 +00:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## PairGrid"
]
},
2016-03-15 12:55:14 +00:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**PairGrid** allows you to quickly draw a grid of small subplots using the same plot type to visualize data in each. In a PairGrid, each row and column is assigned to a different variable, so the resulting plot shows each pairwise relationship in the dataset. This style of plot is sometimes called a “scatterplot matrix”, as this is the most common way to show each relationship"
]
},
{
"cell_type": "code",
2019-03-06 16:44:30 +00:00
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 900x900 with 25 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
2016-03-15 12:55:14 +00:00
"source": [
"# PairGrid\n",
"g = sns.PairGrid(iris_df)\n",
"g.map(plt.scatter);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2016-03-28 10:26:20 +00:00
"A very common way to use this plot colors the observations by a separate categorical variable. For example, the iris dataset has four measurements for each of the three different species of iris flowers.\n",
2016-03-15 12:55:14 +00:00
"\n",
2016-03-28 10:26:20 +00:00
"We are going to color each class, so that we can easily identify **clustering** and **linear relationships**."
2016-03-15 12:55:14 +00:00
]
},
{
"cell_type": "code",
2019-03-06 16:44:30 +00:00
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<seaborn.axisgrid.PairGrid at 0x7f0d31c2f240>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 945.725x900 with 30 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
2016-03-15 12:55:14 +00:00
"source": [
"g = sns.PairGrid(iris_df, hue=\"species\")\n",
"g.map_diag(plt.hist)\n",
"g.map_offdiag(plt.scatter)\n",
"#names = {i: name for i,name in enumerate(iris.target_names)}\n",
"#g.add_legend(legend_data=names)\n",
"g.add_legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"By default every numeric column in the dataset is used, but you can focus on particular relationships if you want."
]
},
{
"cell_type": "code",
2019-03-06 16:44:30 +00:00
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 360x360 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
2016-03-15 12:55:14 +00:00
"source": [
"g = sns.PairGrid(iris_df, vars=['sepal length (cm)', 'sepal width (cm)'], hue=\"species\")\n",
"g.map(plt.scatter);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Its also possible to use a different function in the upper and lower triangles to emphasize different aspects of the relationship."
]
},
{
"cell_type": "code",
2019-03-06 16:44:30 +00:00
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/cif/anaconda3/lib/python3.7/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA3EAAAN8CAYAAAD26iOSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xl8VPW5P/DPzGTfSAiBEFYJcBKjLOKGaEGrInWrdPFqL2hpvb3Xavu7t9dWq73dbIvS2lbvpbe1pSqterV1qQviAkbFiIggGMhXCTshEAIhJGSf+f0xnMnM5Kwzc+acM/N5v16+JGdmznxn5pkz853zPM/XEwgEQERERERERO7gtXsAREREREREZBwncURERERERC7CSRwREREREZGLcBJHRERERETkIpzEERERERERuQgncURERERERC7CSRwREREREZGLcBJHRERERETkIpzEERERERERuQgncURERERERC7ixElcBoCJp/5P5HSMV3ILxiq5CeOV3IKxSrZwYsCNBbCrtbUDfn8g4TsvKcnDsWMnE77fZHDz2IHkjr+srNCTlDuyOF4B57/uTh8f4PwxJileLYlVpz+3yZJOz4Ob49WodHo9laTK40+HWNWTKq9lojj5+TAbr048E2epjAyf3UOImZvHDrh//HZx+vPm9PEB7hijW/G5DeLzkFrS/fVM98efSvhaRkql5yPtJnFERERERERuZmk6pSRJ/wzgrlN/rhJC/KeV90dERERERJTqLDsTJ0lSHoAHAcwFMB3ARZIkXWrV/REREREREaUDK9Mpfaf2nw8g89R/XRbeHxERERERUcqzbBInhDgB4AcAGgDsB7AbwLtW3R8REREREVE68AQC1rRDlSRpGoBHAcwHcBzAXwC8L4RYpnPTiQB2WTIoSifJWmJgIhivtnlz4z48tmo7jhzrwoiSXCxeUI15s8bZPaxYJCNeJ4Kx6lgui2XGa4pyWRwawVglAK6JbVPxamVjk/kA3hBCHAYASZIeAXArAL1JHADAqvU2ysoK0dJyIuH7TQY3jx1I7vjLygqTcj8yK9eHcfrrbtf46uqb8eiqBvT2+wEALce68NBTm9F+ohuza8odMUajkhmviY5Vpz+3yRLP82Amlp3AzfFqVDrGtdvi0Ih0iFU96RjL0dwS22bj1cqauI8A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
"text/plain": [
"<Figure size 900x900 with 30 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
2016-03-15 12:55:14 +00:00
"source": [
"g = sns.PairGrid(iris_df)\n",
"g.map_upper(plt.scatter)\n",
"g.map_lower(sns.kdeplot, cmap=\"Blues_d\")\n",
"g.map_diag(sns.kdeplot, lw=3, legend=True);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2016-03-28 10:26:20 +00:00
"## Pairplot"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"PairGrid is flexible, but to take a quick look at a dataset, it may be easier to use pairplot(). This function uses scatterplots and histograms by default, although a few other kinds will be added (currently, you can also plot regression plots on the off-diagonals and KDEs on the diagonal)."
2016-03-15 12:55:14 +00:00
]
},
{
"cell_type": "code",
2019-03-06 16:44:30 +00:00
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/cif/anaconda3/lib/python3.7/site-packages/statsmodels/nonparametric/kde.py:488: RuntimeWarning: invalid value encountered in true_divide\n",
" binned = fast_linbin(X, a, b, gridsize) / (delta * nobs)\n",
"/home/cif/anaconda3/lib/python3.7/site-packages/statsmodels/nonparametric/kdetools.py:34: RuntimeWarning: invalid value encountered in double_scalars\n",
" FAC1 = 2*(np.pi*bw/RANGE)**2\n",
"/home/cif/anaconda3/lib/python3.7/site-packages/numpy/core/fromnumeric.py:83: RuntimeWarning: invalid value encountered in reduce\n",
" return ufunc.reduce(obj, axis, dtype, out, **passkwargs)\n"
]
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 945.725x900 with 30 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
2016-03-15 12:55:14 +00:00
"source": [
2019-02-28 10:32:00 +00:00
"sns.pairplot(iris_df, hue=\"species\", height=2.5);"
2016-03-15 12:55:14 +00:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can also control the aesthetics of the plot with keyword arguments, and it returns the PairGrid instance for further tweaking."
]
},
{
"cell_type": "code",
2019-03-06 16:44:30 +00:00
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 945.725x900 with 30 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
2016-03-15 12:55:14 +00:00
"source": [
2016-03-28 10:26:20 +00:00
"g = sns.pairplot(iris_df, hue=\"species\", palette=\"Set2\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Violin Plots (boxplot)"
2016-03-15 12:55:14 +00:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[**Box plots** or **boxplot** ](https://en.wikipedia.org/wiki/Box_plot) (*diagramas de caja*) are a convenient way of graphically depicting groups of numerical data through their quartiles."
]
},
{
"cell_type": "code",
2019-03-06 16:44:30 +00:00
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f0d2ac0e6d8>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
2016-03-15 12:55:14 +00:00
"source": [
"# We can look at an individual feature in Seaborn through a boxplot\n",
"sns.boxplot(x=\"species\", y=\"sepal length (cm)\", data=iris_df)"
]
},
{
"cell_type": "code",
2019-03-06 16:44:30 +00:00
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
2016-03-15 12:55:14 +00:00
"source": [
"# One way we can extend this plot is adding a layer of individual points on top of\n",
"# it through Seaborn's striplot\n",
"# \n",
"# We'll use jitter=True so that all the points don't fall in single vertical lines\n",
"# above the species\n",
"#\n",
"# Saving the resulting axes as ax each time causes the resulting plot to be shown\n",
"# on top of the previous axes\n",
"ax = sns.boxplot(x=\"species\", y=\"petal length (cm)\", data=iris_df)\n",
"ax = sns.stripplot(x=\"species\", y=\"petal length (cm)\", data=iris_df, jitter=True, edgecolor=\"gray\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[**Violin plots**](https://en.wikipedia.org/wiki/Violin_plot) (*diagramas de violín*) are a method of plotting numeric data. A violin plot is a box plot with a rotated kernel density plot on each side. A violin plot is just a histogram (or more often a smoothed variant like a kernel density) turned on its side and mirrored."
]
},
{
"cell_type": "code",
2019-03-06 16:44:30 +00:00
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f0d300c4f60>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
2016-03-15 12:55:14 +00:00
"source": [
"# A violin plot combines the benefits of the previous two plots and simplifies them\n",
"# Denser regions of the data are fatter, and sparser thiner in a violin plot\n",
"sns.violinplot(x=\"species\", y=\"petal length (cm)\", data=iris_df, size=6)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2016-03-28 10:26:20 +00:00
"## Kernel Density Estimation (KDE)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Another useful representation is the [Kernel density estimation (KDE)](https://en.wikipedia.org/wiki/Kernel_density_estimation) plot. KDE is a non-parametric way to estimate the probability density function of a random variable. The kdeplot represents the shape of a distribution. Like the histogram, the KDE plots encodes the density of observations on one axis with height along the other axis:"
2016-03-15 12:55:14 +00:00
]
},
{
"cell_type": "code",
2019-03-06 16:44:30 +00:00
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<seaborn.axisgrid.FacetGrid at 0x7f0d3005aba8>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 477.725x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
2016-03-15 12:55:14 +00:00
"source": [
"# A final seaborn plot useful for looking at univariate relations is the kdeplot,\n",
"# which creates and visualizes a kernel density estimate of the underlying feature\n",
2019-02-28 10:32:00 +00:00
"sns.FacetGrid(iris_df, hue=\"species\", height=6) \\\n",
2016-03-15 12:55:14 +00:00
" .map(sns.kdeplot, \"petal length (cm)\") \\\n",
" .add_legend()"
]
},
2016-03-28 10:26:20 +00:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Choosing the right visualisation"
]
},
2016-03-15 12:55:14 +00:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Depending on the data, we can choose which visualisation suits better. the following [diagram](http://www.labnol.org/software/find-right-chart-type-for-your-data/6523/) guides this selection.\n",
"\n",
"\n",
"![](files/images/data-chart-type.png \"Graphs\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## References"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* [Feature selection](http://scikit-learn.org/stable/modules/feature_selection.html)\n",
"* [Classification probability](http://scikit-learn.org/stable/auto_examples/classification/plot_classification_probability.html)\n",
"* [Mastering Pandas](http://proquest.safaribooksonline.com/book/programming/python/9781783981960), Femi Anthony, Packt Publishing, 2015.\n",
"* [Matplotlib web page](http://matplotlib.org/index.html)\n",
"* [Using matlibplot in IPython](http://ipython.readthedocs.org/en/stable/interactive/plotting.html)\n",
"* [Seaborn Tutorial](https://stanford.edu/~mwaskom/software/seaborn/tutorial.html)\n",
"* [Iris dataset visualisation notebook](https://www.kaggle.com/benhamner/d/uciml/iris/python-data-visualizations/notebook)\n",
"* [Tutorial plotting with Seaborn](https://stanford.edu/~mwaskom/software/seaborn/tutorial/axis_grids.html)\n",
"* [Choose the Right Chart Type for your Data](http://www.labnol.org/software/find-right-chart-type-for-your-data/6523/)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Licence\n",
"The notebook is freely licensed under under the [Creative Commons Attribution Share-Alike license](https://creativecommons.org/licenses/by/2.0/). \n",
"\n",
2019-02-28 10:32:00 +00:00
"© Carlos A. Iglesias, Universidad Politécnica de Madrid."
2016-03-15 12:55:14 +00:00
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
2019-03-06 16:44:30 +00:00
"version": "3.7.1"
2019-02-28 10:32:00 +00:00
},
"latex_envs": {
"LaTeX_envs_menu_present": true,
"autocomplete": true,
"bibliofile": "biblio.bib",
"cite_by": "apalike",
"current_citInitial": 1,
"eqLabelWithNumbers": true,
"eqNumInitial": 1,
"hotkeys": {
"equation": "Ctrl-E",
"itemize": "Ctrl-I"
},
"labels_anchors": false,
"latex_user_defs": false,
"report_style_numbering": false,
"user_envs_cfg": false
2016-03-15 12:55:14 +00:00
}
},
"nbformat": 4,
2019-02-28 10:32:00 +00:00
"nbformat_minor": 1
2016-03-15 12:55:14 +00:00
}