mirror of
https://github.com/rasbt/python_reference.git
synced 2024-11-30 15:31:12 +00:00
1663 lines
319 KiB
Plaintext
1663 lines
319 KiB
Plaintext
{
|
|
"metadata": {
|
|
"name": "",
|
|
"signature": "sha256:cfb34d1c50e9095a633d85dd5229c48fbfb6c528e4e69f20b2d25a017f7cfdb7"
|
|
},
|
|
"nbformat": 3,
|
|
"nbformat_minor": 0,
|
|
"worksheets": [
|
|
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[Sebastian Raschka](http://sebastianraschka.com) \n",
|
|
"\n",
|
|
"- [Open in IPython nbviewer](http://nbviewer.ipython.org/github/rasbt/python_reference/blob/master/tutorials/python_data_entry_point.ipynb?create=1) \n",
|
|
"\n",
|
|
"- [Link to this IPython notebook on Github](https://github.com/rasbt/python_reference/blob/master/tutorials/python_data_entry_point.ipynb) \n",
|
|
"\n",
|
|
"- [Link to the GitHub Repository pattern_classification](http://nbviewer.ipython.org/github/rasbt/pattern_classification/blob/master/python_howtos/)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"import time\n",
|
|
"import platform\n",
|
|
"print('Last updated: %s' %time.strftime('%d/%m/%Y'))\n",
|
|
"print('Created using Python', platform.python_version())"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"Last updated: 26/06/2014\n",
|
|
"Created using Python 3.4.1\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 1
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<hr>\n",
|
|
"I would be happy to hear your comments and suggestions. \n",
|
|
"Please feel free to drop me a note via\n",
|
|
"[twitter](https://twitter.com/rasbt), [email](mailto:bluewoodtree@gmail.com), or [google+](https://plus.google.com/+SebastianRaschka).\n",
|
|
"<hr>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 1,
|
|
"metadata": {},
|
|
"source": [
|
|
"Entry point: Data "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 3,
|
|
"metadata": {},
|
|
"source": [
|
|
"- Using Python's sci-packages to prepare data for Machine Learning tasks and other data analyses"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"In this short tutorial I want to provide a short overview of some of my favorite Python tools for common procedures as entry points for general pattern classification and machine learning tasks, and various other data analyses. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 1,
|
|
"metadata": {},
|
|
"source": [
|
|
"Sections"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"- [Installing Python packages](#Installing-Python-packages)\n",
|
|
"\n",
|
|
"- [About the dataset](#About-the-dataset)\n",
|
|
"\n",
|
|
"- [Downloading and saving CSV data files from the web](#Downloading-and-savin-CSV-data-files-from-the-web)\n",
|
|
"\n",
|
|
"- [Reading in a dataset from a CSV file](#Reading-in-a-dataset-from-a-CSV-file)\n",
|
|
"\n",
|
|
"- [Visualizating of a dataset](#Visualizating-of-a-data)\n",
|
|
"\n",
|
|
" - [Histograms](#Histograms)\n",
|
|
"\n",
|
|
" - [Scatterplots](#Scatterplots)\n",
|
|
"\n",
|
|
"- [Splitting into training and test dataset](#Splitting-into-training-and-test-dataset)\n",
|
|
"\n",
|
|
"- [Feature Scaling](#Feature-Scaling)\n",
|
|
"\n",
|
|
"- [Linear Transformation: Principal Component Analysis (PCA)](#PCA)\n",
|
|
"\n",
|
|
"- [Linear Transformation: Multiple Discrciminant Analysis (MDA)](#MDA)\n",
|
|
"\n",
|
|
"- [Simple Supervised Classification](#Simple-Supervised-Classification)\n",
|
|
"\n",
|
|
" - [Linear Discriminant Analysis as simple linear classifier](#Linear-Discriminant-Analysis-as-simple-linear-classifier)\n",
|
|
" \n",
|
|
" - [Classification Stochastic Gradient Descent (SGD)](#SGD)\n",
|
|
"\n",
|
|
"- [Saving the processed datasets](#Saving-the-processed-datasets)\n",
|
|
"\n",
|
|
" - [Pickle](#Pickle)\n",
|
|
"\n",
|
|
" - [Comma Separated Values (CSV)](#Comma-Separated-Values)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 2,
|
|
"metadata": {},
|
|
"source": [
|
|
"Installing Python packages"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"\n",
|
|
"**In this section want to recommend a way for installing the required Python-packages packages if you have not done so, yet. Otherwise you can skip this part.**\n",
|
|
"\n",
|
|
"The packages we will be using in this tutorial are:\n",
|
|
"\n",
|
|
"- [NumPy](http://www.numpy.org)\n",
|
|
"- [SciPy](http://www.scipy.org)\n",
|
|
"- [matplotlib](http://matplotlib.org)\n",
|
|
"- [scikit-learn](http://scikit-learn.org/stable/)\n",
|
|
"\n",
|
|
"Although they can be installed step-by-step \"manually\", but I highly recommend you to take a look at the [Anaconda](https://store.continuum.io/cshop/anaconda/) Python distribution for scientific computing.\n",
|
|
"\n",
|
|
"Anaconda is distributed by Continuum Analytics, but it is completely free and includes more than 195+ packages for science and data analysis as of today.\n",
|
|
"The installation procedure is nicely summarized here: http://docs.continuum.io/anaconda/install.html\n",
|
|
"\n",
|
|
"If this is too much, the [Miniconda](http://conda.pydata.org/miniconda.html) might be right for you. Miniconda is basically just a Python distribution with the Conda package manager, which let's us install a list of Python packages into a specified `conda` environment from the Shell terminal, e.g.,\n",
|
|
"\n",
|
|
"<pre>$[bash]> conda create -n myenv python=3\n",
|
|
"$[bash]> source activate myenv\n",
|
|
"$[bash]> conda install -n myenv numpy scipy matplotlib scikit-learn</pre>\n",
|
|
"\n",
|
|
"When we start \"python\" in your current shell session now, it will use the Python distribution in the virtual environment \"myenv\" that we have just created. To un-attach the virtual environment, you can just use\n",
|
|
"<pre>$[bash]> source deactivate myenv</pre>\n",
|
|
"\n",
|
|
"**Note:** environments will be created in ROOT_DIR/envs by default, you can use the `-p` instead of the `-n` flag in the conda commands above in order to specify a custom path.\n",
|
|
"\n",
|
|
"**I find this procedure very convenient, especially if you are working with different distributions and versions of Python with different modules and packages installed and it is extremely useful for testing your own modules.**"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 2,
|
|
"metadata": {},
|
|
"source": [
|
|
"About the dataset"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"For the following tutorial, we will be working with the free \"Wine\" Dataset that is deposited on the UCI machine learning repository \n",
|
|
"(http://archive.ics.uci.edu/ml/datasets/Wine).\n",
|
|
"\n",
|
|
"<br>\n",
|
|
"\n",
|
|
"<font size=\"1\">\n",
|
|
"**Reference:**\n",
|
|
"Forina, M. et al, PARVUS - An Extendible Package for Data\n",
|
|
"Exploration, Classification and Correlation. Institute of Pharmaceutical\n",
|
|
"and Food Analysis and Technologies, Via Brigata Salerno, \n",
|
|
"16147 Genoa, Italy.</font>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The Wine dataset consists of 3 different classes where each row correspond to a particular wine sample.\n",
|
|
"\n",
|
|
"The class labels (1, 2, 3) are listed in the first column, and the columns 2-14 correspond to the following 13 attributes (features):\n",
|
|
"\n",
|
|
"1) Alcohol \n",
|
|
"2) Malic acid \n",
|
|
"3) Ash \n",
|
|
"4) Alcalinity of ash \n",
|
|
"5) Magnesium \n",
|
|
"6) Total phenols \n",
|
|
"7) Flavanoids \n",
|
|
"8) Nonflavanoid phenols \n",
|
|
"9) Proanthocyanins \n",
|
|
"10) Color intensity \n",
|
|
"11) Hue \n",
|
|
"12) OD280/OD315 of diluted wines \n",
|
|
"13) Proline \n",
|
|
"\n",
|
|
"An excerpt from the wine_data.csv dataset:\n",
|
|
" \n",
|
|
"<pre>1,14.23,1.71,2.43,15.6,127,2.8,3.06,.28,2.29,5.64,1.04,3.92,1065\n",
|
|
"1,13.2,1.78,2.14,11.2,100,2.65,2.76,.26,1.28,4.38,1.05,3.4,1050\n",
|
|
"[...]\n",
|
|
"2,12.37,.94,1.36,10.6,88,1.98,.57,.28,.42,1.95,1.05,1.82,520\n",
|
|
"2,12.33,1.1,2.28,16,101,2.05,1.09,.63,.41,3.27,1.25,1.67,680\n",
|
|
"[...]\n",
|
|
"3,12.86,1.35,2.32,18,122,1.51,1.25,.21,.94,4.1,.76,1.29,630\n",
|
|
"3,12.88,2.99,2.4,20,104,1.3,1.22,.24,.83,5.4,.74,1.42,530</pre>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 2,
|
|
"metadata": {},
|
|
"source": [
|
|
"Downloading and saving CSV data files from the web"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Usually, we have our data stored locally on our disk in as a common text (or CSV) file with comma-, tab-, or whitespace-separated rows. Below is just an example for how you can CSV datafile from a HTML website directly into Python and optionally save it locally."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"import csv\n",
|
|
"import urllib\n",
|
|
"\n",
|
|
"url = 'https://raw.githubusercontent.com/rasbt/pattern_classification/master/data/wine_data.csv'\n",
|
|
"csv_cont = urllib.request.urlopen(url)\n",
|
|
"csv_cont = csv_cont.read() #.decode('utf-8')\n",
|
|
"\n",
|
|
"# Optional: saving the data to your local drive\n",
|
|
"with open('./wine_data.csv', 'wb') as out:\n",
|
|
" out.write(csv_cont)"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 2
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"**Note:** If you'd rather like to work with the data directly in `str`ing format, you could just apply the `.decode('utf-8')` method to the data that was read in byte-format by default.\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 2,
|
|
"metadata": {},
|
|
"source": [
|
|
"Reading in a dataset from a CSV file"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Since it is quite typical to have the input data stored locally, as mentioned above, we will use the [`numpy.loadtxt`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html) function now to read in the data from the CSV file. \n",
|
|
"(alternatively [`np.genfromtxt()`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt.html) could be used in similar way, it provides some additional options)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"import numpy as np\n",
|
|
"\n",
|
|
"# reading in all data into a NumPy array\n",
|
|
"all_data = np.loadtxt(open(\"./wine_data.csv\",\"r\"),\n",
|
|
" delimiter=\",\", \n",
|
|
" skiprows=0, \n",
|
|
" dtype=np.float64\n",
|
|
" )\n",
|
|
"\n",
|
|
"# load class labels from column 1\n",
|
|
"y_wine = all_data[:,0]\n",
|
|
"\n",
|
|
"# conversion of the class labels to integer-type array\n",
|
|
"y_wine = y_wine.astype(np.int64, copy=False)\n",
|
|
"\n",
|
|
"# load the 14 features\n",
|
|
"X_wine = all_data[:,1:]\n",
|
|
"\n",
|
|
"# printing some general information about the data\n",
|
|
"print('\\ntotal number of samples (rows):', X_wine.shape[0])\n",
|
|
"print('total number of features (columns):', X_wine.shape[1])\n",
|
|
"\n",
|
|
"# printing the 1st wine sample\n",
|
|
"float_formatter = lambda x: '{:.2f}'.format(x)\n",
|
|
"np.set_printoptions(formatter={'float_kind':float_formatter})\n",
|
|
"print('\\n1st sample (i.e., 1st row):\\nClass label: {:d}\\n{:}\\n'\n",
|
|
" .format(int(y_wine[0]), X_wine[0]))\n",
|
|
"\n",
|
|
"# printing the rel.frequency of the class labels\n",
|
|
"print('Class label frequencies')\n",
|
|
"print('Class 1 samples: {:.2%}'.format(list(y_wine).count(1)/y_wine.shape[0]))\n",
|
|
"print('Class 2 samples: {:.2%}'.format(list(y_wine).count(2)/y_wine.shape[0]))\n",
|
|
"print('Class 3 samples: {:.2%}'.format(list(y_wine).count(3)/y_wine.shape[0]))"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"\n",
|
|
"total number of samples (rows): 178\n",
|
|
"total number of features (columns): 13\n",
|
|
"\n",
|
|
"1st sample (i.e., 1st row):\n",
|
|
"Class label: 1\n",
|
|
"[14.23 1.71 2.43 15.60 127.00 2.80 3.06 0.28 2.29 5.64 1.04 3.92 1065.00]\n",
|
|
"\n",
|
|
"Class label frequencies\n",
|
|
"Class 1 samples: 33.15%\n",
|
|
"Class 2 samples: 39.89%\n",
|
|
"Class 3 samples: 26.97%\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 3
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 2,
|
|
"metadata": {},
|
|
"source": [
|
|
"Visualizating of a dataset"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"There are endless way to visualize datasets for get an initial idea of how the data looks like. The most common ones are probably histograms and scatter plots."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 3,
|
|
"metadata": {},
|
|
"source": [
|
|
"Histograms"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Histograms are a useful data to explore the distribution of each feature across the different classes. This could provide us with intuitive insights which features have a good and not-so-good inter-class separation. Below, we will plot a sample histogram for the \"Alcohol content\" feature for the three wine classes."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"%matplotlib inline"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 4
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"from matplotlib import pyplot as plt\n",
|
|
"from math import floor, ceil # for rounding up and down\n",
|
|
"\n",
|
|
"plt.figure(figsize=(10,8))\n",
|
|
"\n",
|
|
"# bin width of the histogram in steps of 0.15\n",
|
|
"bins = np.arange(floor(min(X_wine[:,0])), ceil(max(X_wine[:,0])), 0.15)\n",
|
|
"\n",
|
|
"# get the max count for a particular bin for all classes combined\n",
|
|
"max_bin = max(np.histogram(X_wine[:,0], bins=bins)[0])\n",
|
|
"\n",
|
|
"# the order of the colors for each histogram\n",
|
|
"colors = ('blue', 'red', 'green')\n",
|
|
"\n",
|
|
"for label,color in zip(\n",
|
|
" range(1,4), colors):\n",
|
|
"\n",
|
|
" mean = np.mean(X_wine[:,0][y_wine == label]) # class sample mean\n",
|
|
" stdev = np.std(X_wine[:,0][y_wine == label]) # class standard deviation\n",
|
|
" plt.hist(X_wine[:,0][y_wine == label], \n",
|
|
" bins=bins, \n",
|
|
" alpha=0.3, # opacity level\n",
|
|
" label='class {} ($\\mu={:.2f}$, $\\sigma={:.2f}$)'.format(label, mean, stdev), \n",
|
|
" color=color)\n",
|
|
"\n",
|
|
"plt.ylim([0, max_bin*1.3])\n",
|
|
"plt.title('Wine data set - Distribution of alocohol contents')\n",
|
|
"plt.xlabel('alcohol by volume', fontsize=14)\n",
|
|
"plt.ylabel('count', fontsize=14)\n",
|
|
"plt.legend(loc='upper right')\n",
|
|
"\n",
|
|
"plt.show()"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"png": "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\ntc3lixczODc3rW02VMv+XshzBW+mtc3ff7yYnII2aW3z0+3b0tpebSne9gVvvrUwrW2u27ye11en\n9zUqKfsire1JUlUGtDQqKy5Oe/BZumABgy++OO1tKj2+pJTcs7LT2ubOOXvS3mbZnL1pba+27N1b\nTvbx56e1zTJe4uunp/d47vvg2Dieko5dDnFKkiSFjAFNkiQpZAxokiRJIWNAkyRJChkDmiRJUsgY\n0CRJkkLGgCZJkhQyBjRJkqSQMaBJkiSFjAFNkiQpZAxokiRJIWNAkyRJChkDmiRJUsgY0CRJkkLG\ngCZJkhQyBjRJkqSQMaBJkiSFjAFNkiQpZAxokiRJIWNAkyRJChkDmiRJUsg0rusCUvX555+ntb1W\nrVrRuPExs/uSJKkBOWYSyopp09LW1u7SUjpefjmnnnpq2trUsWHZ3wt5ruDNtLX36fZtaWtLx46v\nynbzt8XpO48Avtz2aYNts+zLL9LaHsCWzct44T+vT2ubH65eRJuTc9La5uKPf0+bgvS1me72AL7a\n9TdgcFrbzM+fTXFxWVrbXL16Baed1i2tbWZnN2Xo0IFpbTNVx0xA63fiiWlra/XmzZSXl6etPR07\nvqSU3LOy09Ze2Zy9aWtLx46M/fvp2Tp95xHAnH17G2yb8/fVxu9RKf3P65LWFpd88g7ZZ+Wmtc09\nc3amtc10twewtuDDtLYHUFxcRm5uekPfggVLufji9La5efPMtLZXE16DJkmSFDIGNEmSpJAxoEmS\nJIWMAU2SJClkDGiSJEkhY0CTJEkKGQOaJElSyBjQJEmSQsaAJkmSFDIGNEmSpJAxoEmSJIWMAU2S\nJClkDGiSJEkhY0CTJEkKGQOaJElSyBjQJEmSQsaAJkmSFDIGNEmSpJAxoEmSJIVMWALaZcDHwCfA\nj+u4lmPG/I8+qusSQsnjcrCdO/bUdQmhtGb9+rouIZQ8LomVflla1yWEzvz58+u6hHorDAGtEfAM\nQUjrBgwDzqzTio4RBpHEPC4H22VAS2jthg11XUIoeVwSM6AdzIBWe8IQ0M4H1gDrga+AV4Gr6rIg\nSZKkutS4rgsAcoGNcdObgN5VV3ooPz9tT1i6dy83ffvbaWtPkiQpnSJ1XQDwTwTDmz+MTt9IENB+\nFLfOGqDLUa5LkiTpcKwFuh5JA2HoQdsMnBw3fTJBL1q8I9pJSZIk1UxjgqTZCWgKfIA3CUiSJNW5\n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\nrA8xusMnb/cPHAAAAABJRU5ErkJggg==\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0x1056b3b00>"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 5
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 3,
|
|
"metadata": {},
|
|
"source": [
|
|
"Scatterplots"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Scatter plots are useful for visualizing features in more than just one dimension, for example to get a feeling for the correlation between particular features. \n",
|
|
"Unfortunately, we can't plot all 13 features here at once, since the visual cortex of us humans is limited to a maximum of three dimensions."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Below, we will create an example 2D-Scatter plot from the features \"Alcohol content\" and \"Malic acid content\". \n",
|
|
"Additionally, we will use the [`scipy.stats.pearsonr`](http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html) function to calculate a Pearson correlation coefficient between these two features.\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"from scipy.stats import pearsonr\n",
|
|
"\n",
|
|
"plt.figure(figsize=(10,8))\n",
|
|
"\n",
|
|
"for label,marker,color in zip(\n",
|
|
" range(1,4),('x', 'o', '^'),('blue', 'red', 'green')):\n",
|
|
"\n",
|
|
" # Calculate Pearson correlation coefficient\n",
|
|
" R = pearsonr(X_wine[:,0][y_wine == label], X_wine[:,1][y_wine == label])\n",
|
|
" plt.scatter(x=X_wine[:,0][y_wine == label], # x-axis: feat. from col. 1\n",
|
|
" y=X_wine[:,1][y_wine == label], # y-axis: feat. from col. 2\n",
|
|
" marker=marker, # data point symbol for the scatter plot\n",
|
|
" color=color,\n",
|
|
" alpha=0.7, \n",
|
|
" label='class {:}, R={:.2f}'.format(label, R[0]) # label for the legend\n",
|
|
" )\n",
|
|
" \n",
|
|
"plt.title('Wine Dataset')\n",
|
|
"plt.xlabel('alcohol by volume in percent')\n",
|
|
"plt.ylabel('malic acid in g/l')\n",
|
|
"plt.legend(loc='upper right')\n",
|
|
"\n",
|
|
"plt.show()"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAH4CAYAAACSZ0OSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8VfX9x/HXvdnjZhHDkgAWUZZKRSgKNVZ/FWdxoCJD\n1F9ba7WoiFAriqIdgtYfoJQKMmTJUlRcdaCMypA9NMgKJJA9bnZy7/n9cZKQSBJuQm5Oxvv5eNxH\n7tmfGyN55/v9nu8BEREREREREREREREREREREREREREREREREREREREREREREWnmBgPfW12EiIiI\nSHPwZ+Cjn6w7WMO6u7xcixvIBZxAGvB5Ha8ZBxxv+LIsu46IiIg0c1cCWYCtbLk9cARIAuyV1rmB\ndl6uxQ1cUPY+ChgJpADPenh8HApaIiIi0oT4A3lA37Llu4C3gHXAzyutiy97H0fVkHEUGAfswgxs\ny4CASttvBnYCmcBGoE8ttVQOWuXuAAqAyLLl+4H9QA5wCPhd2fqQsv1cmC1iOZjBsD/w37LrJwEz\nAL9K5/8nkAxkA7uBXmXrA4BpwDHgFDALCKzlOiIiIiLV+hJ4rOz9TMww8+JP1s0pex9H1aB1BPgW\nM2xEYoag35dt64sZYq7AbDEbXba/fw11VBe0/IAS4Pqy5RuBrmXvf0nVkHg1Z7Y0/RwzbNmBzmX1\njS3bdj2wDQgrW76I06Hpn8B7QAQQCrwP/LWW64iIiIhU6zlgddn7ncDPMENI+bpdwKiy93GcGbTu\nrbT8D8zWH8q+vvCTa32PGZCqU13QAjgJDK/hmHeBP9VQW3Ue4/Tn+hXwAzCA092kYIbC3J/UMhA4\nXIfriEgLYz/7LiIi1foGGITZInUeZpfcfzHHb0Vidqd9U8vxpyq9L8BsAQKzBWkcZrdd+et8zDFf\nnvIrqymjbPkGzBa09LLz3Qi0qeX47sCHmGEtG3ip0v5fYrbWvY7Z8jYbcJRdLxj4rlLdHwPRdahb\nRFoYBS0Rqa9vgXDgt5jjqMAce5SEOQYqCXOskqeMsq8JmMEmstIrFHinDuf6DVAKbMEcN7UKeBmI\nKTvfR5weyG9Uc/wszO7Cbpif8S9U/fdyBtAP6IkZysYDqZiBsWeluiM43cVY3XVEpIVT0BKR+irA\nHKv0BFVbrjaUrfu6jucrDz5vAg9hjpGyYQ4kv4nTLV61HRsFjMBscfo7ZquSf9krDbOb8Qbg15WO\nTcZsrQqrtC4Uc9B6PnAx8AdOB6V+mN2GfmXbCzEHuRtltb+G2boF0LHStaq7joiIiEiN/ooZMi6r\ntG5Y2brfVloXh9lSVe4I5lincs8BCystX4/ZGlV+19871By0Ks+jlQ58Adzzk30exuyqzCy7zhKq\njgObixnEMjAHtg8GDpSd8xvgeU6HyV9hjj9zYrZivY3ZZQhm69lLmN2o2ZitYo/Uch0RkXNyEbCj\n0iub0wNQRURERKSB2DEHlnayuhARERGRlubXmGM3RERERFqFxhwMfw/muAgRERGRVsF29l0ahD+Q\niHnbc2r5yp/97GfGoUOHGqkEERERkXNyCHPaF481VovWDZiT+KVWXnno0CEMw9CrEV/PPfec5TW0\ntpe+5/qet4aXvuf6nreGF+YTMOqksYLWcGBpI11LREREpElojKAVAlzH6eeEiYiIiLQKvo1wjTz0\nrK8mIy4uzuoSWh19zxufvueNT9/zxqfvefPQWIPha2KU9XmKiIiINGk2mw3qmJ0ao0VLRETEUlFR\nUWRmZlpdhjQTkZGRZGRkNMi51KIlIiItns1mQ79vxFM1/bzUp0WrMScsFREREWlVFLREREREvERB\nS0RERMRLFLREREREvERBS0REpAmaP38+gwcPtroMOUcKWiIiIsLMmTPp168fgYGB3H///XU6dsyY\nMQQEBOBwOIiKiuLaa69l3759DVLX0aNHueaaawgJCaFHjx588cUXte4/YcIEoqOjiY6OZuLEidXu\n8/XXX2O325k0aVKD1FgbBS0REZFquN2wfj2U3+XvdMJ331lbkzd17NiRSZMm8cADD9T5WJvNxoQJ\nE3A6nSQlJREbG1vnsFaT4cOHc/nll5ORkcFLL73EnXfeSVpaWrX7zp49mzVr1rB79252797NBx98\nwOzZs6vsU1JSwtixY/nFL35RPl2DVyloiYhIq5ScDMeOnV4+cADy8k4vFxTAqlUwf74ZsiZNgr17\nq57jp1Mt1WeqruPHj3P77bcTExNDdHQ0jz76aLX7jR07ltjYWMLDw+nXrx8bNmyo2LZlyxb69etH\neHg47dq1Y9y4cQAUFhYycuRIoqOjiYyMpH///qSkpFR7/ttuu43f/OY3tGnTpu4fopLAwECGDRvW\nIC1a8fHx7Nixg+eff56AgABuv/12LrnkElatWlXt/gsWLODJJ5+kQ4cOdOjQgSeffJL58+dX2eeV\nV15hyJAhXHTRRY0yt5qCloiItEqHD5vh6dgx2LkTXnoJEhNPbw8JgSlTYMMGuPdeuPRSGD266jne\nfBPKe7Kys+HppyE93fMaXC4XN998M127duXYsWMkJiYyfPjwavft378/u3btIjMzk3vvvZdhw4ZR\nXFwMmCHs8ccfJzs7m8OHD3P33XcDZvDIycnhxIkTZGRkMHv2bIKCgmqtqb7ho/y4vLw8li5dyoAB\nAyq2bdiwgcjIyBpfmzZtqvac+/bt44ILLiAkJKRi3aWXXlpjiNu/fz+XXnppxfIll1xSZd9jx44x\nb948Jk2a1GgT2OoRPCIi0ioNHAglJfDII+by3/8O3bvX7Rw33QR/+YsZsr78En7xC4iK8vz4LVu2\ncPLkSaZOnYrdbrZ9XHnlldXuO2LEiIr3TzzxBC+++CI//PADffr0wd/fn4MHD5KWlkZ0dDT9+/cH\nwN/fn/T0dA4ePEifPn3o27fvWWuqT3eaYRhMmzaNmTNnkpOTQ5cuXdi8eXPF9kGDBtXrEUi5ubmE\nh4dXWRcWFkZi5URcy/5hYWHk5uZWLP/pT3/ixRdfJCQkBJvNpq5DERERbwoLO/0+NLTqtrw8s8Vr\n0CBYsgR27YKFC6vu07EjPPUUzJtn7j9iBNTld/fx48fp3LlzRciqzbRp0+jZsycRERFERkaSnZ1d\nMVZp7ty5xMfH06NHD/r378/atWsBGDVqFNdffz333HMPHTt2ZMKECZSWltZ6nfq09NhsNsaPH09m\nZiZHjx4lICCAhT/9ZnmgV69eOBwOwsLC2LhxIw6Hg5ycnCr7ZGVlEVb5P1wloaGhVfbPzs4mtOw/\n7AcffEBubi7Dhg0DzM+prkMREREv2bULpk0zW7LGjzdDVULC6e1BQXDHHTBmDDgcZjdi795Vz5Gd\nDW+8YYYxwzBbteqiU6dOJCQk4HK5at1v/fr1TJ06lRUrVpCVlUVmZibh4eEVQaFbt24sWbKE1NRU\nJkyYwJ133klBQQG+vr48++yz7Nu3j02bNvHhhx+eNQDVt5WnvJZOnToxffp0pkyZUhF61q9fj8Ph\nqPG1ceNGwOwqdDqd5OTkcNVVV9GzZ08OHz5cpVVq165d9OrVq9oaevXqxc6dO6vs27vsP9qXX37J\ntm3baN++Pe3bt2f58uW89tpr3HbbbfX6vJ5S0BIRkVYpPNwcU9WrF/zyl/DHP5rjssrZ7TB48OkW\nKocDLr+86jkWLjS7C596yhzjtWxZ3cZoDRgwgPbt2zNx4kTy8/MpLCysdryS0+nE19eX6OhoiouL\neeGFF6q03CxatIjU1NSyzxWOzWbDbrfz1VdfsWfPHlwuFw6HAz8/P3x8fKqtxeVyUVhYSGlpKS6X\ni6KioioB0G63880331R77E9bhq677jq6devGrFmzABg8eDBOp7PG11VXXVXtebt3785ll13G888/\nT2FhIatXr2bv3r3ccccd1e4/evRoXn31VZKSkkhMTOTVV19lzJgxAEyZMoWDBw+ya9cudu7cya23\n3srvfvc75s2bV+25GoqCloiItEpdukDPnqeXBwyAut5w99BDp7sLO3Y0W7fqcg673c4HH3zAjz/+\nSGxsLJ06dWL58uUAVcYQDRkyhCFDhtC9e3e6dOlCUFAQsbGxFef59NNP6d27Nw6Hg8cff5xly5YR\nEBBAcnIyw4YNIzw8nJ49exIXF8eoUaOqrWXKlCkEBwfzj3/8g0WLFhEUFMRLL70EmF2cDoeDPn36\nVHtsdeOdxo8fz/Tp0ykpKfH8G1KNZcuWsW3bNqKiovjLX/7CqlWrKu6MLG8pK/f73/+eW265hT59\n+nDJJZdwyy238Lvf/Q4wuxVjYmKIiYmhbdu2BAUFERISQkRExDnVdzbeHwVWO6OxRv2LiEjrZbPZ\nGu0us5Zo8eLF7N+/vyJ4tXQ1/byUhck6ZScFLRERafEUtKQuGjJoqetQRERExEsUtERERES8REFL\nRERExEsUtERERES8REFLRERExEsUtERERES8REFLRERExEsUtERERJqg+fPnM3jwYKvLkHOkoCUi\nItLKFRcX8+CDD9KlSxfCwsLo27cvn3zyicfHjxkzhoCAABwOB1FRUVx77bXs27evQWo7evQo11xz\nDSEhIfTo0YMvvvii1v0nTJhAdHQ00dHRTJw4sWJ9amoqw4cPp2PHjkRERDBo0CC2bNnSIDXWRkFL\nRESkJmlp8PLL8Nhj5hOjKz1kuSUpLS0lNjaWb775hpycHF588UXuuusujh075tHxNpuNCRMm4HQ6\nSUpKIjY2lvvvv79Bahs+fDiXX345GRkZvPTSS9x5552kpaVVu+/s2bNZs2YNu3fvZvfu3XzwwQfM\nnj0bgNzcXAYMGMD27dvJzMzkvvvu46abbiIvL69B6qyJgpaIiLReO3bACy/A3/4GP/5YdVteHjz4\n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\n8ePAwIHaH05ERGoM1WiJ/VJTOV3YuHHt2o9PRESqFXWGFxEREbGIiuFFREREAogCLRERERGLKNAS\nERERsYgCLRERERGLKNASERERsYgCLRERERGLKNASERERsYgCLRERERGLKNASERERsYgCLRERERGL\nKNASERERsYgCLRERERGLKNASERERsYgCLRERERGLKNASERERsYgCLRERERGLKNASERERsYgCLRER\nERGLKNASERERsYgCLRERERGLKNASERERsYgCLRERERGLKNASERERsYgCLRERERGLKNASERERsYgC\nLRERERGLKNASERERsYgCLRERERGLKNASERERsYgCLRERERGLKNASERERsYgCLRERERGLKNASERER\nsYgCLRERERGLKNASERERsYgCLRERERGLKNASERERsYgCLRERERGLKNASERERsYjVgdb1AH4FsBvA\nsxYfS8ohISHB7iHUOjrn/qdz7n865/6nc149WBloBQOYCAZb5wIYAOAcC48n5aD/mP6nc+5/Ouf+\np3Pufzrn1YOVgdYlAH4DsA9AAYA5APpYeDwRERGRgGJloNUSwMEi1w+5bxMRERGpFRwWPvdt4LTh\nIPf1ewF0A/B4kfv8BqCDhWMQERER8ZU9ADpW5AEhFg0EAA4DaF3kemswq1VUhQYrIiIiIhQCRn5x\nAMIAbIaK4UVERER85gYAO8EpwhE2j0VERERERERERKRipgNIBbCtyG2NACwFsAvAdwAa2DCumszb\nOb8DwC8ACgH82Y5B1XDezvkbABIBbAHwOYD6NoyrJvN2zv8Lnu/NAJaheL2oVJ23c24aDsAF/n0X\n3/F2zkeDtc8/u7+u9/+warSSfs8fB/+mbwfwmr8HVZorAVyI4gN+HcC/3JefBfCqvwdVw3k752cD\n6ARgBRRoWcHbOe8FTyuVV6Hfc1/zds6ji1x+HMBUv46o5vN2zgEGtN8C2AsFWr7m7Zy/COApe4ZT\nK3g751eDCaJQ9/WYsp7En3sdrgZw8ozbbgHwofvyhwD6+nE8tYG3c/4rmEEUa3g750vBT/gAsA5A\nK7+OqObzds6zilyOApDmv+HUCt7OOQCMhefDs/hWSefcyjZNtZ23cz4EwCtgI3YAOFbWk9i9qXRT\nMC0H979NbRyLiD8MBLDY7kHUEvEADgB4AMoi+kMfcBprq90DqWUeB6fJp0HlN/5wFoCrAPwIIAHA\n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\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0x1059cba58>"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 6
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"If we want to pack 3 different features into one scatter plot at once, we can also do the same thing in 3D:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"from mpl_toolkits.mplot3d import Axes3D\n",
|
|
"\n",
|
|
"fig = plt.figure(figsize=(8,8))\n",
|
|
"ax = fig.add_subplot(111, projection='3d')\n",
|
|
" \n",
|
|
"for label,marker,color in zip(\n",
|
|
" range(1,4),('x', 'o', '^'),('blue','red','green')):\n",
|
|
" \n",
|
|
" ax.scatter(X_wine[:,0][y_wine == label], \n",
|
|
" X_wine[:,1][y_wine == label], \n",
|
|
" X_wine[:,2][y_wine == label], \n",
|
|
" marker=marker, \n",
|
|
" color=color, \n",
|
|
" s=40, \n",
|
|
" alpha=0.7,\n",
|
|
" label='class {}'.format(label))\n",
|
|
"\n",
|
|
"ax.set_xlabel('alcohol by volume in percent')\n",
|
|
"ax.set_ylabel('malic acid in g/l')\n",
|
|
"ax.set_zlabel('ash content in g/l')\n",
|
|
"\n",
|
|
"plt.title('Wine dataset')\n",
|
|
" \n",
|
|
"plt.show()"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"png": "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\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0x106e96b00>"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 7
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 2,
|
|
"metadata": {},
|
|
"source": [
|
|
"Splitting into training and test dataset "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"It is a typical procedure for machine learning and pattern classification tasks to split one dataset into two: a training dataset and a test dataset. \n",
|
|
"The training dataset is henceforth used to train our algorithms or classifier, and the test dataset is a way to validate the outcome quite objectively before we apply it to \"new, real world data\".\n",
|
|
"\n",
|
|
"Here, we will split the dataset randomly so that 70% of the total dataset will become our training dataset, and 30% will become our test dataset, respectively."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"from sklearn.cross_validation import train_test_split\n",
|
|
"from sklearn import preprocessing\n",
|
|
"\n",
|
|
"X_train, X_test, y_train, y_test = train_test_split(X_wine, y_wine,\n",
|
|
" test_size=0.30, random_state=123)"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 8
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Note that since this a random assignment, the original relative frequencies for each class label are not maintained."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"print('Class label frequencies')\n",
|
|
" \n",
|
|
"print('\\nTraining Dataset:') \n",
|
|
"for l in range(1,4):\n",
|
|
" print('Class {:} samples: {:.2%}'.format(l, list(y_train).count(l)/y_train.shape[0]))\n",
|
|
" \n",
|
|
"print('\\nTest Dataset:') \n",
|
|
"for l in range(1,4):\n",
|
|
" print('Class {:} samples: {:.2%}'.format(l, list(y_test).count(l)/y_test.shape[0]))"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"Class label frequencies\n",
|
|
"\n",
|
|
"Training Dataset:\n",
|
|
"Class 1 samples: 36.29%\n",
|
|
"Class 2 samples: 42.74%\n",
|
|
"Class 3 samples: 20.97%\n",
|
|
"\n",
|
|
"Test Dataset:\n",
|
|
"Class 1 samples: 25.93%\n",
|
|
"Class 2 samples: 33.33%\n",
|
|
"Class 3 samples: 40.74%\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 9
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 2,
|
|
"metadata": {},
|
|
"source": [
|
|
"Feature Scaling"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Another popular procedure is to standardize the data prior to fitting the model and other analyses so that the features will have the properties of a standard normal distribution with \n",
|
|
"\n",
|
|
"$\\mu = 0$ and $\\sigma = 1$\n",
|
|
"\n",
|
|
"where $\\mu$ is the mean (average) and $\\sigma$ is the standard deviation from the mean, so that the standard scores of the samples are calculated as follows:\n",
|
|
"\n",
|
|
"\\begin{equation} z = \\frac{x - \\mu}{\\sigma}\\end{equation} "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"std_scale = preprocessing.StandardScaler().fit(X_train)\n",
|
|
"X_train = std_scale.transform(X_train)\n",
|
|
"X_test = std_scale.transform(X_test)"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 10
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"f, ax = plt.subplots(1, 2, sharex=True, sharey=True, figsize=(10,5))\n",
|
|
"\n",
|
|
"for a,x_dat, y_lab in zip(ax, (X_train, X_test), (y_train, y_test)):\n",
|
|
"\n",
|
|
" for label,marker,color in zip(\n",
|
|
" range(1,4),('x', 'o', '^'),('blue','red','green')):\n",
|
|
"\n",
|
|
" a.scatter(x=x_dat[:,0][y_lab == label], \n",
|
|
" y=x_dat[:,1][y_lab == label], \n",
|
|
" marker=marker, \n",
|
|
" color=color, \n",
|
|
" alpha=0.7, \n",
|
|
" label='class {}'.format(label)\n",
|
|
" )\n",
|
|
"\n",
|
|
" a.legend(loc='upper right')\n",
|
|
"\n",
|
|
"ax[0].set_title('Training Dataset')\n",
|
|
"ax[1].set_title('Test Dataset')\n",
|
|
"f.text(0.5, 0.04, 'malic acid (standardized)', ha='center', va='center')\n",
|
|
"f.text(0.08, 0.5, 'alcohol (standardized)', ha='center', va='center', rotation='vertical')\n",
|
|
"\n",
|
|
"plt.show()"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"png": "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\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0x106fe0c50>"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 11
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<a id=\"PCA\"></a>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 2,
|
|
"metadata": {},
|
|
"source": [
|
|
"Linear Transformation: Principal Component Analysis (PCA)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The main purposes of a principal component analysis are the analysis of data to identify patterns and finding patterns to reduce the dimensions of the dataset with minimal loss of information.\n",
|
|
"\n",
|
|
"Here, our desired outcome of the principal component analysis is to project a feature space (our dataset consisting of n x d-dimensional samples) onto a smaller subspace that represents our data \"well\". A possible application would be a pattern classification task, where we want to reduce the computational costs and the error of parameter estimation by reducing the number of dimensions of our feature space by extracting a subspace that describes our data \"best\".\n",
|
|
"\n",
|
|
"If you are interested in the Principal Component Analysis in more detail, I have outlined the procedure in a separate article \n",
|
|
"[\"Implementing a Principal Component Analysis (PCA) in Python step by step](http://sebastianraschka.com/Articles/2014_pca_step_by_step.html)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Here, we will use the [`sklearn.decomposition.PCA`](http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html) to transform our training data onto 2 dimensional subspace:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"from sklearn.decomposition import PCA\n",
|
|
"sklearn_pca = PCA(n_components=2) # number of components to keep\n",
|
|
"sklearn_transf = sklearn_pca.fit_transform(X_train)\n",
|
|
"\n",
|
|
"plt.figure(figsize=(10,8))\n",
|
|
"\n",
|
|
"for label,marker,color in zip(\n",
|
|
" range(1,4),('x', 'o', '^'),('blue', 'red', 'green')):\n",
|
|
"\n",
|
|
" plt.scatter(x=sklearn_transf[:,0][y_train == label],\n",
|
|
" y=sklearn_transf[:,1][y_train == label], \n",
|
|
" marker=marker, \n",
|
|
" color=color,\n",
|
|
" alpha=0.7, \n",
|
|
" label='class {}'.format(label)\n",
|
|
" )\n",
|
|
"\n",
|
|
"plt.xlabel('vector 1')\n",
|
|
"plt.ylabel('vector 2')\n",
|
|
"\n",
|
|
"plt.legend()\n",
|
|
"plt.title('Most significant singular vectors after linear transformation via PCA')\n",
|
|
"\n",
|
|
"plt.show()"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"png": "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\nswFISkrC4XDgdDpZuHAha9asweVykZiYSFRUFBEREbXG4nK5KCsro7KyEpfLxf79+xtMCBtLiZeI\niEgHdfLJlkxVOeecg5sb6+NwwD33+JoXTzjBOug3po+X0+nknXfeYdOmTaSmptK7d29efvll7/od\nB6pPQ4cOZejQofTv35++ffsSFxdHamrqgfV89NFHHH/88SQmJjJu3DgWLFhATEwMe/bsYfjw4SQl\nJXHssccyZMgQxowZU2ss9957L/Hx8fznP/9h7ty5xMXFcd999wX+ZgLQcrW04PC0ZDuriIhIR+Bw\nOFq031JHU9f+9CaJ9eZWqniJiIiIhIgSLxEREZEQUeIlIiIiEiJKvERERERCRImXiIiISIgo8RIR\nEREJESVeIiIiIiGixEtEREQkRJR4iYiISKs0Z84czjrrrHCHEVRKvERERKTDKy8v59prr6Vv3750\n7tyZU045hQ8//DDo24kM+hpFRESk/di6FebMgcJCOP98OO88m6SxnamsrCQ1NZXFixeTmprKe++9\nxx//+EfWrFlDnz59grYdVbxEREQ6Ko8HPvsMJk2CqVNhz57qz+/cCWPHwvvvw9KlcPvt8MYbB6+n\nogJ274aysiaFsWPHDi677DK6d+9OSkoKN910U62vu+WWW0hNTSUpKYmBAweyZMmSA8+lpaUxcOBA\nkpKS6NGjB+PHjwegrKyMK6+8kpSUFJKTkxk0aBBZWVkHrTs+Pp677rrrwMTbF154If369eO7775r\n0nuqixIvERGRjurVV2HCBPjkE5g715Ks3Fzf859/bpWuQw+Frl0hKQmee676On74AS68EC65BH77\nW/jii0aF4HK5GDZsGP369WPbtm1kZmYycuTIWl87aNAgVq9eTV5eHqNGjWL48OGUl5cDlpSNGzeO\ngoICNm/ezBVXXAHAc889R2FhIRkZGeTm5jJr1izi4uIajGvPnj1s3LiR4447rlHvpyFKvERERDqq\np56CLl0gJQV69oSsLFi8OPDlKyrg//0/KC2F7t0hOtqqYtnZAa8iLS2NXbt2MWXKFOLi4oiJiWHw\n4MG1vnb06NEkJyfjdDq59dZb2b9/Pxs2bAAgOjqa9PR0cnJyiI+PZ9CgQQce37t3L+np6TgcDk45\n5RQSExMbeFsVjB49mrFjx9K/f/+A30sglHiJiIh0VG43OJ0HP1blnHOsyrVnj1XCCgrg6qt9z+/d\n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\nSQ4ej4fF2xazLX8bfbr0CSiG008/nZ49e3Lbbbdx991343Q6+e677w5qbiwqKiIyMpKUlBTKy8t5\n8MEHKSwsPPD83LlzOf/88znkkENISkrC4XDgdDpZuHAhKSkpHHvssSQmJhIVFUVERMRBcWRnZ/PZ\nZ59x0UUXERsby6effsorr7zCp59+GtD7CJQSLxGRVu7Unqdyas/gdvAVAbj713c3a/nYyFimDp1K\nhbviwGMOHPRM7BnwOpxOJ++88w4333wzqampOBwORo8ezeDBg3E4HFWjwTN06FCGDh1K//79SUhI\nYNy4caSmph5Yz0cffcT48eMpKSmhb9++LFiwgJiYGPbs2cMNN9xARkYGnTp1YsSIEYwZM+agOBwO\nBzNnzuSGG27A4/HQv39/XnjhBU477bRm7KGDacogERGRdk5TBgWXpgwSERERaQOUeImIiIiEiBIv\nERERkRBR4iUiIiISIkq8REREREJEiZeIiIhIiGgcLxERkXYuOTn5wHhY0nzJyclNXra1fwoax0tE\nRETaBI3jJSIiItKKKPESERERCRElXiIiIiIhosRLREREJESUeImIiIiEiBIvERERkRBR4iUiIiIS\nIkq8REREgujZlc+SVZwV7jCklVLiJSIiEiRrs9Yy5espPLvy2XCHIq2UEi8REZEgmbl8JglRCby+\n/nV279sd7nCkFVLiJSIiEgRrs9ayNGMp3Tt1x+Px8Nyq58IdkrRCSrxERESCYObymex37Wdf+T6i\nIqJ4ad1LqnrJQSLDHYCIiEh70CW2C2ccfsaB+xHOCArKCujRqUcYo5LWpt4ZtFsBj8fjCXcMIiIi\nIg1yOBzQQG6lpkYRERGREFHiJSIiIhIiSrxERKTD+W7Xd7y67tVwhyEdkDrXi4hIh+L2uLn/y/vZ\nUbiDc444h65xXcMdknQgqniJiEiHsmT7Erblb8PtcTN/zfxwhyMdjBIvERHpMNweN48tfYy4qDi6\nxnXlxTUvkluaG+6wpANR4iUiIh3Gku1L+DH7R9weN8XlxeSX5avqJSGlPl4iItJheDwehh49tNpj\niTGJYYpGOiINoCoiIiISBBpAVURERKQVUeIlIiIiEiJKvERERERCRImXiIiISIgo8RIREREJESVe\nIiIiIiGixEtEREQkRJR4iYiIiISIEi8RERGREFHiJSIiEibF5cVohpaORYmXiIhIGFS6Kxn75lje\n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\nAABJRU5ErkJggg==\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0x106fe0780>"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 12
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 4,
|
|
"metadata": {},
|
|
"source": [
|
|
"PCA for feature extraction"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"As mentioned in the short introduction above (and in more detail in my separate [PCA article](http://sebastianraschka.com/Articles/2014_pca_step_by_step.html)), PCA is commonly used in the field of pattern classification for feature selection (or dimensionality reduction). \n",
|
|
"By default, the transformed data will be ordered by the components with the maximum variance (in descending order). \n",
|
|
"\n",
|
|
"In the example above, I only kept the top 2 components (the 2 components with the maximum variance along the axes): The sample space of projected onto a 2-dimensional subspace, which was basically sufficient for plotting the data onto a 2D scatter plot.\n",
|
|
"\n",
|
|
"However, if we want to use PCA for feature selection, we probably don't want to reduce the dimensionality that drastically. By default, the `PCA` function (`PCA(n_components=None)`) keeps all the components in ranked order. So we could basically either set the number `n_components` to a smaller size then the input dataset, or we could extract the top **n** components later from the returned NumPy array.\n",
|
|
"\n",
|
|
"To get an idea about how well each components (relatively) \"explains\" the variance, we can use `explained_variance_ratio_` instant method, which also confirms that the components are ordered from most explanatory to least explanatory (the ratios sum up to 1.0)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"sklearn_pca = PCA(n_components=None)\n",
|
|
"sklearn_transf = sklearn_pca.fit_transform(X_train)\n",
|
|
"sklearn_pca.explained_variance_ratio_"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"metadata": {},
|
|
"output_type": "pyout",
|
|
"prompt_number": 13,
|
|
"text": [
|
|
"array([0.36, 0.21, 0.10, 0.08, 0.06, 0.05, 0.04, 0.03, 0.02, 0.02, 0.01,\n",
|
|
" 0.01, 0.01])"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 13
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<a id='MDA'></a>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 2,
|
|
"metadata": {},
|
|
"source": [
|
|
"Linear Transformation: Multiple Discriminant Analysis (MDA)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The main purposes of a Multiple Discriminant Analysis is to analyze the data to identify patterns to project it onto a subspace that yields a better separation of the classes. Also, the dimensionality of the dataset shall be reduced with minimal loss of information.\n",
|
|
"\n",
|
|
"**The approach is very similar to a Principal Component Analysis (PCA), but in addition to finding the component axes that maximize the variance of our data, we are additionally interested in the axes that maximize the separation of our classes (e.g., in a supervised pattern classification problem)**\n",
|
|
"\n",
|
|
"Here, our desired outcome of the multiple discriminant analysis is to project a feature space (our dataset consisting of n d-dimensional samples) onto a smaller subspace that represents our data \"well\" and has a good class separation. A possible application would be a pattern classification task, where we want to reduce the computational costs and the error of parameter estimation by reducing the number of dimensions of our feature space by extracting a subspace that describes our data \"best\"."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 4,
|
|
"metadata": {},
|
|
"source": [
|
|
"Principal Component Analysis (PCA) Vs. Multiple Discriminant Analysis (MDA)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Both Multiple Discriminant Analysis (MDA) and Principal Component Analysis (PCA) are linear transformation methods and closely related to each other. In PCA, we are interested to find the directions (components) that maximize the variance in our dataset, where in MDA, we are additionally interested to find the directions that maximize the separation (or discrimination) between different classes (for example, in pattern classification problems where our dataset consists of multiple classes. In contrast two PCA, which ignores the class labels).\n",
|
|
"\n",
|
|
"**In other words, via PCA, we are projecting the entire set of data (without class labels) onto a different subspace, and in MDA, we are trying to determine a suitable subspace to distinguish between patterns that belong to different classes. Or, roughly speaking in PCA we are trying to find the axes with maximum variances where the data is most spread (within a class, since PCA treats the whole data set as one class), and in MDA we are additionally maximizing the spread between classes.**\n",
|
|
"\n",
|
|
"In typical pattern recognition problems, a PCA is often followed by an MDA."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"![](../Images/mda_overview.png)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"If you are interested, you can find more information about the MDA in my IPython notebook \n",
|
|
"[Stepping through a Multiple Discriminant Analysis - using Python's NumPy and matplotlib](http://nbviewer.ipython.org/github/rasbt/pattern_classification/blob/master/dimensionality_reduction/projection/multiple_discriminant_analysis.ipynb?create=1)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Like we did in the PCA section above, we will use a `scikit-learn` funcion, [`sklearn.lda.LDA`](http://scikit-learn.org/stable/modules/generated/sklearn.lda.LDA.html) in order to transform our training data onto 2 dimensional subspace, where MDA is basically the more generalized form of an LDA (Linear Discriminant Analysis):"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"from sklearn.lda import LDA\n",
|
|
"sklearn_lda = LDA(n_components=2)\n",
|
|
"transf_lda = sklearn_lda.fit_transform(X_train, y_train)\n",
|
|
"\n",
|
|
"plt.figure(figsize=(10,8))\n",
|
|
"\n",
|
|
"for label,marker,color in zip(\n",
|
|
" range(1,4),('x', 'o', '^'),('blue', 'red', 'green')):\n",
|
|
"\n",
|
|
"\n",
|
|
" plt.scatter(x=transf_lda[:,0][y_train == label],\n",
|
|
" y=transf_lda[:,1][y_train == label], \n",
|
|
" marker=marker, \n",
|
|
" color=color,\n",
|
|
" alpha=0.7, \n",
|
|
" label='class {}'.format(label)\n",
|
|
" )\n",
|
|
"\n",
|
|
"plt.xlabel('vector 1')\n",
|
|
"plt.ylabel('vector 2')\n",
|
|
"\n",
|
|
"plt.legend()\n",
|
|
"plt.title('Most significant singular vectors after linear transformation via LDA')\n",
|
|
"\n",
|
|
"plt.show()"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"metadata": {},
|
|
"output_type": "display_data",
|
|
"png": "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\n",
|
|
"text": [
|
|
"<matplotlib.figure.Figure at 0x107d32e80>"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 14
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 4,
|
|
"metadata": {},
|
|
"source": [
|
|
"MDA for feature extraction"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"If we want to use MDA for projecting our data onto a smaller subspace (i.e., for dimensionality reduction), we can directly set the number of components to keep via `LDA(n_components=...)`; this is analogous to the [PCA function](#PCA-for-feature-extraction), which we have seen above.\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 2,
|
|
"metadata": {},
|
|
"source": [
|
|
"Simple Supervised Classification"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 3,
|
|
"metadata": {},
|
|
"source": [
|
|
"Linear Discriminant Analysis as simple linear classifier"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The LDA that we've just used in the section above can also be used as a simple linear classifier."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"# fit model\n",
|
|
"lda_clf = LDA()\n",
|
|
"lda_clf.fit(X_train, y_train)\n",
|
|
"LDA(n_components=None, priors=None)\n",
|
|
"\n",
|
|
"# prediction\n",
|
|
"print('1st sample from test dataset classified as:', lda_clf.predict(X_test[0,:]))\n",
|
|
"print('actual class label:', y_test[0])"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"1st sample from test dataset classified as: [3]\n",
|
|
"actual class label: 3\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 15
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Another handy subpackage of sklearn is `metrics`. The [`metrics.accuracy_score`](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.accuracy_score.html), for example, is quite useful to evaluate how many samples can be classified correctly:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"from sklearn import metrics\n",
|
|
"pred_train_lda = lda_clf.predict(X_train)\n",
|
|
"\n",
|
|
"print('Prediction accuracy for the training dataset')\n",
|
|
"print('{:.2%}'.format(metrics.accuracy_score(y_train, pred_train_lda)))"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"Prediction accuracy for the training dataset\n",
|
|
"100.00%\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 17
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"To verify that over model was not overfitted to the training dataset, let us evaluate the classifier's accuracy on the test dataset:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"pred_test_lda = lda_clf.predict(X_test)\n",
|
|
"\n",
|
|
"print('Prediction accuracy for the test dataset')\n",
|
|
"print('{:.2%}'.format(metrics.accuracy_score(y_test, pred_test_lda)))"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"Prediction accuracy for the test dataset\n",
|
|
"98.15%\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 18
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"**Confusion Matrix** \n",
|
|
"As we can see above, there was a very low misclassification rate when we'd apply the classifier on the test data set. A confusion matrix can tell us in more detail which particular classes could not classified correctly.\n",
|
|
"\n",
|
|
"<table cellspacing=\"0\" border=\"0\">\n",
|
|
"\t<colgroup width=\"60\"></colgroup>\n",
|
|
"\t<colgroup span=\"4\" width=\"82\"></colgroup>\n",
|
|
"\t<tr>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" colspan=2 rowspan=2 height=\"44\" align=\"center\" bgcolor=\"#FFFFFF\"><b><font face=\"Helvetica\" size=4><br></font></b></td>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" colspan=3 align=\"center\" bgcolor=\"#FFFFFF\"><b><font face=\"Helvetica\" size=4>predicted class</font></b></td>\n",
|
|
"\t\t</tr>\n",
|
|
"\t<tr>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#EEEEEE\"><font face=\"Helvetica\" size=4>class 1</font></td>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#EEEEEE\"><font face=\"Helvetica\" size=4>class 2</font></td>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#EEEEEE\"><font face=\"Helvetica\" size=4>class 3</font></td>\n",
|
|
"\t</tr>\n",
|
|
"\t<tr>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" rowspan=3 height=\"116\" align=\"center\" bgcolor=\"#F6F6F6\"><b><font face=\"Helvetica\" size=4>actual class</font></b></td>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#EEEEEE\"><font face=\"Helvetica\" size=4>class 1</font></td>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#99FFCC\"><font face=\"Helvetica\" size=4>True positives</font></td>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#F6F6F6\"><font face=\"Helvetica\" size=4><br></font></td>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#F6F6F6\"><font face=\"Helvetica\" size=4><br></font></td>\n",
|
|
"\t</tr>\n",
|
|
"\t<tr>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#EEEEEE\"><font face=\"Helvetica\" size=4>class 2</font></td>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#FFFFFF\"><font face=\"Helvetica\" size=4><br></font></td>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#99FFCC\"><font face=\"Helvetica\" size=4>True positives</font></td>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#FFFFFF\"><font face=\"Helvetica\" size=4><br></font></td>\n",
|
|
"\t</tr>\n",
|
|
"\t<tr>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#EEEEEE\"><font face=\"Helvetica\" size=4>class 3</font></td>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#F6F6F6\"><font face=\"Helvetica\" size=4><br></font></td>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#F6F6F6\"><font face=\"Helvetica\" size=4><br></font></td>\n",
|
|
"\t\t<td style=\"border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; border-left: 1px solid #c1c1c1; border-right: 1px solid #c1c1c1\" align=\"left\" bgcolor=\"#99FFCC\"><font face=\"Helvetica\" size=4>True positives</font></td>\n",
|
|
"\t</tr>\n",
|
|
"</table>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"print('Confusion Matrix of the LDA-classifier')\n",
|
|
"print(metrics.confusion_matrix(y_test, lda_clf.predict(X_test)))"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"Confusion Matrix of the LDA-classifier\n",
|
|
"[[14 0 0]\n",
|
|
" [ 1 17 0]\n",
|
|
" [ 0 0 22]]\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 19
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"As we can see, one sample from class 2 was incorrectly labeled as class 1, from the perspective of class 1, this would be 1 \"False Negative\" or a \"False Postive\" from the perspective of class 2, respectively"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<a id='SGD'></a>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 3,
|
|
"metadata": {},
|
|
"source": [
|
|
"Classification Stochastic Gradient Descent (SGD)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Let us now compare the classification accuracy of the LDA classifier with a simple classification (we also use the probably not ideal default settings here) via stochastic gradient descent, an algorithm that minimizes a linear objective function. \n",
|
|
"More information about the `sklearn.linear_model.SGDClassifier` can be found [here](http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDClassifier.html)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"from sklearn.linear_model import SGDClassifier\n",
|
|
"\n",
|
|
"sgd_clf = SGDClassifier()\n",
|
|
"sgd_clf.fit(X_train, y_train)\n",
|
|
"\n",
|
|
"pred_train_sgd = sgd_clf.predict(X_train)\n",
|
|
"pred_test_sgd = sgd_clf.predict(X_test)\n",
|
|
"\n",
|
|
"print('\\nPrediction accuracy for the training dataset')\n",
|
|
"print('{:.2%}\\n'.format(metrics.accuracy_score(y_train, pred_train_sgd)))\n",
|
|
"\n",
|
|
"print('Prediction accuracy for the test dataset')\n",
|
|
"print('{:.2%}\\n'.format(metrics.accuracy_score(y_test, pred_test_sgd)))\n",
|
|
"\n",
|
|
"print('Confusion Matrix of the SGD-classifier')\n",
|
|
"print(metrics.confusion_matrix(y_test, sgd_clf.predict(X_test)))"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"\n",
|
|
"Prediction accuracy for the training dataset\n",
|
|
"99.19%\n",
|
|
"\n",
|
|
"Prediction accuracy for the test dataset\n",
|
|
"100.00%\n",
|
|
"\n",
|
|
"Confusion Matrix of the SGD-classifier\n",
|
|
"[[14 0 0]\n",
|
|
" [ 0 18 0]\n",
|
|
" [ 0 0 22]]\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 22
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Quite impressively, we achieved a 100% prediction accuracy on the test dataset without any additional efforts of tweaking any parameters and settings."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 3,
|
|
"metadata": {},
|
|
"source": [
|
|
"Decision Regions"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"sgd_clf2 = SGDClassifier()\n",
|
|
"sgd_clf2.fit(X_train[:, :2], y_train)\n",
|
|
"\n",
|
|
"x_min = X_test[:, 0].min() \n",
|
|
"x_max = X_test[:, 0].max() \n",
|
|
"y_min = X_test[:, 1].min() \n",
|
|
"y_max = X_test[:, 1].max() \n",
|
|
"\n",
|
|
"step = 0.01\n",
|
|
"X, Y = np.meshgrid(np.arange(x_min, x_max, step), np.arange(y_min, y_max, step))\n",
|
|
"\n",
|
|
"Z = sgd_clf2.predict(np.c_[X.ravel(), Y.ravel()])\n",
|
|
"Z = Z.reshape(X.shape)\n",
|
|
"\n",
|
|
"# Plots decision regions\n",
|
|
"plt.contourf(X, Y, Z)\n",
|
|
"\n",
|
|
"\n",
|
|
"# Plots samples from training data set\n",
|
|
"plt.scatter(X_train[:, 0], X_train[:, 1], c=y_train)\n",
|
|
"plt.show()"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": []
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>\n",
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 2,
|
|
"metadata": {},
|
|
"source": [
|
|
"Saving the processed datasets"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 3,
|
|
"metadata": {},
|
|
"source": [
|
|
"Pickle"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The in-built [`pickle`](https://docs.python.org/3.4/library/pickle.html) module is a convenient tool in Python's standard library to save Python objects in byte format. This allows us, for example, to save our NumPy arrays and classifiers so that we can load them in a later or different Python session to continue working with our data, e.g., to train a classifier."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"# export objects via pickle\n",
|
|
"\n",
|
|
"import pickle\n",
|
|
"\n",
|
|
"pickle_out = open('standardized_data.pkl', 'wb')\n",
|
|
"pickle.dump([X_train, X_test, y_train, y_test], pickle_out)\n",
|
|
"pickle_out.close()\n",
|
|
"\n",
|
|
"pickle_out = open('classifiers.pkl', 'wb')\n",
|
|
"pickle.dump([lda_clf, sgd_clf], pickle_out)\n",
|
|
"pickle_out.close()"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 24
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"# import objects via pickle\n",
|
|
"\n",
|
|
"my_object_file = open('standardized_data.pkl', 'rb')\n",
|
|
"X_train, X_test, y_train, y_test = pickle.load(my_object_file)\n",
|
|
"my_object_file.close()\n",
|
|
"\n",
|
|
"my_object_file = open('classifiers.pkl', 'rb')\n",
|
|
"lda_clf, sgd_clf = pickle.load(my_object_file)\n",
|
|
"my_object_file.close()\n",
|
|
"\n",
|
|
"print('Confusion Matrix of the SGD-classifier')\n",
|
|
"print(metrics.confusion_matrix(y_test, sgd_clf.predict(X_test)))"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"output_type": "stream",
|
|
"stream": "stdout",
|
|
"text": [
|
|
"Confusion Matrix of the SGD-classifier\n",
|
|
"[[14 0 0]\n",
|
|
" [ 0 18 0]\n",
|
|
" [ 0 0 22]]\n"
|
|
]
|
|
}
|
|
],
|
|
"prompt_number": 26
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<br>"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "heading",
|
|
"level": 3,
|
|
"metadata": {},
|
|
"source": [
|
|
"Comma-Separated-Values"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"[[back to top]](#Sections)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"And it is also always a good idea to save your data in common text formats, such as the CSV format that we started with. But first, let us add back the class labels to the front column of the test and training data sets."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"training_data = np.hstack((y_train.reshape(y_train.shape[0], 1), X_train))\n",
|
|
"test_data = np.hstack((y_test.reshape(y_test.shape[0], 1), X_test))"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 21
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Now, we can save our test and training datasets as 2 separate CSV files using the [`numpy.savetxt`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html) function."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"collapsed": false,
|
|
"input": [
|
|
"np.savetxt('./training_set.csv', training_data, delimiter=',')\n",
|
|
"np.savetxt('./test_set.csv', test_data, delimiter=',')"
|
|
],
|
|
"language": "python",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"prompt_number": 22
|
|
}
|
|
],
|
|
"metadata": {}
|
|
}
|
|
]
|
|
} |