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_0_Visualisation.ipynb

390 lines
80 KiB
Plaintext

{
"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, © 2016 Carlos A. Iglesias"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## [Introduction to Machine Learning](2_0_0_Intro_ML.ipynb)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Table of Contents\n",
"* [Visualisation](#Visualisation)\n",
"* [Exploratory visualisation](#Exploratory-visualisation)\n",
"* [References](#References)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Visualisation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The goal of this notebook is to learn how to analyse a dataset. We will cover other tasks such as cleaning or munging (changing the format) the dataset in other sessions."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exploratory visualisation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First, we are going to inspect the distribution of the samples per feature."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn import datasets\n",
"iris = datasets.load_iris()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# library for displaying plots\n",
"import matplotlib.pyplot as plt\n",
"# display plots in the notebook\n",
"# if this is not set, you will not see the graphic here\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First we are going to analyse the [histogram](https://en.wikipedia.org/wiki/Histogram). \n",
"\n",
"A histogram is a graphical representation of the distribution of numerical data. It is an estimate of the probability distribution of a continuous variable (quantitative variable). \n",
"\n",
"For building a histogram, we need first to 'bin' the range of values—that is, divide the entire range of values into a series of intervals—and then count how many values fall into each interval. \n",
"\n",
"In our case, since the values are not continuous and we have only three values, we do not need to bin them."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7fe98cd3db38>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEPCAYAAABCyrPIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAE8NJREFUeJzt3X+UZ3V93/HnawGVQYTVlsUTBKMoNlaLNkETOLKNGDVW\n11hBrVo1Nk1y0so59ngEq4HWNkis+WHtyYmGNKuJUeNJAAMWJGRNMRWIQMFfW4iKlcBoXCXLYBTc\nd//4fpYdxp2Z+92d+713d56Pc+6Ze+/3fu99z/d8vvOa++tzU1VIkrRh6AIkSeNgIEiSAANBktQY\nCJIkwECQJDUGgiQJgEP73kCSrwB3A7uA+6rqlCQbgQ8DJwBfAc6qqrv7rkWStLxZ7CHsAjZX1dOq\n6pQ27xzgqqo6CbgaOHcGdUiSVjCLQMhetrMF2NrGtwIvnkEdkqQVzCIQCvhEkuuT/Os2b1NVzQNU\n1V3AMTOoQ5K0gt7PIQCnVtWdSf4hcGWS7UxCYjH7z5CkgfUeCFV1Z/v5jSQXA6cA80k2VdV8kmOB\nr+/tvUkMCknaB1WVad/T6yGjJHNJHt7GjwB+CrgFuBR4bVvsNcAly6+lBhy+ydzcRqrqoBjOO++8\nwWs4WIbh2+bugcE/i7UYDpa2OaZ2sS/63kPYBPxJ+0//UOAPqurKJH8FfCTJzwK3A2f1XIckaRW9\nBkJVfRk4eS/zdwBn9LltSdJ0vFN5Hdm8efPQJUh7Zdsch+w57jU+k0NNQ9a3g7m5E1lY2DFgDRqj\nJIzj4rgw5u/wejOydjGuk8qSpAOHgSBJAgwESVJjIEiSAANBktQYCJIkwECQJDUGgiQJMBAkSY2B\nIEkCDARJUmMgSJIAA0GS1BgIkiTAQJAkNQaCJAkwECRJjYEgSQIMBElSYyBIkgADQZLUGAiSJMBA\nkCQ1BoIkCTAQJEmNgSBJAgwESVJjIEiSAANBktQYCJIkwECQJDUGgiQJMBAkSY2BIEkCZhQISTYk\nuSHJpW16Y5Irk2xPckWSo2ZRhyRpebPaQzgb+Pyi6XOAq6rqJOBq4NwZ1SFJWkbvgZDkOOCngd9Z\nNHsLsLWNbwVe3HcdkqSVzWIP4deBNwG1aN6mqpoHqKq7gGNmUIckaQWH9rnyJC8A5qvqpiSbV1i0\nln/p/EXjm9sgSdpjWxv2T6pW+Fu8vytPfgV4FXA/cDhwJPAnwI8Cm6tqPsmxwJ9X1T/ay/trxazo\n3Q7m5k5kYWHHgDVojJIwbNvcLfT5HdZ0RtYuMu27ej1kVFVvqarjq+pxwMuBq6vq1cDHgNe2xV4D\nXNJnHZKk1Q11H8I7gOck2Q48u01LkgbU6yGj/eUhI43VyA4NDF2EmpG1i3EdMpIkHTgMBEkSYCBI\nkhoDQZIEGAiSpMZAkCQBBoIkqTEQJEmAgSBJagwESRJgIEiSGgNBkgQYCJKkxkCQJAEGgiSpMRAk\nSYCBIElqVg2EJGcmObKNvzXJHyd5ev+lSZJmqcsewtuqameS04AzgIuA3+q3LEnSrHUJhO+3ny8A\n3ltVlwEP6a8kSdIQugTCHUl+G3gZcHmSh3Z8nyTpANLlD/tZwBXAc6vq28AjgTf1WpUkaeZWDYSq\nuhf4OnBam3U/cGufRUmSZq/LVUbnAW8Gzm2zDgN+v8+iJEmz1+WQ0c8ALwIWAKrqb4Aj+yxKkjR7\nXQLhe1VVQAEkOaLfkiRJQ+gSCB9pVxkdneTngKuA9/VbliRp1jL553+VhZLnAD8FBLiiqj7Rd2Ft\nu9V2TAayg7m5E1lY2DFgDRqjJAzbNncLXb7Dmo2RtYtM/a4xNyYDQWM1si/+0EWoGVm7mDoQDl12\ndck1VXVakp08+DcMUFX1iH2oUpI0UssGQlWd1n56RZEkrQNd7kN45u7eTtv0kUme0W9ZkqRZ63KV\n0W8B9yyaXsDeTiXpoNMlEFKLzlpV1S5WONQkSTowdQmELyV5Q5LD2nA28KW+C5MkzVaXQPgF4CeA\nO4CvAc8A/k2XlSd5aJJrk9yY5JbWLxJJNia5Msn2JFckOWpffwFJ0tro/T6EJHNVdW+SQ4BPAW8A\n/gXwzar61SRvBjZW1Tl7ea/3IWiURna9+dBFqBlZu5j6PoQuVxk9McmfJflsm35qkrd23UDrPhvg\noUzOPRSwBdja5m8FXjxV1ZKkNdflkNH7mHR9fR9AVd0MvLzrBpJsSHIjcBfwiaq6HthUVfNtfXcB\nx0xbuCRpbXUJhLmqum7JvPu7bqCqdlXV04DjgFOSPJkf3Kcawz6WJK1rXS4f/dskj2dP99cvBe6c\ndkNV9XdJtgHPA+aTbKqq+STHMnki2zLOXzS+uQ2SpD22tWH/rHpSOcnjgPcyudLoW8CXgVdW1e2r\nrjz5B8B9VXV3ksOZPJv5HcDpwI6qutCTyjoQjezk4dBFqBlZu1i7zu12q6ovAWe0B+NsqKqdU6z/\n0cDWJBuYHJ76cFVdnuTTTJ6z8LPA7cBZ0xYuSVpbXfYQHgWcB5zGJPquAf5TVX2z9+LcQ9BIjew/\nwaGLUDOydrH2l50CHwK+weTegZe28Q9PuyFJ0rh12UP4bFX94yXzbqmqp/RaGe4haLxG9p/g0EWo\nGVm76GUP4cokL2/3E2xIchaTk8OSpINIlz2EncARwPeZPC1tA5MusKHnJ6e5h6CxGtl/gkMXoWZk\n7aKXq4x8YpokrQNd+jI6tV1ySpJXJfm1JMf3X5okaZa6PjHt3iT/BPj3wF8DH+i1KknSzHUJhPvb\nE9O2AO+pqv8OeBhJkg4yXfoy2pnkXOBVwLPaXceH9VuWJGnWuuwhvAz4LvD61lX1ccA7e61KkjRz\nvT8xbX942anGamSXFw5dhJqRtYtebkyTJK0DBoIkCVghEJL8Wft54ezKkSQNZaWrjB6d5CeAFyX5\nEJNuKx5QVTf0WpkkaaZWCoRfBt7G5KqiX1vyWgE/2VdRkqTZ69K53duq6u0zqmfptr3KSKM0sqtJ\nhi5CzcjaRS+d2709yYuAZ7VZ26rqT6fdkCRp3Lp0bncBcDbw+TacneRX+i5MkjRbXQ4Z3QycXFW7\n2vQhwI1V9dTei/OQkUZqZIcGhi5CzcjaRW83ph29aPyoaTciSRq/Lp3bXQDcmOTPmVx6+izgnF6r\nkiTNXKe+jJI8GvixNnld6+Sudx4y0liN7NDA0EWoGVm7WPurjACq6k7g0qlrkiQdMOzLSJIEGAiS\npGbFQEhySJIvzqoYSdJwVgyEqvo+sD3J8TOqR5I0kC4nlTcCn0tyHbCwe2ZVvai3qiRJM9clEN7W\nexWSpMF16dzuk0lOAJ5QVVclmQMO6b80SdIsdenc7ueAjwK/3Wb9EHBxn0VJkmavy2WnvwScCvwd\nQFXdChzTZ1GSpNnrEgjfrarv7Z5IcijjuDdbkrSGugTCJ5O8BTg8yXOAPwI+1m9ZkqRZ6xII5wDf\nAG4Bfh64HHhrn0VJkmavy1VGu5JsBa5lcqhoe3XsXjHJccD7gU3ALuB9VfXuJBuBDwMnAF8Bzqqq\nu/ftV5AkrYUuVxm9APhr4N3Ae4Dbkjy/4/rvB95YVU8Gfhz4pSRPYrLXcVVVnQRcDZy7L8VLktZO\nlxvT3gX8s6q6DSDJ44HLgI+v9sb23IS72vg9Sb4AHAdsAU5vi20FtuFDdyRpUF3OIezcHQbNl4Cd\n024oyWOBk4FPA5uqah4eCA0vY5WkgS27h5DkJW30r5JcDnyEyTmEM4Hrp9lIkoczubnt7LansPQc\nhJexStLAVjpk9MJF4/PsOcTzDeDwrhto9y18FPhAVV2ye31JNlXVfJJjga8vv4bzF41vboMkaY9t\nbdg/nZ6pvF8bSN4P/G1VvXHRvAuBHVV1YZI3Axur6gfOIfhMZY3VyJ6dO3QRakbWLqZ+pvKqgZDk\nh4F/BzyWRXsUXbq/TnIq8BdM7mGoNrwFuI7JIajHALczuez023t5v4GgURrZF3/oItSMrF1MHQhd\nrjK6GLiIyd3Ju6ZZeVV9iuV7Rj1jmnVJkvrVJRD+vqre3XslkqRBdQmE30xyHnAl8N3dM6vqht6q\nkiTNXJdAeArwauAn2XPIqNq0JOkg0SUQzgQet7gLbEnSwafLncqfBY7uuxBJ0rC67CEcDXwxyfU8\n+BzCqpedSpIOHF0C4bzeq5AkDa7L8xA+OYtCJEnDWjUQkuxkz613DwEOAxaq6hF9FiZJmq0uewhH\n7h7P5L7sLcAz+yxKkjR7Xa4yekBNXAw8t6d6JEkD6XLI6CWLJjcAPwr8fW8VSZIG0eUqo8XPRbgf\n+AqTw0aSpINIl3MIr5tFIZKkYa30CM1fXuF9VVVv76EeSdJAVtpDWNjLvCOA1wOPAgwESTqILBsI\nVfWu3eNJjgTOBl4HfAh413LvkyQdmFY8h5DkkcAbgVcCW4GnV9W3ZlGYJGm2VjqH8E7gJcB7gadU\n1T0zq0qSNHNZ7gHdSXYx6d30fh781OgwOance9cVSWrYB1bvYG7uRBYWdgxYg8ZoZA9TH7oINSNr\nF5n2XSudQ5jqLmZJ0oHNP/qSJMBAkCQ1BoIkCTAQJEmNgSBJAgwESVJjIEiSAANBktQYCJIkwECQ\nJDUGgiQJMBAkSY2BIEkCDARJUmMgSJKAngMhyUVJ5pPcvGjexiRXJtme5IokR/VZgySpm773EP4H\n8Nwl884Brqqqk4CrgXN7rkGS1EGvgVBV1wDfWjJ7C7C1jW8FXtxnDZKkboY4h3BMVc0DVNVdwDED\n1CBJWmLZZyrP0CpPpD5/0fjmNkiS9tjWhv0zRCDMJ9lUVfNJjgW+vvLi58+iJkk6gG3mwf8s/8d9\nWsssDhmlDbtdCry2jb8GuGQGNUiSVtH3ZacfBP4SeGKSryZ5HfAO4DlJtgPPbtOSpIGlapVD+ANK\nUqueYujVDubmTmRhYceANWiMkjBs29wtjPk7vN6MrF1k9eUezDuVJUmAgSBJagwESRJgIEiSGgNB\nkgQYCJKkxkCQJAEGgiSpMRAkSYCBIElqDARJEmAgSJIaA0GSBBgIkqTGQJAkAQaCJKkxECRJgIEg\nSWoMBEkSYCBIkhoDQZIEGAiSpMZAkCQBBoIkqTEQJEmAgSBJagwESRJgIEiSGgNBkgQYCJKkxkCQ\nJAEGgiSpMRAkSYCBIElqDARJEjBgICR5XpIvJvm/Sd48VB2SpIlBAiHJBuA9wHOBJwOvSPKkIWpZ\nT7Zt2zZ0CdJe2TbHYag9hFOAW6vq9qq6D/gQsGWgWtYNv3QaK9vmOAwVCD8E/L9F019r8yRJAzl0\n6AJW84hHvHCwbVd9j+SwwbYvSbOUqpr9RpNnAudX1fPa9DlAVdWFS5abfXGSdBCoqkz7nqEC4RBg\nO/Bs4E7gOuAVVfWFmRcjSQIGOmRUVd9P8m+BK5mcx7jIMJCkYQ2yhyBJGp9R3Knc5Sa1JO9OcmuS\nm5KcPOsaDxSrfZZJTk/y7SQ3tOGtQ9R5IEhyUZL5JDevsIztsqPVPk/bZndJjktydZLPJbklyRuW\nWW669llVgw5MQuk24ATgMOAm4ElLlnk+cFkbfwbw6aHrHuPQ8bM8Hbh06FoPhAE4DTgZuHmZ122X\na/t52ja7f5bHAie38YczOSe73383x7CH0OUmtS3A+wGq6lrgqCSbZlvmAaHrDX9TX32wHlXVNcC3\nVljEdjmFDp8n2DY7qaq7quqmNn4P8AV+8F6uqdvnGAKhy01qS5e5Yy/LqPsNfz/ediEvS/Ijsynt\noGS7XHu2zSkleSyTPa9rl7w0dfsc/Y1pWnOfAY6vqnuTPB+4GHjiwDVJYNucWpKHAx8Fzm57Cvtl\nDHsIdwDHL5o+rs1busxjVllGHT7Lqrqnqu5t4x8HDkvyyNmVeFCxXa4h2+Z0khzKJAw+UFWX7GWR\nqdvnGALheuDEJCckeQjwcuDSJctcCvwreOAu529X1fxsyzwgrPpZLj6GmOQUJpce75htmQeUsPxx\nbdvl9Jb9PG2bU/td4PNV9ZvLvD51+xz8kFEtc5Nakp+fvFzvrarLk/x0ktuABeB1Q9Y8Vl0+S+Cl\nSX4RuA/4DvCy4SoetyQfBDYDj0ryVeA84CHYLvfJap8nts3OkpwKvBK4JcmNQAFvYXKF4T63T29M\nkyQB4zhkJEkaAQNBkgQYCJKkxkCQJAEGgiSpMRAkSYCBoHUiyTX78lrHdZ+e5GP7sw5pDAwErQtV\nddrSee1Rrnt9bV82sQbrkAZlIGhdSLKz/Tw9yV8kuQT43JLXjk3yyfZwlpvb3aBL1/NjST7VeuT8\ndJIj9vL6Xyb5TJJrkjyhzf+RJNe2dd+U5PFJ5pL8aZIb2/bO7P2DkFYweNcV0ows/g/+acCTq+qr\nS177l8D/rKoLkgSYW7yCJIcxecbEmVV1Q+tp8jtLtvMF4LSq2pXk2cAFwEuBXwB+o6r+sHVKdgjw\nAuCOqvrnbf1HrtUvK+0LA0Hr0XWLwmCx64GL2h/+S6rq/yx5/STgb6rqBnjgwSRMsuMBRwPvb3sG\nxZ7v2P8G/kOSxwB/XFW3JbkF+K9JLmDyZKv9Opch7S8PGWk9WtjbzKr6X8CzmHQR/HtJXrWXxVZ7\notfbgaur6inAC4GHtXX/YZv+DnB5ks1VdSvwdOAW4D/7DGENzT0ErRcr/SEPQJLjga9V1UVJHsbk\nj/XvL1puO3Bskn9aVZ9Z5pDRUezpc/6B3iWT/HBVfRn4b207T02yHdhRVR9Mcjfw+v35BaX9ZSBo\nvVjpKqDdr20G3pTkPmAnrS/5Bxaqui/Jy4D3JDkcuBc4Y8m6fhXY2v7bv2zR/LOSvJpJ1853Av+F\nyTOw35lkF/A94Bf35ReT1ordX0uSAM8hSJIaA0GSBBgIkqTGQJAkAQaCJKkxECRJgIEgSWoMBEkS\nAP8fO1NeMWitUtMAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe9a8bfc198>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plot histogram, the default is 10 bins\n",
"plt.hist(iris.target, bins=10)\n",
"plt.xlabel('iris class')\n",
"plt.ylabel('Number of species')\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see we have the same distribution of samples for each class.\n",
"Now we are going to see the distribution of the features"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']\n"
]
}
],
"source": [
"# We remember the name of the features to see its index\n",
"print(iris.feature_names)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['setosa' 'versicolor' 'virginica']\n"
]
}
],
"source": [
"# We remember the name of target names\n",
"print(iris.target_names)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A [**scatter plot**](https://en.wikipedia.org/wiki/Scatter_plot) (*gráfico de dispersión*) display values for typically two variables for a set of data."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7fe9a8d21630>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAEPCAYAAABsj5JaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHipJREFUeJzt3X+cXXV95/HXG5LoCI9EUtPUkkBAAZOSNMRdBCIyVIhE\nY7JdrT+arbtuKDys2VDdRx+rriTRto8uW+v6A4KlpSbsJEBkMTBBdPw1D5lYmEhIoM6AsWHUgjLp\nslBZogv42T/umcmdmXvPufc7c++dSd7Px+M+5t7z/XE+5zvnMZ8553vOuYoIzMzM6nVCqwMwM7Op\nyQnEzMySOIGYmVkSJxAzM0viBGJmZkmcQMzMLElLE4ikeZK+Jen7kh6RtKFCnUskPSNpX/b6eCti\nNTOzkaa1eP0vAh+OiP2STgYelNQVEY+OqvediFjdgvjMzKyKlh6BRMTPImJ/9v45oB84tUJVNTUw\nMzMrNGnmQCQtAJYCD1QovlDSfkn3SFrU1MDMzKyiVp/CAiA7fXUHcE12JFLuQeC0iHhe0kpgF3B2\ns2M0M7OR1OpnYUmaBuwG7o2Iz9ZQ/3Hg9RHxdIUyP9jLzKxOEZE0TTAZTmH9HdBXLXlImlv2/nxK\nSW9M8hgSEZPqtWnTppbH4JiOnZgma1yOaerGNB4tPYUlaTmwFnhE0kNAAB8DTgciIm4C3inpA8AL\nwBHg3a2K18zMjmppAomIPcCJBXVuAG5oTkRmZlaryXAK65jW3t7e6hDGcEy1mYwxweSMyzHVZjLG\nNB4tn0SfSJLiWNoeM7NGk0RM4Ul0MzObgpxAzMwsiROImZklcQIxM7MkTiBmZpbECcTMzJI4gZiZ\nWRInEDMzS+IEYmZmSZxAzMwsiROImZklcQIxM7MkTiBmZpbECcTMzJI4gZiZWRInEDMzS+IEYmZm\nSZxAzMwsiROImZklcQIxM7MkTiBmZpbECcTMzJI4gZiZWRInEDMzS+IEYmZmSZxAzMwsSUsTiKR5\nkr4l6fuSHpG0oUq9z0k6KGm/pKXNjtPMzMaa1uL1vwh8OCL2SzoZeFBSV0Q8OlRB0krgNRFxlqQ3\nAF8ALmhRvGZmlmnpEUhE/Cwi9mfvnwP6gVNHVVsD3JLVeQCYJWluUwOdYg4fPszevXs5fPhwq0OZ\nEHnbk1e2Z88eNm3axJ49e+rut7+/n23bttHf31+xbV55Udsbb7yRN73pTdx4441jyrZv386aNWvY\nvn17xba7d+/myiuvZPfu3RXLqynqNy/monHMU7Qv5vVd1DZ1Py9qlzrG44lpyoqISfECFgADwMmj\nlncCF5V9/gawrEofcbzbseO2aGubHbNmLYu2ttmxY8dtrQ5pXPK2J6/s8stXBrQFnBXQFitWrKy5\n3/Xrr8nanh3QFuvXbxjRNq+8qO0pp8wdEdfs2XOGy+bNO2NE2fz5C0a0Pffc80aUL168tKYxLOo3\nL+aiccxTtC/m9V3UNnU/L2qXOsbjianVsr+baX+3UxtO5As4GfgesKZCmRNIjQYHB6OtbXbAgYAI\nOBBtbbNjcHCw1aElyduevLKenp7sj8DRMmiLnp6ewn77+voqtu3r64uIyC0vartly5aK5Vu2bImO\njo6KZR0dHRER0dnZWbG8s7MzdwyL+s2LuWgcU393EZHbd1Hb1P28qF3qGI8npslgPAmk1XMgSJoG\n3AH8z4i4q0KVJ4D5ZZ/nZcsq2rx58/D79vZ22tvbJyTOqWBgYIAZMxZw5MiSbMkSpk8/nYGBAebM\nmdPS2FLkbQ9Qtayrq4vSbnK0DE6lq6uL5cuX5/bb19dHaXcrbzuP3t5eFi5cSG9vb9Xykuptb731\n1opx3XrrrZxyyikVy3bu3MnatWvZtWtXxfJdu3axatWqqmO4c+fO3H7ztufQoUO545inaF/M+x3N\nmDEjt23qfl7ULnWMa+l7Munu7qa7u3tiOkvNPBP1ojS/8emc8rcC92TvLwDuz6k7IRl5qprK/wVV\n4iMQH4H4CKTxmKqnsIDlwEvAfuAhYB9wBXA1cFVZveuBHwIHqHL6KpxAIuLoediZM8+bUudhq8nb\nnryyFSuGzq+/NvLmQCq1Xb9+Q5SfBx87B1K9vKjt7NlzRsRVPgcyf/6CEWWj5yoWL146orzW8/NF\n/ebFXDSOeYr2xby+i9qm7udF7VLHeDwxtdqUTSAT/XICKRkcHIze3t4p8d9PLfK2J6+sp6cnNm7c\nWPU/5ry2fX19sXXr1uGjh3rKi9pu2bIlLr744tiyZcuYso6Ojli9evXwEcJonZ2dsW7dupr+K66n\n37yYi8YxT9G+mNd3UdvU/byoXeoYjyemVhpPAlGp/bFBUhxL22Nm1miSiAiltPWjTMzMLIkTiJmZ\nJXECMTOzJE4gZmaWxAnEzMySOIGYmVkSJxAzM0viBGJmZkmcQMzMLIkTiJmZJXECMTOzJE4gZmaW\nxAnEzMySOIGYmVkSJxAzM0viBGJmZkmcQMzMLIkTiJmZJXECMTOzJE4gZmaWxAnEzMySOIGYmVkS\nJxAzM0viBGJmZkmcQMzMLIkTiJmZJXECMTOzJE4gZmaWJDeBSLpQ0g2SHpZ0WNKPJX1F0gclzZqI\nACTdLOkpSQ9XKb9E0jOS9mWvj0/Ees3MbHwUEZULpHuBJ4G7gO8Bg8DLgbOBS4G3A5+OiLvHFYD0\nRuA54JaIWFKh/BLgP0fE6hr6imrbY2ZmY0kiIpTSdlpO2R9ExD+PWvYcsC97/ZWkV6WstFxE9Eg6\nvaBa0saZmVnjVD2FNTp5SJopafbQq1KdBrpQ0n5J90ha1KR1mplZjrwjEAAkXQ18AvgFMHR+KIAz\nGxhXuQeB0yLieUkrgV2UTqNVtHnz5uH37e3ttLe3Nzo+M7Mpo7u7m+7u7gnpq+ocyHAF6SBwYSOP\nNrJTWJ2V5kAq1H0ceH1EPF2hzHMgZmZ1GM8cSC2X8f4j8HxK53UQVeY5JM0te38+paQ3JnmYmVlz\nFZ7CAj4KfFfSA8AvhxZGxIaJCEDSDqAd+DVJPwY2ATNKq4ibgHdK+gDwAnAEePdErNfMzManllNY\nvUAP8Ajwq6HlEbGtsaHVz6ewzMzqM55TWLUkkIci4rykyJrMCcTMrD6NngO5V9JVkl49+jJeMzM7\nftVyBPJ4hcUREc26jLdmPgIxM6tPQ09hTSVOIGZm9WnoKazswYmvLPt8iqQ/SlmZmZkdO2o5hbU/\nIpaOWjYpJ9Z9BGJmVp9GT6KfKGm4c0knUrpPw8zMjmO13Ej4VeB2SX+dfb46W2ZmZsexWk5hnQBc\nBVyWLfo68LcR8VKDY6ubT2GZmdXHV2FlnEDMzOrTkDkQSZ2S3i5peoWyMyV9UtJ/TFmpmZlNfXlf\nafsbwIeBdwBPA4cpfaXtGcAPgesj4q4mxVkTH4GYmdWn4aewJC0AXk3pabg/iIhGP949iROImVl9\nPAeScQIxM6tPo+8DMTMzG8MJxMzMkjiBmJlZksI70SUtBzYDp2f1xSR9nLuZmTVPLXeiPwp8CHgQ\nGL77PCL+d2NDq58n0c3M6jOeSfRanoX1bETcm9K5mZkdu/JuJFyWvX0XcCJwJ/DLofKI2Nfw6Ork\nIxAzs/o05D4QSd/OaRcR8TspK2wkJxAzs/o09EZCSWdGxKGiZZOBE4iZWX0afSPhHRWWfSllZWZm\nduyoOoku6XXAbwGzJP3bsqKZlB6qaGZmx7G8q7DOAVYBrwTeXrb858AfNjIoMzOb/GqZA7kwIv6+\nSfGMi+dAzMzq0+hJ9M8Doys9C3zP3wdiZja1NXoS/WXAUuBg9loCzAPWSfpMykrLSbpZ0lOSHs6p\n8zlJByXtl7R0vOs0M7PxqyWBLAEujYjPR8TngcuA1wG/C6yYgBi+CLylWqGklcBrIuIs4GrgCxOw\nzmPa4cOH2bt3L4cPHx5T1t/fz7Zt2+jv76+rXS3lqTFt376dNWvWsH379opt88rzyvbs2cOmTZvY\ns2dPxX7zxmL37t1ceeWV7N69u2LbvPK8foviKmqb+rstGou8fhu5X9gUFxG5L+AxYFbZ51nAY9n7\nh4ra1/Ki9KDGh6uUfQF4d9nnfmBulbpxvNux47Zoa5sds2Yti7a22bFjx23DZevXXxPQFnB2QFus\nX7+hpna1lKfGNG/eGVlMZwW0xfz5C0a0zSvPK7v88pUjylasWDmi37yxOPfc80a0Xbx46Yi2eeV5\n/RbFVdQ29XdbNBZ5/TZyv7DJIfu7mfa3u7ACrAMep3SksBU4BFwJnAT8ZeqKR60jL4F0AheVff4G\nsKxK3Ykd2SlmcHAw2tpmBxwIiIAD0dY2OwYHB6Ovry/7I3K0DNqir68vt11Rv+OJqaOjo2JMHR0d\nERG55XllPT09Fct6enoiInLHorOzs2JZZ2dnRERueV6/EZEbV1Hb1N9t0Vjk9dvI/cImj/EkkMKH\nKUbEzZK+ApyfLfpYRDyZvf+TOg94Gm7z5s3D79vb22lvb29ZLM02MDDAjBkLOHJkSbZkCdOnn87A\nwAB9fX3AfEpnJGFoKqu3t5dFixZVbTdnzpzcfufMmZMc086dOylNp5XHdCo7d+5k7dq1ueUllcuW\nLl1asayrq4vly5fT29tbdSzuu+++im137drFqlWr2LVrV9Xyiy++uGq/CxcupKurq2pcZ555Zm7b\n1N/toUOHcscir1+gYfuFtU53dzfd3d0T01ktWQY4FbgIeNPQKzVjVek/7whk9CmsR/EprIp8BOIj\nEB+BWL1o8Cms64AB4B5Kp5M6gbtTV1hlHQuAR6qUvRW4J3t/AXB/Tj8TOa5T0tA56Zkzz6twnnxD\nlJ8LrzQHUqldLeWpMc2fvyCL6bVRaQ4krzyvbMWKlSPKxs6BVB+LxYuXjmg7eg4krzyv36K4itqm\n/m6LxiKv30buFzY5NDqBPAa8LHUFNfS/A3iS0qPifwy8n9LVVleV1bke+CFwgCrzH+EEMmxwcDB6\ne3sr/ifY19cXW7duHf7PttZ2tZSnxtTR0RGrV68ePvKopzyvrKenJzZu3Dj83/ZoeWPR2dkZ69at\nGz7yqKc8r9+iuIrapv5ui8Yir99G7hfWeuNJILXcSHgv8HsR8Vw9p8ZawTcSmpnVp9HfSPg8sF/S\nNxn5hVIbUlZoZmbHhloSyN3Zy8zMbFjhKSwASW3AaRHxWONDSudTWGZm9Wnos7AkvR3YD3w1+7xU\nko9IzMyOc7U8C2szpZsInwGIiP3AmQ2MyczMpoBaEsgLEfHsqGW/akQwZmY2ddQyif59Sb8PnCjp\nLGAD8N3GhmVmZpNdLUcg/4nSd6P/ErgV+BfgjxsZlJmZTX41XYU1VfgqLDOz+jTkRkJJnYz9Ktth\nEbE6ZYVmZnZsyJsD+VTTojAzsynHp7DMzI5jDb2R0MzMrBInEDMzS+IEYmZmSXwVlpmZJfFVWGZm\nlsRXYZmZHcca+o2E2fOv/gJYBLx8aHlE+Im8ZmbHsVom0b8I3Ai8CFwK3AJ0NDIoMzOb/GpJIG0R\n8U1Kp7t+FBGbgbc1NiwzM5vsanmc+y8lnQAclLQeeAI4ubFhmZnZZFc4iS7pXwP9wCuBPwVmAf89\nIu5vfHj18SS6mVl9xjOJXvNVWJJmAhERP09ZUTM4gZiZ1aehz8KS9K8kPQI8DDwi6YCk16eszMzM\njh21nMJ6GPhgRNyXfX4jsCUiljQhvrr4CMTMrD6NfhrvS0PJAyAieihd0mtmZsexWo5APgO0Ufo+\n9ADeDfyC7F6QiNjX4Bhr5iMQM7P6NHQSXdK3c4ojIn4nZcVl/V8BfIbS0dDNEXHdqPJLgLuAQ9mi\nOyPiz6r05QRiZlaHhj7KJCIuTem4Ftn9JdcDbwaeBPZKuisiHh1V9Tt++q+Z2eRSy1VYcyXdLOne\n7PMiSesmaP3nAwezO9xfAG4D1lQKY4LWZ2ZmE6SWSfStwNeA38w+/wD44wla/6nAT8o+/1O2bLQL\nJe2XdI+kRRO0bjMzG4daHmXyqojYKemjABHxoqSXGhxXuQeB0yLieUkrgV3A2dUqb968efh9e3s7\n7e3tjY7PzGzK6O7upru7e0L6qmUSvRt4B/D1iFgm6QLguoi4ZNwrL/W1OSKuyD5/hNLE/HU5bR4H\nXh8RT1co8yS6mVkdGjqJDnwYuBt4jaQ9wBzgnSkrq2Av8FpJpwM/Bd4DvLe8gqS5EfFU9v58Sklv\nTPIwM7PmquUqrH3ZpbTnUJrMfiyb8B63iHgpe8JvF0cv4+2XdHWpOG4C3inpA8ALwBFK96GYmVmL\n1XIK6/eAr0bEzyV9HFgG/NlkuoFwiE9hmZnVp9GPMrk2Sx5vpHS/xs2UvqHQzMyOYzU9Cyv7+Tbg\nbyLiHmBG40IyM7OpoJYE8oSkv6Y09/AVSS+rsZ2ZmR3DapkDeQVwBfBIRByU9GpgcUR0NSPAengO\nxMysPk35RsKpwAnEzKw+jZ5ENzMzG8MJxMzMkjiBmJlZEicQMzNL4gRiZmZJnEDMzCyJE4iZmSVx\nAjEzsyROIGZmlsQJxMzMkjiBmJlZEicQMzNL4gRiZmZJnEDMzCyJE4iZmSVxAjEzsyROIGZmlsQJ\nxMzMkjiBmJlZEicQMzNL4gRiZmZJnEDMzCyJE4iZmSVpeQKRdIWkRyX9QNJ/qVLnc5IOStovaWmz\nYzQzs7FamkAknQBcD7wF+C3gvZJeN6rOSuA1EXEWcDXwhaYHamZmY7T6COR84GBE/CgiXgBuA9aM\nqrMGuAUgIh4AZkma26wADx8+zN69ezl8+PCYsj179rBp0yb27NlTd9vdu3dz5ZVXsnv37opt+/v7\n2bZtG/39/WPKtm/fzpo1a9i+fXvFtnl9b9y4kXPOOYeNGzfWVQb525u3rUUx521rkby2RTGZ2ThF\nRMtewDuAm8o+/zvgc6PqdAIXlX3+BrCsSn8xkXbsuC3a2mbHrFnLoq1tduzYcdtw2eWXrwxoCzgr\noC1WrFhZc9tzzz1vRNvFi5eOaLt+/TVZ+dkBbbF+/YbhsnnzzhjRdv78BSPa5vU9ffpJI8pmzGir\nqaxoe/O2tSjmvG0tkte2KCYzK8n+bqb9DU9tOBGvyZxABgcHo61tdsCBgAg4EG1ts2NwcDB6enqy\nP1xHy6Atenp6Ctt2dnZWbNvZ2RkREX19fRXL+/r6oqOjo2JZR0dHRERu39dee23FsmuvvTa3LCJy\ntzdvWyMiN+a8bS2S17YoJjM7ajwJZFozjnJyPAGcVvZ5XrZsdJ35BXWGbd68efh9e3s77e3tSYEN\nDAwwY8YCjhxZki1ZwvTppzMwMEBXV1cWxtEyOJWuri6WL1+e23bXrl0V2+7atYtVq1bR29ubbW55\n+Tx6e3u58847K7bduXMna9euze37vvvuq1h2++23Z58rl33yk5/M3d4ZM2ZU3dY5c+awc+fOqjG/\n+OKLVbd14cKFub+fvHFatGhRbkxmx7Pu7m66u7snprPUzDMRL+BE4IfA6cAMYD+wcFSdtwL3ZO8v\nAO7P6W/CsrKPQHwEYnY8YKqewirFzhXAY8BB4CPZsquBq8rqXJ8lmgNUOX0VE5xAIo6eR58587wx\n59FXrBiaE3ht5M2BVGq7ePHSEW3HzoFsiPI5g/Jz+/PnLxjRdvQcSF7fM2a0jSgrn+fIKyva3rxt\nLYo5b1uL5LUtisnMSqZ0ApnI10QnkIjS0URvb2/F/157enpi48aNw0ce9bTt7OyMdevWDR95jNbX\n1xdbt26t+N94R0dHrF69evjIo56+r7322jj77LOHjy5qLYvI3968bS2KOW9bi+S1LYrJzMaXQFRq\nf2yQFMfS9piZNZokIkIpbVt9H4iZmU1RTiBmZpbECcTMzJI4gZiZWRInEDMzS+IEYmZmSZxAzMws\niROImZklcQIxM7MkTiBmZpbECcTMzJI4gZiZWRInEDMzS+IEYmZmSZxAzMwsiROImZklcQIxM7Mk\nTiBmZpbECcTMzJI4gZiZWRInEDMzS+IEYmZmSZxAzMwsiROImZklcQIxM7MkTiBmZpbECcTMzJJM\na9WKJZ0C3A6cDgwA74qIZyvUGwCeBX4FvBAR5zcxTDMzq6KVRyAfAb4REecA3wI+WqXer4D2iDhv\nKiaP7u7uVocwhmOqzWSMCSZnXI6pNpMxpvFoZQJZA2zL3m8D/k2VemIKn2qbjDuMY6rNZIwJJmdc\njqk2kzGm8WjlH+Zfj4inACLiZ8CvV6kXwNcl7ZX0h02LzszMcjV0DkTS14G55YsoJYSPV6geVbpZ\nHhE/lTSHUiLpj4ieCQ7VzMzqpIhqf7cbvGKpn9LcxlOSfgP4dkQsLGizCfh5RHy6SnlrNsbMbAqL\nCKW0a9lVWMDdwH8ArgP+PXDX6AqSXgGcEBHPSToJWAF8olqHqYNgZmb1a+URyGxgJzAf+BGly3if\nkfRq4G8iYpWkM4AvUzq9NQ3YHhH/rSUBm5nZCC1LIGZmNrVNyctjJZ0gaZ+ku6uUf07SQUn7JS1t\ndUySLpH0TFa+T1KliwgaEdOApAOSHpLUW6VOU8eqKKZWjJWkWZK+JKlf0vclvaFCnWaPU25MLRqn\ns7Pf277s57OSNlSo17SxqiWmFo3VhyT9g6SHJW2XNKNCnWbvU7kxJY1TREy5F/AhoAO4u0LZSuCe\n7P0bgPsnQUyXVFrehJgOAafklDd9rGqIqeljBWwF3p+9nwbMnATjVBRTS/apsvWfADwJzG/1WNUQ\nU1PHCvjNbD+fkX2+HXhfK8epxpjqHqcpdwQiaR7wVuBvq1RZA9wCEBEPALMkza1St1kxQekS5mYr\nugmz6WNVQ0xDdZpC0kzg4oj4IkBEvBgR/zKqWlPHqcaYoDX71JDLgH+MiJ+MWt6KfaooJmj+WJ0I\nnCRpGvAKSomtXCvGqSgmqHOcplwCAf4H8CdUv2/kVKB8B3oiW9bKmAAuzA5V75G0qMHxDCm6CbMV\nY1XLjaHNHKszgH+W9MXssP0mSW2j6jR7nGqJCVqzTw15N3BrheWt2KeGVIsJmjhWEfEk8FfAjylt\n/zMR8Y1R1Zo6TjXGBHWO05RKIJLeBjwVEfspZcqWX7ZbY0wPAqdFxFLgemBXk8JbHhHLKB0dfVDS\nG5u03jxFMTV7rKYBy4Absriep/SctlaqJaZW7VNImg6sBr7UrHUWKYipqWMl6ZWUjjBOp3Tq6GRJ\nv9/IdU5QTHWP05RKIMByYLWkQ5T+07hU0i2j6jxB6dLgIfOyZS2LKSKei4jns/f3AtNVuoy5oSLi\np9nPw5Quhx79MMpmj1VhTC0Yq38CfhIR38s+30Hpj3e5Zo9TYUyt2qcyK4EHs9/haE3fp4piasFY\nXQYcioinI+Il4E7golF1mj1OhTGljNOUSiAR8bGIOC0izgTeA3wrIt43qtrdwPsAJF1A6VDtqVbG\nVH5uU9L5lC6ffrpRMWXreYWkk7P3Qzdh/sOoak0dq1piavZYZdv7E0lnZ4veDPSNqtbsfaowplbs\nU2XeS/VTRU0dq1piasFY/Ri4QNLLJYnS769/VJ1mj1NhTCnj1Mo70SeMpKuBiIibIuIrkt4q6YfA\n/wXe3+qYgHdK+gDwAnCE0rnaRpsLfFmlx7sM3YTZ1eKxKoyJ1ozVBmB7dhrkEPD+SbBP5cZEa8Zp\n6OkQlwFXlS1r6VgVxUSTxyoieiXdATyUrXMfcFMrx6mWmEgYJ99IaGZmSabUKSwzM5s8nEDMzCyJ\nE4iZmSVxAjEzsyROIGZmlsQJxMzMkjiBmLWIpN3ZgxPNpiTfB2JmZkl8BGKWI3v8ym6VvqzoYUnv\nkvS4pOuyz/dLOjOr+ypJd0h6IHtdlC0/SdLfZfX3S/rdbPnjQ88akrQ2a7NP0o0qOUGlJ/I+rNKX\ncF3TupEwG+uYeJSJWQNdATwREatg+Ls6rgP+T0QskfQHwGeBt2c/Px0R35U0H/gasAi4ltKzjpZk\nfczK+o7s8+soPTbiooh4SdINwFpKz786taydT3fZpOIEYpbvEeBTkv6C0jfI9ZSeRcdtWfmtwKez\n95cBC7OH1UHpkdknZcuHnysUEc+OWsebKT1td2/W9uXAU8Bu4AxJnwW+AnRN9MaZjYcTiFmOiDgo\naej7S/5U0rcoHTmUTx4OvT8BeENEvFDeR/bwyDwCtkXEfx1TIP028BbgauBdwLqkDTFrAM+BmOWQ\n9GrgSETsAD7F0e/lGDqieA/w99n7rwHXlLX97ezt14EPli1/5dDb7Oc3KT0JdU5Wfoqk0yT9GnBi\nRHyZ0mmw8yZy28zGy0cgZvkWA38p6VfA/wM+APwv4BRJB4BfUPouCigljxuy5ScC3wH+CPjzbPkj\nwIvAJyh921sARES/pI8DXZJOyNbzwazvL2bLgtZ/U6LZCL6M16xOkh4HXt/EL3Aym5R8Csusfv6v\nywwfgZiZWSIfgZiZWRInEDMzS+IEYmZmSZxAzMwsiROImZklcQIxM7Mk/x/pB2qi3av55gAAAABJ\nRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe9a8c886a0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# scatter makes a plot of x vs y\n",
"plt.scatter(iris.data[:,0], iris.target)\n",
"plt.ylabel(iris.feature_names[0])\n",
"plt.xlabel('species')"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\nHFB9ihddiQKxMhRREuJ98vYUjfvkOXlJRHHj6quv7vZkx2h+PtJ92QXP5CksXu8+FBevxdGjmcjO\nbkZFxUpMnTo51mGRQTyTtycW8iZb8Hr3YebMf8WZM0/ibBJSWtod2LXrVg70cSKSQb7O50O5x4P2\n+nqk5OVhcVkZ8l2xL/9n53J/RkVjkOcDyihkTudczcpSTufcWIdGBoX7s1hbUyOrCgrkhP8//gQg\nqwoKpLamxrTYfvOb38i8efO6LVu+fLksW7ZMCgsL5dlnnxWRjgeSTZ48WVasWCFDhgwRj8cjbW1t\nsnLlSsnJyZExY8bIE088IUopaWtrExHp8fkpU6bIXXfdJdnZ2TJmzBjZsWNH5z4DtxURWb9+vVx0\n0UUycOBAufjii+Xdd98VEZEHH3xQCgoKOpe/8sorYR97b/8vYGUostLRo5nQSkJqbAxeRomm3ONB\naXV1QI4xUFpdjXKPx7R9zJ8/Hzt27EBzc8etse3t7XjxxRfhdrt7bLt//36MHTsWX375Je677z6s\nX78e//Ef/4H3338fBw4cwKuvvnrO57i/8847uOiii/D111/jZz/7GW6++WbN7V566SX84he/wMaN\nG9HU1ITt27djyJAhAICxY8di3759aGpqwurVq1FUVIRDh+xzBzkHeQpZdnYztCpLORzByyjRtNfX\na/x6B9obol/+77LLLuuxbWC5v759++Kll17C8uXLMWLECAwaNAj33HPPOfeVn5+Pm266CUopFBcX\n4+DBg/jyyy97bPfss8/i7rvvxvjx4wEAY8aM6axCde2112LYsGEAOoqdnH/++XjnnXci6gMzcZCn\nkFVUrERa2h0ITEJKS7sDFRVaz66jRJKSl6fx6x1IyY1u+T+ts3igZ7m/hoaGbsuC1wcbPnx45/t+\n/foBAE6cONFju88//xwFBQWabTz//PO49NJLkZ2djezsbPzlL3/pVpIw1jjIU8imTp2MXbtuhdO5\nCA7HIjidi3jRNUksLivD6oKCgF/vwOqCAiwui275v4ULF2puFzwVM2LECPztb3/r/Pqzzz4zJZ5R\no0Zplgf87LPP8OMf/xhPPfUUjh49iqNHj+Liiy+21Z1LYWe8UnKbOnUyfD4O6skm3+XC0p078bDH\ng/aGBqTk5mJpFO6u0Sr/Z8T111+Pxx57DFdffTX69++PNWvWmBLPLbfcglWrVmHy5MkYP348qqur\n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\n1mhNnfMAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe98ccc57b8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plot the distribution of the dataset\n",
"names = set(iris.target)\n",
"\n",
"# x and y are all the samples from column 0 (sepal_length) and 1 (sepal_width) respectively\n",
"x,y = iris.data[:,0], iris.data[:,1]\n",
"\n",
"for name in names:\n",
" cond = iris.target == name\n",
" plt.plot(x[cond], y[cond], linestyle='none', marker='o', label=iris.target_names[name])\n",
"\n",
"plt.legend(numpoints=1)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As we can see, the Setosa class seems to be linear separable with these two features.\n",
"\n",
"Another nice visualisation is given below."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7fe98cde0f28>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nBcTgsgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe98ce060b8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x_index = 0\n",
"y_index = 1\n",
"formatter = plt.FuncFormatter(lambda i, *args: iris.target_names[int(i)])\n",
"plt.scatter(iris.data[:, x_index], iris.data[:, y_index], s=40,\n",
"c=iris.target)\n",
"plt.colorbar(ticks=[0, 1, 2], format=formatter)\n",
"plt.xlabel(iris.feature_names[x_index])\n",
"plt.ylabel(iris.feature_names[y_index])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we can also check that the Setosa class seems to be linear separable.\n",
"\n",
"Students interested in practicing advanced visualisations can check [Advanced visualisation notebook](2_3_1_Advanced_Visualisation.ipynb).\n",
"\n"
]
},
{
"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)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Licence\n",
"\n",
"The notebook is freely licensed under under the [Creative Commons Attribution Share-Alike license](https://creativecommons.org/licenses/by/2.0/). \n",
"\n",
"© 2016 Carlos A. Iglesias, Universidad Politécnica de Madrid."
]
}
],
"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.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}