You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sitc/ml1/2_3_1_Advanced_Visualisatio...

858 lines
1.1 MiB
Plaintext

8 years ago
{
"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": [
"Department of Telematic Engineering Systems, Universidad Politécnica de Madrid, © Carlos A. Iglesias"
8 years ago
]
},
{
"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",
8 years ago
"This notebook introduces another plotting library, [**seaborn**](https://stanford.edu/~mwaskom/software/seaborn/), which provides advanced facilities for data visualization.\n",
8 years ago
"\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",
8 years ago
"*Seaborn* requires its input to be *DataFrames* (a structure created with the library *pandas*)."
8 years ago
]
},
{
"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",
"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"
}
],
8 years ago
"source": [
"from pandas import DataFrame\n",
"from sklearn import datasets\n",
"\n",
8 years ago
"\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",
"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"
}
],
8 years ago
"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",
8 years ago
"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": [
8 years ago
"A **scatterplot matrix** (*matriz de diagramas de dispersión*) presents every pairwise relationship between a set of variables."
]
},
{
"cell_type": "code",
"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"
}
],
8 years ago
"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"
]
},
8 years ago
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## PairGrid"
]
},
8 years ago
{
"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",
"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"
}
],
8 years ago
"source": [
"# PairGrid\n",
"g = sns.PairGrid(iris_df)\n",
"g.map(plt.scatter);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
8 years ago
"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",
8 years ago
"\n",
8 years ago
"We are going to color each class, so that we can easily identify **clustering** and **linear relationships**."
8 years ago
]
},
{
"cell_type": "code",
"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"
}
],
8 years ago
"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",
"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"
}
],
8 years ago
"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",
"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"
}
],
8 years ago
"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": [
8 years ago
"## 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)."
8 years ago
]
},
{
"cell_type": "code",
"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"
}
],
8 years ago
"source": [
"sns.pairplot(iris_df, hue=\"species\", height=2.5);"
8 years ago
]
},
{
"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",
"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"
}
],
8 years ago
"source": [
8 years ago
"g = sns.pairplot(iris_df, hue=\"species\", palette=\"Set2\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Violin Plots (boxplot)"
8 years ago
]
},
{
"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",
"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"
}
],
8 years ago
"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",
"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"
}
],
8 years ago
"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",
"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"
}
],
8 years ago
"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": [
8 years ago
"## 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:"
8 years ago
]
},
{
"cell_type": "code",
"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"
}
],
8 years ago
"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",
"sns.FacetGrid(iris_df, hue=\"species\", height=6) \\\n",
8 years ago
" .map(sns.kdeplot, \"petal length (cm)\") \\\n",
" .add_legend()"
]
},
8 years ago
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Choosing the right visualisation"
]
},
8 years ago
{
"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",
"© Carlos A. Iglesias, Universidad Politécnica de Madrid."
8 years ago
]
}
],
"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",
"version": "3.7.1"
},
"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
8 years ago
}
},
"nbformat": 4,
"nbformat_minor": 1
8 years ago
}