{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "import pandas as pd\n", "import numpy as np\n", "import scipy.stats\n", "from sklearn import datasets\n", "from sklearn.decomposition import FactorAnalysis\n", "from sklearn.decomposition import PCA\n", "from sklearn.decomposition import KernelPCA\n", "%pylab inline\n", "\n", "import warnings\n", "warnings.filterwarnings(\"ignore\", category=DeprecationWarning) # annoying pandas bug" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Principal Components Analysis\n", "** Helpful explanations: http://flowingmotion.jojordan.org/2011/12/04/down-to-earth-principal-components-analysis-in-5-steps/ **\n", "\n", "## 1. Normalize Data" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# plants data with 4 dimensions: sepal length, sepal width, petal length, petal width\n", "iris = datasets.load_iris()\n", "X = iris.data\n", "y = iris.target\n", "features = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']\n", "raw = pd.DataFrame(list(X), columns=features)\n", "raw['class'] = y\n", "print 'Raw dataset:'\n", "print raw[:5]\n", "\n", "# normalize each feature/column to mean = 0, std = 1\n", "normed = raw.copy()\n", "for col in features:\n", " normed[col] = normed[col].apply(lambda x: (x - normed[col].mean()) / normed[col].std())\n", "print '\\nNormalized dataset:'\n", "print normed[:5]\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Raw dataset:\n", " sepal_length sepal_width petal_length petal_width class\n", "0 5.1 3.5 1.4 0.2 0\n", "1 4.9 3.0 1.4 0.2 0\n", "2 4.7 3.2 1.3 0.2 0\n", "3 4.6 3.1 1.5 0.2 0\n", "4 5.0 3.6 1.4 0.2 0\n", "\n", "Normalized dataset:" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", " sepal_length sepal_width petal_length petal_width class\n", "0 -0.897674 1.028611 -1.336794 -1.308593 0\n", "1 -1.139200 -0.124540 -1.336794 -1.308593 0\n", "2 -1.380727 0.336720 -1.393470 -1.308593 0\n", "3 -1.501490 0.106090 -1.280118 -1.308593 0\n", "4 -1.018437 1.259242 -1.336794 -1.308593 0\n" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Compute Covariance Matrix\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# since our data is already normalized, cov(x1, x2) = sum(x1*x2) / num_observations\n", "cov_df = pd.DataFrame(index=features)\n", "for colA in features:\n", " column = []\n", " for colB in features:\n", " cov = normed[colA].cov(normed[colB])\n", " column.append(cov)\n", " cov_df[colA] = column\n", "\n", "# we lose a little bit to rounding errors in normalization\n", "print 'Covariance matrix:'\n", "print cov_df" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Covariance matrix:\n", " sepal_length sepal_width petal_length petal_width\n", "sepal_length 1.000000 -0.109369 0.871754 0.817954\n", "sepal_width -0.109369 1.000000 -0.420516 -0.356544\n", "petal_length 0.871754 -0.420516 1.000000 0.962757\n", "petal_width 0.817954 -0.356544 0.962757 1.000000\n" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Singular Value Decomposition (SVD)\n", "\n", "** [U]: Rows are the original features and columns are the PCA 'components'. Each cell gives the 'loading' of the feature on the corresponding component. **\n", "\n", "** [S]: Represents how much variance is explained by each component. **\n", "\n", "(I need more practice with linear algebra, so I'll admit some of this feels a little bit like magic to me.)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# use numpy's SVD implementation\n", "u, s, v = scipy.linalg.svd(cov_df)\n", "print 'U: (feature loading for each component)'\n", "print pd.DataFrame(u, index=features)\n", "\n", "print '\\nExplained variance:\\n', s\n", "\n", "# now reduce the data down to two components\n", "# the loading is essentially the weight of each original feature in the bundle\n", "scores = {}\n", "for component in xrange(4):\n", " reduced = normed.apply(lambda row: \n", " row[features[0]]*u[0][component] +\n", " row[features[1]]*u[1][component] +\n", " row[features[2]]*u[2][component] +\n", " row[features[3]]*u[3][component], axis=1)\n", " scores[component] = reduced\n", "scores = pd.DataFrame(scores)\n", "print '\\nFirst few reduced data points:\\n', scores.head()\n", "plt.scatter(scores[0], scores[1], c=y)\n", "plt.xlabel('Component 1')\n", "plt.ylabel('Component 2')\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "U: (feature loading for each component)\n", " 0 1 2 3\n", "sepal_length -0.522372 -0.372318 0.721017 0.261996\n", "sepal_width 0.263355 -0.925556 -0.242033 -0.124135\n", "petal_length -0.581254 -0.021095 -0.140892 -0.801154\n", "petal_width -0.565611 -0.065416 -0.633801 0.523546\n", "\n", "Explained variance:\n", "[ 2.91081808 0.92122093 0.14735328 0.02060771]\n", "\n", "First few reduced data points:\n", " 0 1 2 3\n", "0 2.256981 -0.504015 0.121536 0.022996\n", "1 2.079459 0.653216 0.226492 0.102864\n", "2 2.360044 0.317414 -0.051308 0.027732\n", "3 2.296504 0.573447 -0.098530 -0.066090\n", "4 2.380802 -0.672514 -0.021356 -0.037272" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n3rtS4LCEWc4AAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "# let's see what scikit comes up with...\n", "pca = PCA()\n", "pca.fit(iris.data)\n", "reduced = pca.transform(iris.data)\n", "print 'Components:'\n", "print pd.DataFrame(pca.components_.T, index=features)\n", "print '\\nExplained variance ratio:\\n', pca.explained_variance_ratio_\n", "print '\\nFirst few reduced data points:\\n', reduced[:4]\n", "plt.scatter([x[0] for x in reduced], [x[1] for x in reduced], c=y)\n", "plt.xlabel('Component 1')\n", "plt.ylabel('Component 2')\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Components:\n", " 0 1 2 3\n", "sepal_length 0.361590 -0.656540 0.580997 0.317255\n", "sepal_width -0.082269 -0.729712 -0.596418 -0.324094\n", "petal_length 0.856572 0.175767 -0.072524 -0.479719\n", "petal_width 0.358844 0.074706 -0.549061 0.751121\n", "\n", "Explained variance ratio:\n", "[ 0.92461621 0.05301557 0.01718514 0.00518309]\n", "\n", "First few reduced data points:\n", "[[ -2.68420713e+00 -3.26607315e-01 2.15118370e-02 1.00615724e-03]\n", " [ -2.71539062e+00 1.69556848e-01 2.03521425e-01 9.96024240e-02]\n", " [ -2.88981954e+00 1.37345610e-01 -2.47092410e-02 1.93045428e-02]\n", " [ -2.74643720e+00 3.11124316e-01 -3.76719753e-02 -7.59552741e-02]]\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }