Skip to content

Instantly share code, notes, and snippets.

@butsugiri
Created September 4, 2016 12:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save butsugiri/d6cc987a479b3f4b88cd8c142d451a74 to your computer and use it in GitHub Desktop.
Save butsugiri/d6cc987a479b3f4b88cd8c142d451a74 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import numpy.random as rnd\n",
"import numpy as np\n",
"import matplotlib\n",
"import seaborn as sns\n",
"pd.options.display.max_rows = 8"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"state = np.random.RandomState(1)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"names = [\"Sepal.Length\", \"Sepal.Width\", \"Petal.Length\", \"Petal.Width\", \"Species\"]\n",
"iris = pd.read_csv('iris.csv', header=None, names=names)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Sepal.Length</th>\n",
" <th>Sepal.Width</th>\n",
" <th>Petal.Length</th>\n",
" <th>Petal.Width</th>\n",
" <th>Species</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5.1</td>\n",
" <td>3.5</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" <td>setosa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>4.9</td>\n",
" <td>3.0</td>\n",
" <td>1.4</td>\n",
" <td>0.2</td>\n",
" <td>setosa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>4.7</td>\n",
" <td>3.2</td>\n",
" <td>1.3</td>\n",
" <td>0.2</td>\n",
" <td>setosa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4.6</td>\n",
" <td>3.1</td>\n",
" <td>1.5</td>\n",
" <td>0.2</td>\n",
" <td>setosa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>146</th>\n",
" <td>6.3</td>\n",
" <td>2.5</td>\n",
" <td>5.0</td>\n",
" <td>1.9</td>\n",
" <td>virginica</td>\n",
" </tr>\n",
" <tr>\n",
" <th>147</th>\n",
" <td>6.5</td>\n",
" <td>3.0</td>\n",
" <td>5.2</td>\n",
" <td>2.0</td>\n",
" <td>virginica</td>\n",
" </tr>\n",
" <tr>\n",
" <th>148</th>\n",
" <td>6.2</td>\n",
" <td>3.4</td>\n",
" <td>5.4</td>\n",
" <td>2.3</td>\n",
" <td>virginica</td>\n",
" </tr>\n",
" <tr>\n",
" <th>149</th>\n",
" <td>5.9</td>\n",
" <td>3.0</td>\n",
" <td>5.1</td>\n",
" <td>1.8</td>\n",
" <td>virginica</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>150 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" Sepal.Length Sepal.Width Petal.Length Petal.Width Species\n",
"0 5.1 3.5 1.4 0.2 setosa\n",
"1 4.9 3.0 1.4 0.2 setosa\n",
"2 4.7 3.2 1.3 0.2 setosa\n",
"3 4.6 3.1 1.5 0.2 setosa\n",
".. ... ... ... ... ...\n",
"146 6.3 2.5 5.0 1.9 virginica\n",
"147 6.5 3.0 5.2 2.0 virginica\n",
"148 6.2 3.4 5.4 2.3 virginica\n",
"149 5.9 3.0 5.1 1.8 virginica\n",
"\n",
"[150 rows x 5 columns]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"iris"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import pandas_ml as pdml\n",
"df = pdml.ModelFrame(iris)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [
{
"ename": "AttributeError",
"evalue": "'NoneType' object has no attribute 'map'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-24-6d1385c0251c>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtarget\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtarget\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m'setosa'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'versicolor'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'virginica'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mAttributeError\u001b[0m: 'NoneType' object has no attribute 'map'"
]
}
],
"source": [
"df.target = df.target.map({'setosa':0, 'versicolor':1, 'virginica':2})"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"del df[\"Species\"]"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"df[[\"Sepal.Length\", 'Sepal.Width']] = df[['Sepal.Length', 'Sepal.Width']].preprocessing.normalize()"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"centroid, label, inertia = df.cluster.k_means(n_clusters=3, random_state=state)"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.82451335, 0.5658425 , 1.4 , 0.2 ],\n",
" [ 0.8528513 , 0.52215386, 1.4 , 0.2 ],\n",
" [ 0.82659925, 0.56279098, 1.3 , 0.2 ],\n",
" [ 0.82926643, 0.55885346, 1.5 , 0.2 ],\n",
" [ 0.81153434, 0.58430473, 1.4 , 0.2 ],\n",
" [ 0.81067923, 0.58549055, 1.7 , 0.4 ],\n",
" [ 0.80417614, 0.59439106, 1.4 , 0.3 ],\n",
" [ 0.8269265 , 0.56231002, 1.5 , 0.2 ],\n",
" [ 0.8349582 , 0.55031336, 1.4 , 0.2 ],\n",
" [ 0.84507884, 0.53464171, 1.5 , 0.1 ],\n",
" [ 0.82493237, 0.56523144, 1.5 , 0.2 ],\n",
" [ 0.81602448, 0.57801734, 1.6 , 0.2 ],\n",
" [ 0.8479983 , 0.52999894, 1.4 , 0.1 ],\n",
" [ 0.82012695, 0.5721816 , 1.1 , 0.1 ],\n",
" [ 0.82321279, 0.56773296, 1.2 , 0.2 ],\n",
" [ 0.79159032, 0.61105218, 1.5 , 0.4 ],\n",
" [ 0.81067923, 0.58549055, 1.3 , 0.4 ],\n",
" [ 0.82451335, 0.5658425 , 1.4 , 0.3 ],\n",
" [ 0.83205029, 0.5547002 , 1.7 , 0.3 ],\n",
" [ 0.80188283, 0.59748132, 1.5 , 0.3 ],\n",
" [ 0.84623284, 0.53281327, 1.7 , 0.2 ],\n",
" [ 0.80942185, 0.58722762, 1.5 , 0.4 ],\n",
" [ 0.787505 , 0.61630826, 1. , 0.2 ],\n",
" [ 0.83957016, 0.54325128, 1.7 , 0.5 ],\n",
" [ 0.81602448, 0.57801734, 1.9 , 0.2 ],\n",
" [ 0.85749293, 0.51449576, 1.6 , 0.2 ],\n",
" [ 0.8269265 , 0.56231002, 1.6 , 0.4 ],\n",
" [ 0.82958775, 0.55837637, 1.5 , 0.2 ],\n",
" [ 0.83696961, 0.54724936, 1.4 , 0.2 ],\n",
" [ 0.82659925, 0.56279098, 1.6 , 0.2 ],\n",
" [ 0.84003938, 0.54252543, 1.6 , 0.2 ],\n",
" [ 0.84623284, 0.53281327, 1.5 , 0.4 ],\n",
" [ 0.78526917, 0.61915453, 1.5 , 0.1 ],\n",
" [ 0.79476781, 0.6069136 , 1.4 , 0.2 ],\n",
" [ 0.84507884, 0.53464171, 1.5 , 0.1 ],\n",
" [ 0.8422714 , 0.5390537 , 1.2 , 0.2 ],\n",
" [ 0.84366149, 0.53687549, 1.3 , 0.2 ],\n",
" [ 0.84507884, 0.53464171, 1.5 , 0.1 ],\n",
" [ 0.82622734, 0.56333682, 1.3 , 0.2 ],\n",
" [ 0.83205029, 0.5547002 , 1.5 , 0.2 ],\n",
" [ 0.81923192, 0.57346234, 1.3 , 0.3 ],\n",
" [ 0.89043468, 0.45511106, 1.3 , 0.3 ],\n",
" [ 0.80873608, 0.5881717 , 1.3 , 0.2 ],\n",
" [ 0.81923192, 0.57346234, 1.6 , 0.6 ],\n",
" [ 0.80188283, 0.59748132, 1.9 , 0.4 ],\n",
" [ 0.8479983 , 0.52999894, 1.4 , 0.3 ],\n",
" [ 0.80188283, 0.59748132, 1.6 , 0.2 ],\n",
" [ 0.8209052 , 0.57106449, 1.4 , 0.2 ],\n",
" [ 0.81995808, 0.57242357, 1.5 , 0.2 ],\n",
" [ 0.83460941, 0.55084221, 1.4 , 0.2 ],\n",
" [ 0.90947448, 0.41575976, 4.7 , 1.4 ],\n",
" [ 0.89442719, 0.4472136 , 4.5 , 1.5 ],\n",
" [ 0.9121687 , 0.40981492, 4.9 , 1.5 ],\n",
" [ 0.92257988, 0.38580613, 4. , 1.3 ],\n",
" [ 0.91841262, 0.3956239 , 4.6 , 1.5 ],\n",
" [ 0.89755433, 0.44090388, 4.5 , 1.3 ],\n",
" [ 0.88583154, 0.46400699, 4.7 , 1.6 ],\n",
" [ 0.89806271, 0.43986745, 3.3 , 1. ],\n",
" [ 0.91551945, 0.4022737 , 4.6 , 1.3 ],\n",
" [ 0.88749608, 0.46081527, 3.9 , 1.4 ],\n",
" [ 0.92847669, 0.37139068, 3.5 , 1. ],\n",
" [ 0.89138513, 0.45324668, 4.2 , 1.5 ],\n",
" [ 0.93887632, 0.34425465, 4. , 1. ],\n",
" [ 0.903134 , 0.42935879, 4.7 , 1.4 ],\n",
" [ 0.88799441, 0.45985425, 3.6 , 1.3 ],\n",
" [ 0.90756252, 0.41991699, 4.4 , 1.4 ],\n",
" [ 0.88147997, 0.47222141, 4.5 , 1.5 ],\n",
" [ 0.90658206, 0.42202958, 4.1 , 1. ],\n",
" [ 0.94242775, 0.33440985, 4.5 , 1.5 ],\n",
" [ 0.91313788, 0.40765084, 3.9 , 1.1 ],\n",
" [ 0.87903186, 0.47676304, 4.8 , 1.8 ],\n",
" [ 0.90882955, 0.41716766, 4. , 1.3 ],\n",
" [ 0.92949071, 0.36884552, 4.9 , 1.5 ],\n",
" [ 0.90882955, 0.41716766, 4.7 , 1.2 ],\n",
" [ 0.91085325, 0.41273038, 4.3 , 1.3 ],\n",
" [ 0.91036648, 0.41380294, 4.4 , 1.4 ],\n",
" [ 0.9246781 , 0.38074981, 4.8 , 1.4 ],\n",
" [ 0.91268458, 0.40866474, 5. , 1.7 ],\n",
" [ 0.90034895, 0.43516866, 4.5 , 1.5 ],\n",
" [ 0.90981905, 0.41500518, 3.5 , 1. ],\n",
" [ 0.91653938, 0.39994446, 3.8 , 1.1 ],\n",
" [ 0.91653938, 0.39994446, 3.7 , 1. ],\n",
" [ 0.90658206, 0.42202958, 3.9 , 1.2 ],\n",
" [ 0.91192151, 0.41036468, 5.1 , 1.6 ],\n",
" [ 0.87415728, 0.48564293, 4.5 , 1.5 ],\n",
" [ 0.87002219, 0.49301257, 4.5 , 1.6 ],\n",
" [ 0.90756252, 0.41991699, 4.7 , 1.5 ],\n",
" [ 0.93935732, 0.34293997, 4.4 , 1.3 ],\n",
" [ 0.88147997, 0.47222141, 4.1 , 1.3 ],\n",
" [ 0.91036648, 0.41380294, 4. , 1.3 ],\n",
" [ 0.90407227, 0.42737962, 4.4 , 1.2 ],\n",
" [ 0.89734997, 0.44131966, 4.6 , 1.4 ],\n",
" [ 0.91250932, 0.4090559 , 4. , 1.2 ],\n",
" [ 0.90849045, 0.41790561, 3.3 , 1. ],\n",
" [ 0.90076868, 0.43429919, 4.2 , 1.3 ],\n",
" [ 0.88491822, 0.46574643, 4.2 , 1.2 ],\n",
" [ 0.89127803, 0.45345724, 4.2 , 1.3 ],\n",
" [ 0.90580954, 0.42368511, 4.3 , 1.3 ],\n",
" [ 0.89792072, 0.44015722, 3. , 1.1 ],\n",
" [ 0.89755433, 0.44090388, 4.1 , 1.3 ],\n",
" [ 0.88583154, 0.46400699, 6. , 2.5 ],\n",
" [ 0.90658206, 0.42202958, 5.1 , 1.9 ],\n",
" [ 0.92114622, 0.38921671, 5.9 , 2.1 ],\n",
" [ 0.90838094, 0.41814361, 5.6 , 1.8 ],\n",
" [ 0.90795938, 0.41905818, 5.8 , 2.2 ],\n",
" [ 0.93015522, 0.36716653, 6.6 , 2.1 ],\n",
" [ 0.89076187, 0.45447034, 4.5 , 1.7 ],\n",
" [ 0.92935209, 0.36919466, 6.3 , 1.8 ],\n",
" [ 0.93690259, 0.34959052, 5.8 , 1.8 ],\n",
" [ 0.89442719, 0.4472136 , 6.1 , 2.5 ],\n",
" [ 0.89717068, 0.44168403, 5.1 , 2. ],\n",
" [ 0.92136416, 0.38870051, 5.3 , 1.9 ],\n",
" [ 0.9149178 , 0.40364021, 5.5 , 2.1 ],\n",
" [ 0.91578821, 0.4016615 , 5. , 2. ],\n",
" [ 0.90055164, 0.43474907, 5.1 , 2.4 ],\n",
" [ 0.89442719, 0.4472136 , 5.3 , 2.3 ],\n",
" [ 0.90795938, 0.41905818, 5.5 , 1.8 ],\n",
" [ 0.89674427, 0.44254912, 6.7 , 2.2 ],\n",
" [ 0.94744567, 0.31991672, 6.9 , 2.3 ],\n",
" [ 0.93887632, 0.34425465, 5. , 1.5 ],\n",
" [ 0.90718823, 0.42072498, 5.7 , 2.3 ],\n",
" [ 0.89442719, 0.4472136 , 4.9 , 2. ],\n",
" [ 0.93979342, 0.34174306, 6.7 , 2. ],\n",
" [ 0.91914503, 0.3939193 , 4.9 , 1.8 ],\n",
" [ 0.89708903, 0.44184982, 5.7 , 2.1 ],\n",
" [ 0.91381155, 0.40613847, 6. , 1.8 ],\n",
" [ 0.9113706 , 0.41158672, 4.8 , 1.8 ],\n",
" [ 0.89734997, 0.44131966, 4.9 , 1.8 ],\n",
" [ 0.91615733, 0.40081883, 5.6 , 2.1 ],\n",
" [ 0.92307692, 0.38461538, 5.8 , 1.6 ],\n",
" [ 0.93528626, 0.3538921 , 6.1 , 1.9 ],\n",
" [ 0.90116674, 0.43347261, 6.4 , 2. ],\n",
" [ 0.91615733, 0.40081883, 5.6 , 2.2 ],\n",
" [ 0.91381155, 0.40613847, 5.1 , 1.5 ],\n",
" [ 0.91992326, 0.39209844, 5.6 , 1.4 ],\n",
" [ 0.93177739, 0.36303015, 6.1 , 2.3 ],\n",
" [ 0.88002217, 0.4749326 , 5.6 , 2.4 ],\n",
" [ 0.89998132, 0.43592845, 5.5 , 1.8 ],\n",
" [ 0.89442719, 0.4472136 , 4.8 , 1.8 ],\n",
" [ 0.9121687 , 0.40981492, 5.4 , 2.1 ],\n",
" [ 0.90756252, 0.41991699, 5.6 , 2.4 ],\n",
" [ 0.9121687 , 0.40981492, 5.1 , 2.3 ],\n",
" [ 0.90658206, 0.42202958, 5.1 , 1.9 ],\n",
" [ 0.9048187 , 0.42579704, 5.9 , 2.3 ],\n",
" [ 0.89708903, 0.44184982, 5.7 , 2.5 ],\n",
" [ 0.91268458, 0.40866474, 5.2 , 2.3 ],\n",
" [ 0.92949071, 0.36884552, 5. , 1.9 ],\n",
" [ 0.90795938, 0.41905818, 5.2 , 2. ],\n",
" [ 0.87681241, 0.48083261, 5.4 , 2.3 ],\n",
" [ 0.89138513, 0.45324668, 5.1 , 1.8 ]])"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.as_matrix()"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn.manifold import TSNE"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"tsne = TSNE(n_iter = 1000)"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"result = tsne.fit_transform(df.as_matrix())"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x1139bf190>]"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1135d7a10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(result[:,0], result[:,1], \".\")"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAECCAYAAAD3vwBsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHi5JREFUeJzt3X+MHOd93/H3kSsLFvcksenRUZoIpozl9+hDI8QMTdq1\nLTq2cpZr1xGaP1o3DazEaSMoTeA0CWwJMdIUdtM6FZw0jZMoTt02tYvEresglnJ2LbCWVJNhqbSw\nGN6XF6iqXASBrg4pcUna1vK2f8yubnm+Hzszz8w8M/N5CQJv9253ntvde77zfJ/v88zMcDhERETa\nZ1fVDRARkWooAIiItJQCgIhISykAiIi0lAKAiEhLKQCIiLRUJ8+DzewI8Evu/mYzexXwCWANeMrd\n7xv9zI8B/wB4EfiQu38uX5NFRCSEzCMAM/tZ4CHg+tFdDwL3u/sdwC4ze5eZvQL4R8DrgLcB/8zM\nrsvZZhERCSBPCujPgLsnbh9y98dGXz8C3Am8Fnjc3Qfu/gKwAnx3jmOKiEggmQOAu38GGEzcNTPx\n9UXgRmAWeH7i/j5wU9ZjiohIOCEngdcmvp4FLgAvkASCjfeLiEjFck0Cb/Ckmb3J3b8E3AU8CpwC\nPmRmLwNeDswDT+30RMPhcDgzM7PTj4mIyLVSdZwhA8DPAA+NJnnPAp9296GZ/Srw+Khh97v7N3d6\nopmZGVZXLwZsWn5zc7Nq05RibJfaNB21aXoxtmtubjbVz+cKAO7+f4DXj75eAY5t8jMfBz6e5zgi\nIhKeFoKJiLSUAoCISEspAIiItJQCgIhISykAiIi0lAKAiEhLKQCIiLSUAoCISEspAIiItJQCgIhI\nSykAiIi0lAKAiEhLKQCIiLSUAoCISEspAIiItJQCgIhISykASKv16XO6c4o+/aqbIlI6BQBprT59\nFvce4669b2Fx7zEFAWkdBQBpLe+cZaVzDoCVzjm8c7biFomUSwFAWssGB+kNDgDQGxzABgcrbtH2\nlK6S0HJdFF6kzrp0WTp/HO+cxQYH6dKtuklbGqerVjrn6A0OsHT+eNTtlXrQCEBarUuXQ4PD0Xem\nSldJERQARGqgbukqqQelgERqoE7pKqkPBQCRmhinq0RCUQpIRKSlFABEJBWVozaHAoCITE2rp5tF\nAUBEpqZy1GZRABCRqakctVlUBSRSoD79RpVuqhy1WTQCEJkQcoKzqfnyuqyelp0pAIiMhO6wlS/P\nr9+HkyeTfyU8BQCRkdAddsh8eRtLL/t9WFy8gaNHk38VBMJTABAZCT3BOc6XP3L+i7l272xqKmkn\n7rtYWdkNwMrKbtzVXYWmV1RkJFSHvfE58+bL25pKMluj17sKQK93FbO1ilvUPKoCEpkQ434745HJ\n+FoAbSm97HZhaekyzz03y759l+lqzjk4BQBppDLLL4s+VptLL7td2L8fVlerbkkzKQBI42x29aw5\nZks7VlFBILaRidSf5gCkccrMmec5VhsreyQuCgDSOFmrebJ0yHmOdZjDpVT2KNDIVpQCksbJkjPP\nmsrJmp/3zlmWWQbWRw5FpHh0MXnZjkYA0khpyy/zpHKylHra4CDzzAPTjxyynMm3tYRUpqMAIEL5\nu1x26XKKU1OvOci6GEy7d8p2lAISIV+pZdYy0DSVPZudyU/z2DaXkMrONAIQGcmSyilrm4Y8Z/La\nvVO2ogAgjVNm1UtZOfYitqkQUQCQRil747Q8ZaAnOZmqfTqTl9CCzwGY2Wng+dHN/w18GPgEsAY8\n5e73hT6myFjWXPmkNDn9XCWnnKO3V6WZUp2gIwAzux7A3b9v9P+PAg8C97v7HcAuM3tXyGOKTMpb\n9ZJlBFFmyalISKFHALcDe8xsCdgNPAC8xt0fG33/EeBO4LOBjysC5K96CTGC2EmRu3s27RrEUqzQ\nAeAy8BF3/7iZ9Ug6/JmJ718Ebgp8TJFr5Nk4rYytl8dB6rm5Z9l3/tZgHbVW/UpaoQPAOeDPANx9\nxcy+Brxm4vuzwIVpnmhurpjdG/NQm6YXY7umadMcszzJac5whoXOAt25dB1on37yWBa27XznmGU/\nt8Bcqqff1tP8KSusj16em3uW/RxJ/Tx1fe+qEGu7phU6ANwDfDdwn5l9B3Aj8Hkzu8Pd/xtwF/Do\nNE+0unoxcNPymZubVZumFGO70rbpNl7NFYZcYfrHpD0DD/067eNWenvXRy/7zt/K6g7t35gyasJ7\nV5YY25U2IIUuA/04MGtmXwI+BbwH+Cngn5jZE8B1wKcDH1NkS3VfE5Cm/WnXCpRdMlvoe3GpT+f0\nKbikHU/TCDoCcPcB8MObfOtYyOOITGPyjHyeeR7m0UJz4qHnD7Lk9PNuL7GfW3K1eSuFzk9c6nPz\n4jE6K+cY9A5wYek47NHcxzS0EEwaa7KDW2a58HLL0Kt1iy4XLXOjuCJ/l87yWToryXN3Vs7RWVZZ\n7bQUAKSxJju4eeZzdXDTpi9CrtYtuoMuc3uJIn+XwfxBBr3kuQe9AwzmtePptLQbaIu0rUZ8ck3A\nG/a+lisMMz1PVeWVZezkWda1hgv9XfZ0ubB0nM7y2aTzV/pnahoBtETZE36xCHFGXtTk7jR7ATVp\n/59Cf5c9XQaHDqvzT0kBoCW0/UB2odMX42B8lKOtCsYSHwWAltCVobKr2+SuyLQUAFpC+8nnE9vk\nbpnrG2RzTXgPFADKVuGClSblk+tsHIxPcCJTMI5tPqffh9Ond9Gvbz+YWp8+hzkczXuQlQJAmUYL\nVm5++1u4efGYVi0WpA5nZl26HOFIpmAcUwqp34fFxRu46649LC7e0Jog4J2zLLMMVP8e5KEAUCIt\nWClebGfHRYhpPsd9FysruwFYWdmNezu6FBscZJ55oPr3II92vFuR0IKV4sV0dlyU0PM5eVI4Zmv0\nelcB6PWuYraWqy110aXLKU7Vfk5NC8HKpAUrhcu7H09dFsuFWsA1TuGsrOym17vKk0+mbEcXlpYu\n474LszW68b5kLwn1Hpe1iK5ICgBlGy9YkULkWXHaxguqbEzhnDkDt92W7jm6XTh0qB5n/m18j7ej\nFJA0TtZqp6rTR1VMXm9M4SwslHboVEK9NlW/x7FRABAZqXJytarJ63EK55FHLrG0dDnKFE7I1yam\nCfQYKADIjtpS551lcrUJZ6bjFE6MnT/AGc4Ee220IPJaCgCyrbbVeadJH+nMtBwLLAR9bbQgcp0C\ngGyrrXXe0wh51h7qzLSqRXBFHldn7cXRX7Nsq6113tMIfdae98y0qnmEMo6rs/ZiqAxUtlXHOu+y\nlHHBljQ2G5GUUade1XGLUpe1ICFoBCA7in2SsEoxnZlWNY8Q2/xFnnRUG7YSmaQRgEhDVDUiiWkk\nlHehV9NGMzvRCKCG2lKWKelVNSKJZSSUd2I+ttFM0RQAamayLPPwYRQEpFHyVhPl7cDbVnGkAFAz\nk2WZy8uoLFMyy9rZFlXyGSL/HqIDj2U0Uwb1HjUzWZY5P4/KMiWTrJ1tkZOkodZVtKkDz0sBoGYm\n9245dQpV5kgmWTvbIresaFv+PQaNCQB1uAxgKHUvy9Qkdhh5PvNZO9siO+k65t/r3u80ogxUe3zX\nx8YLkMS6A2Xs8n7ms5ZuFl3yWaeLrDSh32nECEB7fNeH9hYKI8RnPmuuXDn2RMhdSqvSiL8+5Q7r\nQ3sLhaHPfDYhUzahdymtQiNSQDGtRJTtaW+hMPSZTy90yqYJ70EjRgCgYelGZU20ZjlO3SexY1HL\nz/ylPp3Tp+BS9g9m1rP4IlLFtXwPJjQmAMi6si7i0raLxbRR0CqXS31uXjzGzW9/CzcvHssUBPKs\nQ1Da7FspADRQWROtmtBtttCLvjrLZ+msJGfgnZVzdJbTn4HnOYuvY5lp0fQX20BlTbRqQrfZQqdM\nBvMHGfSSM/BB7wCD+fRn4CH2+qlzyia0RkwCy7XKmmgt6jj9PpokziHUBU3Gne140jR3ymRPlwtL\nx+ksn006/z3Z9ump+8RrTBQAGmo80Vq342ihWD4hK10K6Wz3dBkcyrfQq06LxWKnFJBERfMK+YRO\n2yhl0mz665KoaF4hH1W6xC22vYOUAhIgf9598vFzc9nboYVi+ShHHq8Y9w5SAJDcefeNj3/yyXzt\nKWv+oqmUI49TjNcbVgpIcufdNz7+zJngTZQIFLq6PM8K4QCri8sQY3pOAUBy5903Pn5hIXgTpWKF\nrvrOs0I4wOrissS4EE0BQK65yliWssu8j5f4FVmdlWeFcIjVxWWKrapKAUCA/Bu0FbnBW9bUg648\nFk6R1Vl5VgiHWF3cZpoEltKlqTjKOkEdemK67QqtzsqzQjjA6uI20whASpU2l5w19aCJ6fAK3cZ7\nvEI4Swee57EtV8oIwMxmgF8Hbge+DrzX3Z8u49hN1e/D00/Dvn3UKue+WYe+XcnnOPUwPpOfNvWw\n8XELC7u5ciXIryDSGGWNAH4AuN7dXw98AHiwpOM20vgs+uhRSt2HP0ROPW0uOesEsyamI1GTEs22\nKisAvAH4IwB3Pwl8b0nHbaQQFRlpO/NQZYBZOuasqYciUhaaWE6h5BLNUNssxLZdQ5HKCgA3As9P\n3B6YmeYfMspbkZGlMw9ZBljXS0LqCmjplFmiGeriNaEvghO94XBY+P8HDhz4lwcOHPjBidvP7vAY\n2cHFi8PhiRPJv2mdODEcwvr/J05Md7z5+eTn5+ezHbfusrxubbZ28eJw7eD8cG2G5N8pPzRrFy8O\n106cmPrnh8Ph8MTwxJCJ/04Ms705oZ6nQqn65rLKQJ8A3gF82syOAl/Z6QGrqxcLb1Qac3Oz0bXp\nyJGkTWknN/ftg15vvURy377LrK7u/LiHH14v37xyhS2PG+K1Cn1RmBBtyvq6Fdmm0IK36eFH10s0\nrwzhyg7PPUobdVbOMegd4MLSceZeecuObdrHrfT2rl+8Zt/5W1kl/e+R5nliff/SKCsAfAa408ye\nGN2+p6Tjyiay1nRn2aQtS0eep/a/yF1Ea7dT6aV+2Pr4LM+X8gIwm6aNXnnLjo8LtQtq23ZTLSUA\nuPsQuLeMY8l0ythxM2tHnrZUNM+x0qrNTqWbnEnnCgKhn28L45W94+OkWdkbahfUNu2mqolYKUzW\nieMsk9y6kti1Qk/AljahO1rZe+HhLxYWZGRdu/9KpFBZq5WylIrqSmLXCr1HTql77mhlb2m0F1DB\nis5LF92OPO3PkzNPm2qpXX6+aKH3yMnyfKHnICQ4BYAClZWXLqodIdpfZs68Nvn5sqScgA36fGXM\nGSjA5KYUUIFiyUuH2lCtrPaXudpWK3uLUficQY0uBBOzZgaASPYfiSUvnbUdVbS/zNW2sa/srfOW\nBEXPGdTtQjCxal4KqKRytWnEkpfOU/efp/1Z5g+ylIBmVeax0hpvSTBekBTLJQSnVvA+/XnKRWVd\n40YAsZ0ZxLLvTdkbqmU9uy5z1BHLCG0z3jnLSif5HK90zuGdGp7hpqnmSTtqV7loEI0LALpEXByy\nzh/k2cY5bT4/5i2jbXCQ3iD5HPcGB7BBpJ/jEOnWrPl8lYvm1rwUkC4RF4WsF3KB7FtOZKlYirVy\nqBZbEgRKt242ag9avSRbatwIANCZQQ6hqmLKPruOpeIqpPGWBFF2/oRLt2rUXp3mjQAks9DrFso8\nu84z4pBsgk3EatReGQWAGhufrYeqMIqhKibryuNYKq5aJWTHHXrRmkyl/uPklur34fBhgtawh6qK\nyZpGyluXH0vFVaso3VprCgA15b6L5eXk61A57xB5+zyBqYl5fClIJIs9605/YTVltsb8fPJ1yJx3\n3rPoPIEp5rr8thj2a9CxahuIYBQAaqrbhVOniK6GPU9gyjsC0b4+OV3qw2sPR9+xxrbYs84UAGps\n2rP1MjvGvIGp7JXHsq6zfJbx8C3mjlVlo+EoADRcFR1jFZOxmj/IbzB/kPHwLXfHWmSOXttABKO/\nkobL0jHWMZWSd/6gjr9zcHu68Men8nesZeToVX0UhAJAxEJ0Smk7xrqmUvLuIVTH37kIM938HWvm\nHL0qe0qnABCpUJ1S2o6xzqmUrKmnOv/OMcqUo1dlTyX0SY9UyE4pTccYIpVy8iSZFoFVlYJR+Wlg\nGXL0quyphraCiFRVe9vk2VJhfS8h6PVuKPXaw3loG4kCpNzaodEXeIn42sUKAJGqslPKuolb1r2E\nYtiDKNZtoStTdqfV1A3hIrpC4WaUAopY3fa2qdO1h2UbVeXjG1jZE3tqSyMACWY8annuuVn27Zs+\njaMUTFx0gZZwYk9tKQA0WNatlfPodmH/flhdTf84pWDiEHunVSuRp7YUABqq6olVqbHIO63aifha\nB5oDaCjVtksuafLxWsBVW+oVGirExKq2R5AdhZowVhCphFJADZV3YlUpJJlGkAnjyEslm0wjgBrI\neiaep4y0bikkjVaqEWJr5thLJZss7r9qqWyjsjrV5mszt4xCpF0CbM2s/f2roxRQ5KpaJVun2vwY\nVhLXTsi0S94qF1UdVUYjgMhVeSZel5XIdRqtxCK6tEsDVwHXgUYAkavTmXhV9Bqlp8VeAgoA2+rT\nxztnscFB5pitrB1aJbszvUYp1THtEvGumnWlFNAW+vRZ3HuMu/a+hcW9x+hT75lFVcnIt6gi7ZJ1\n4lnrDQqhALAF75xlpZPkSFc65zjDmYpblJ2qZKQQaTvTHJ14kDkLXXXsWygAbMEGB+kNktK03uAA\nCyxU3KLs6lbTLzWQoTPN04lrvUEx1BNsoUuXpfPHeeT8F1k6f5wu9c05qkpGQsvSmebqxLXeoBCa\nBN5Gly6HBnHu4peGqmQktExVRHknnrXeIDgFgJZQlYwElbUzrXpr5KqPHxmlgEQkm6Yv3mpBxZAC\nQM2onFOuUXQnVUUnGEPH25KKIQWAGglZzqlA0gBFd1JVdIKRdLxtqRhSAKiRjeWcZzIuTQgVSBRE\nqlV0J5X7+TOcycfS8balYijoJLCZ/V/g3Ojml939ATM7CnwUeBH4grv/Yshjtsm4nHN8kZaFhd1c\nuZL+eULsntmEC8b0+9S6Mqro/XxyPX/G3Uaj2aOoJRVDwQKAmb0KOO3u79rwrY8Bd7v7M2b2OTO7\n3d3/V6jjtsm3lnPOZgoAGwNJlnUBdd+CuQkBrPBOKsfzZ75SWEwdbwsqhkKOAA4B32lmjwKXgfcB\nfwG8zN2fGf3MEvBWQAEgoxDlnCHWBYQIIlWqewB7SdGdVMbnz3Umn/d30qZxU8sUAMzsR0g6+CEw\nM/r3PuDD7v6fzOxvAP8BuBt4YeKhF4H9uVosQeQNJHVfXFb3ABa9qs7kdX3hVGaGw2GQJzKzlwMD\nd39xdPurwKuBE+6+MLrvJ4GOuz+4w9OFaZTINvp9OHMGFhaoXQCLwXDiBZyJ5AUcnjwJrzu6fseX\nTzBz5Eh1DSrfTJofDpkC+iDwl8BHzOx24KvuftHMvmFm+4FngEXgF6Z5stXViwGblt/c3KzaNKUY\n27VVm267Da5cIdNcSlFtKtWGdMnUbSrxTDvV6/SKW7l5IvV04RW3QkGvcRTv3wZzc+muWxIyAPwS\n8Ltm9nZgALxndP+9wCdJSk4/7+6nAh5TRLLarBOfsgPJPMm74fjBU0QxTSLXQLAA4O7PA+/c5P6T\nwOtCHUdEwti05v6Vt0z12NzlmkWOILJMIucJRjWedNZCMJGWqnJ75kwLvoraIiLP6uNIVi5npQAg\n0lZ599jPsRlc6uBTYEebZ/VxLCuXs1IAEKmjUGfDVe3omTL4FNnR5hkJ1X3LCF0PQKRumlLrniJX\nX+gWEXkmjms+6awRgEjNVJZ2yDrqCDFaCXBJyJ2eP/NIqMbXRVAAEKmZStIOWXPwIXP3Ne5oY6UA\nIFI3RZ8NbyLrqKPuk6RNpwAgUkclnw1nHXXUfZK06TQJLNJ2kwuZtloJnOMi8HWeJG06BQCRNttQ\nUTQ8fXrrn826TXORW1bXeBVuDJQCEmmxjTn6zNcZrULNV+HGQAFApMU25uhZWKi4RdPTBHN+SgGJ\ntNmGHP1ctwtX4trieCvRXD+4xhQARJoiaz68rte+1QRzbgoAIk3QlO0h0qpr8IqE5gBEGqDyfHhR\nWzVLoRQARBqg0gVXqsapLaWARJqgwnx4kMtDSiU0AhBpioo2S9N2D/WlEYCIXCttNVHo0YdW95ZG\nAUBEXjLsZ6wmClWNs1k101b7E0luSgGJyLozZyqtJqq8mqllFABEZN3CQqX5fM0nlEspIBF5yUy3\n4tW1Wt1bKgUAEblW1atrqz5+iygFJCLSUgoAIiItpQAgItJSCgAiIi2lACAi0lIKACLSav0+nD69\ni34LNzFVGaiItFa/D4uLN7Cyspte7ypLS5fptmjpgUYAItJa7rtYWdkNwMrKbtzb1SW267cVEZlg\ntkavdxWAXu8qZmsVt6hcSgGJSGt1u7C0dBn3XZittSr9AwoAItJy3S4cOtSuM/8xpYBERFpKAUBE\npKUUAEREWkoBQESkpRQARERaSgFARKSlFABERFpKAUBEpKUUAEREWkoBQESkpRQARERaKtdeQGZ2\nN/CD7v73RrePAL8CvAh8wd1/cXT/B4G/Obr/fe5+KlerRUQkt8wjADP7KPAhYGbi7t8A/o67vxE4\nYma3m9n3AG9y9yPA3wX+dZ4Gi4hIGHlSQE8A945vmNks8DJ3f2Z01xJwJ/AG4PMA7v5VYLeZfVuO\n44qISAA7poDM7EeA9wFDkrP9IXCPu/++md0x8aM3Ai9M3L4I3AZcAb42cX8fuGnDfSIiUrIdA4C7\n/w7wO1M81wskQWBsFjgPfHP09eT9F1K0UURECjAzHA4zP3g0AviH7v7u0e0ngb8NPAP8IfALwFXg\nnwPfD3wX8Fl3/55crRYRkdxCXxHsx4FPkswtfH5c7WNmjwFfJkkh3Rf4mCIikkGuEYCIiNSXFoKJ\niLSUAoCISEspAIiItJQCgIhIS4WuAsok1j2FzOzlwKeAvcA3gB9y9+fM7Cjw0Y3tK4OZ7QIeBA4B\nLwM+6O5LVbZpQ/vmgRPAPnf/ZsWv1Y3A75KsT7kO+Gl3P1n1a2VmM8CvA7cDXwfe6+5Pl9mGUTs6\nJGt8XknyWfoQ8KfAJ4A14Cl3r6Rqz8z2Af8DeCtJKXmlbTKz9wN/i6TP/DWSnRCqbtMM8NuAkbxG\nP0bK16ryEUDkewr9MLDs7ncAvwf87Oj+j21sXwltGfv7QGd07LuBgxG0CXhpO5BfJunUxqps108D\n/9XdjwH3kHS6VbcJ4AeA69399cAHSAJ6FX4I+H/u/ibgbSQd24PA/aPP/C4ze1fZjRoFpt8ALo/u\nqrRNo/VOrxu9X28GXlV1m0a+H9jj7m8A/inw4bTtqjwAEPeeQl8H/sro6xuBF7do31sLbsekReDP\nzewPgd8CPhtBm8Z+i6RDuwxbvpdltutB4DdHX18HXImgTZB8lv8IwN1PAt9b8vHHfg/4+dHXu4EB\n8Bp3f2x03yNU8zn6ZZIg/eckJ4ZVt2kReMrM/gvwB6P/q24TJP3TTaORwE0kI9pU7SotBRT7nkJb\ntO8ngPeb2RmSNNAbt2jf/hBt2KFNY6vAFXd/h5m9iWS49+6y2rRNu54FPuXuXxl9IKG612ry83Xa\nzL4d+PfAT5bZpm3cCDw/cXtgZrvcfa3MRrj7ZKD+feABks537CLJ31hpzOw9wHPu/gUzu3909+SJ\naultAv4qcCvwDpK+6A8iaBPA48DLgWXg24B3kvRRU7ertAAQ+55Cm7XPzH4TeNDdHzKzvw78Z5Kz\nt43tK2Rvoy3a9CmSbTZw9y+ZWY+kMymlTdu06xzwo2b2XuDbSUZr7yyrXVt9vkbv2yeBf+zuj486\nu9Jeqy28wLWf5dI7/zEz+y6Sz/Wvuft/NLN/MfHtKl6be4A1M7uTZI7k3wFzFbfpa8BZdx8A58zs\n68B3VtwmgJ8DnnD3B8zsrwHHSeZypm5XDCmga7j7ReAbZrZ/dCa5CDwG/Hdg0cxmzOxWYMbd/7Lg\n5uxh/UxtFZjdpn1leRx4O8Aod/2su/crbhPufsDdv8/d3wz8BXBn1a+Vmb2aJM3xbncfpw+rfv8g\nSXuO38OjwFdKPj6jY7+CJAX2c+7+b0d3/8loZAlwF+V/ju5w9zePPkf/k2TO65Eq20TyN/c2ADP7\nDpJ+4YsTmYsq2gTQZb1/ukByQv8nadoVRRXQJmLZU+gB4CEz+wmSHOl7R/ffu1n7SvIQ8DEz+/Lo\n9o9H0KaNxmkY2OK9LMmHgeuBXxl19hfc/W6qf60+A9xpZk+Mbt9T8vHHPgDcDPz8qMJuCPwU8K/M\n7DrgLPDpito26WdI/g4raZO7f87M3mhmf0zyub6XZMPL3674dfoI8G9G/WIHeD9wOk27tBeQiEhL\nRZcCEhGRcigAiIi0lAKAiEhLKQCIiLSUAoCISEspAIiItJQCgIhISykAiIi01P8HzexVgJqJc84A\nAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x113654550>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.cm as cm\n",
"color=cm.brg(np.linspace(0,1,np.max(label) - np.min(label)+1))\n",
"for i in range(np.min(label), np.max(label)+1):\n",
" plt.plot(result[(label == i).values][:,0],\n",
" result[(label == i).values][:,1],\n",
" \".\",\n",
" color = color[i]\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 False\n",
"1 False\n",
"2 False\n",
"3 False\n",
" ... \n",
"146 False\n",
"147 False\n",
"148 False\n",
"149 False\n",
"dtype: bool\n"
]
}
],
"source": [
"print label == i"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn.decomposition import PCA"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"pca = PCA(n_components=2)"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ -2.56390030e+00, -3.29844324e-03],\n",
" [ -2.56186301e+00, -8.01030941e-03],\n",
" [ -2.65584112e+00, 3.47006721e-02],\n",
" [ -2.47148501e+00, -4.23934420e-02],\n",
" [ -2.56478044e+00, -1.26728727e-03],\n",
" [ -2.21099449e+00, 6.76871004e-02],\n",
" [ -2.52647271e+00, 9.17632752e-02],\n",
" [ -2.47164807e+00, -4.20167493e-02],\n",
" [ -2.56316902e+00, -4.98810027e-03],\n",
" [ -2.50914761e+00, -1.36919242e-01],\n",
" [ -2.47178620e+00, -4.16977197e-02],\n",
" [ -2.38030903e+00, -7.86267381e-02],\n",
" [ -2.60101803e+00, -9.90838349e-02],\n",
" [ -2.87925036e+00, 2.04833455e-02],\n",
" [ -2.74816021e+00, 7.35733473e-02],\n",
" [ -2.39640484e+00, 1.47208825e-01],\n",
" [ -2.57933516e+00, 2.21016982e-01],\n",
" [ -2.52510660e+00, 8.86117980e-02],\n",
" [ -2.24832559e+00, -2.75996574e-02],\n",
" [ -2.43453718e+00, 5.37755996e-02],\n",
" [ -2.28609892e+00, -1.21869867e-01],\n",
" [ -2.39524833e+00, 1.44544590e-01],\n",
" [ -2.93467611e+00, 1.55644498e-01],\n",
" [ -2.17020251e+00, 1.54982314e-01],\n",
" [ -2.10405353e+00, -1.93624149e-01],\n",
" [ -2.37734180e+00, -8.54882113e-02],\n",
" [ -2.30197551e+00, 1.03471263e-01],\n",
" [ -2.47146254e+00, -4.24453695e-02],\n",
" [ -2.56302568e+00, -5.31951165e-03],\n",
" [ -2.37958563e+00, -8.02967390e-02],\n",
" [ -2.37863495e+00, -8.24941589e-02],\n",
" [ -2.39268186e+00, 1.38615557e-01],\n",
" [ -2.51318416e+00, -1.27605600e-01],\n",
" [ -2.56587497e+00, 1.25482176e-03],\n",
" [ -2.50914761e+00, -1.36919242e-01],\n",
" [ -2.74681411e+00, 7.04620836e-02],\n",
" [ -2.65462780e+00, 3.18955986e-02],\n",
" [ -2.50914761e+00, -1.36919242e-01],\n",
" [ -2.65586692e+00, 3.47602534e-02],\n",
" [ -2.47128962e+00, -4.28449579e-02],\n",
" [ -2.61755358e+00, 1.27779578e-01],\n",
" [ -2.61214115e+00, 1.15236903e-01],\n",
" [ -2.65705148e+00, 3.74937924e-02],\n",
" [ -2.22491699e+00, 2.88512891e-01],\n",
" [ -2.02740282e+00, -7.64404075e-03],\n",
" [ -2.52343064e+00, 8.47366476e-02],\n",
" [ -2.38124571e+00, -7.64671121e-02],\n",
" [ -2.56414804e+00, -2.72644296e-03],\n",
" [ -2.47212750e+00, -4.09097231e-02],\n",
" [ -2.56319379e+00, -4.93083379e-03],\n",
" [ 9.47196049e-01, -1.81040197e-01],\n",
" [ 8.00455174e-01, -9.28598918e-03],\n",
" [ 1.17041506e+00, -1.66389774e-01],\n",
" [ 2.65081924e-01, -7.60178109e-03],\n",
" [ 8.94764629e-01, -5.28049353e-02],\n",
" [ 7.23143528e-01, -1.93748519e-01],\n",
" [ 1.02268007e+00, 7.67899271e-03],\n",
" [ -4.98214365e-01, -9.59484957e-03],\n",
" [ 8.16894328e-01, -2.35964800e-01],\n",
" [ 2.08552417e-01, 1.30190204e-01],\n",
" [ -3.11118894e-01, -9.30873048e-02],\n",
" [ 5.23935020e-01, 1.06327392e-01],\n",
" [ 1.50434470e-01, -2.87389429e-01],\n",
" [ 9.46609384e-01, -1.79672330e-01],\n",
" [ -1.06454358e-01, 1.53178707e-01],\n",
" [ 6.70761711e-01, -6.56256773e-02],\n",
" [ 7.99351684e-01, -6.71927591e-03],\n",
" [ 2.39240371e-01, -3.18056915e-01],\n",
" [ 8.05233612e-01, -2.04494464e-02],\n",
" [ 9.44812011e-02, -1.50922125e-01],\n",
" [ 1.19178602e+00, 1.54484029e-01],\n",
" [ 2.63745671e-01, -4.48198894e-03],\n",
" [ 1.17214841e+00, -1.70439813e-01],\n",
" [ 8.69548136e-01, -3.64719523e-01],\n",
" [ 5.40191730e-01, -1.19923928e-01],\n",
" [ 6.71024578e-01, -6.62388028e-02],\n",
" [ 1.04077012e+00, -2.22849569e-01],\n",
" [ 1.34013685e+00, -2.10166418e-02],\n",
" [ 8.00980651e-01, -1.05097214e-02],\n",
" [ -3.12968321e-01, -8.87671287e-02],\n",
" [ 2.72482279e-03, -1.13357175e-01],\n",
" [ -1.28154041e-01, -1.66934946e-01],\n",
" [ 1.32657434e-01, -5.75714915e-02],\n",
" [ 1.39335554e+00, -1.51089540e-01],\n",
" [ 7.98752288e-01, -5.32684046e-03],\n",
" [ 8.37214676e-01, 8.73525267e-02],\n",
" [ 9.85810907e-01, -8.87128472e-02],\n",
" [ 6.35210417e-01, -1.65115568e-01],\n",
" [ 3.53423624e-01, -3.72098768e-02],\n",
" [ 2.63890216e-01, -4.81916245e-03],\n",
" [ 5.92852168e-01, -2.48695094e-01],\n",
" [ 8.54004254e-01, -1.40128508e-01],\n",
" [ 2.25299958e-01, -9.72040822e-02],\n",
" [ -4.97263324e-01, -1.18113910e-02],\n",
" [ 4.47175541e-01, -7.94208207e-02],\n",
" [ 4.07002452e-01, -1.68120582e-01],\n",
" [ 4.46338370e-01, -7.74715547e-02],\n",
" [ 5.39720364e-01, -1.18824584e-01],\n",
" [ -7.35688798e-01, 1.97342224e-01],\n",
" [ 3.54802863e-01, -4.04186370e-02],\n",
" [ 2.56893051e+00, 3.36549049e-01],\n",
" [ 1.50923531e+00, 1.25810552e-01],\n",
" [ 2.32490552e+00, -2.99967297e-04],\n",
" [ 1.93103484e+00, -1.58152399e-01],\n",
" [ 2.27034060e+00, 1.32915425e-01],\n",
" [ 2.97042859e+00, -2.70794531e-01],\n",
" [ 8.77724115e-01, 1.75275647e-01],\n",
" [ 2.57770723e+00, -4.31329518e-01],\n",
" [ 2.11809669e+00, -2.41575733e-01],\n",
" [ 2.66175481e+00, 2.96496897e-01],\n",
" [ 1.54717637e+00, 2.19707612e-01],\n",
" [ 1.69482897e+00, 4.58233552e-02],\n",
" [ 1.95595213e+00, 1.54460935e-01],\n",
" [ 1.45681697e+00, 2.54016093e-01],\n",
" [ 1.70265316e+00, 5.86645141e-01],\n",
" [ 1.84748608e+00, 4.19336178e-01],\n",
" [ 1.83891031e+00, -1.19728129e-01],\n",
" [ 3.09808866e+00, -2.09703497e-01],\n",
" [ 3.32621912e+00, -2.06535318e-01],\n",
" [ 1.26525462e+00, -2.11162927e-01],\n",
" [ 2.21697734e+00, 2.63325554e-01],\n",
" [ 1.36276433e+00, 2.96935335e-01],\n",
" [ 3.02477442e+00, -4.03506232e-01],\n",
" [ 1.28747356e+00, 1.07759403e-01],\n",
" [ 2.13847383e+00, 8.16398811e-02],\n",
" [ 2.29989021e+00, -3.12683184e-01],\n",
" [ 1.19463508e+00, 1.47850523e-01],\n",
" [ 1.28543454e+00, 1.12515046e-01],\n",
" [ 2.04815756e+00, 1.15847699e-01],\n",
" [ 2.03904626e+00, -4.21972981e-01],\n",
" [ 2.43296777e+00, -2.64245731e-01],\n",
" [ 2.74464098e+00, -2.79447127e-01],\n",
" [ 2.08695126e+00, 2.07757940e-01],\n",
" [ 1.35474263e+00, -2.43421674e-01],\n",
" [ 1.77697213e+00, -5.28389190e-01],\n",
" [ 2.58776273e+00, 1.04284447e-01],\n",
" [ 2.16131112e+00, 3.99096144e-01],\n",
" [ 1.83818037e+00, -1.18026744e-01],\n",
" [ 1.19309177e+00, 1.51447323e-01],\n",
" [ 1.86360307e+00, 1.93409322e-01],\n",
" [ 2.16372068e+00, 3.93487090e-01],\n",
" [ 1.66493497e+00, 4.92227215e-01],\n",
" [ 1.50923531e+00, 1.25810552e-01],\n",
" [ 2.40092877e+00, 1.87170977e-01],\n",
" [ 2.29364862e+00, 4.49280846e-01],\n",
" [ 1.75706936e+00, 4.53779865e-01],\n",
" [ 1.41940837e+00, 1.58868682e-01],\n",
" [ 1.64024221e+00, 1.79089765e-01],\n",
" [ 1.93808378e+00, 3.84462581e-01],\n",
" [ 1.46908261e+00, 3.70658825e-02]])"
]
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pca.fit_transform(df.as_matrix())"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1139cb710>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(result[:,0], result[:,1], \".\")\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Date Name Company\n",
"0 2003-01-02 00:00:00 Shun Register\n",
"1 2003-01-03 00:00:00 Shun Quit\n",
"2 2003-01-03 00:00:00 Shun Happy\n",
"3 2003-01-05 00:00:00 Shun Happy\n",
"4 2003-01-05 00:00:00 Shun Happy\n",
"5 2003-01-02 00:00:00 John Quit\n",
"6 2003-01-05 00:00:00 John Happy\n",
"7 2003-01-06 00:00:00 John Sad\n"
]
}
],
"source": [
"df = pd.read_csv(\"./ch09/toy.csv\")\n",
"print df"
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Company</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2003-01-02 00:00:00</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-03 00:00:00</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-05 00:00:00</th>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2003-01-06 00:00:00</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Name Company\n",
"Date \n",
"2003-01-02 00:00:00 2 2\n",
"2003-01-03 00:00:00 2 2\n",
"2003-01-05 00:00:00 3 3\n",
"2003-01-06 00:00:00 1 1"
]
},
"execution_count": 83,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.groupby(df[\"Date\"]).count()"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"schools = pd.read_csv(\"./ch09/toy2.csv\", index_col=0)"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>School</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Name</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Shun</th>\n",
" <td>ISD</td>\n",
" </tr>\n",
" <tr>\n",
" <th>John</th>\n",
" <td>MIS</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Mary</th>\n",
" <td>Minami</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" School\n",
"Name \n",
"Shun ISD\n",
"John MIS\n",
"Mary Minami"
]
},
"execution_count": 87,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"schools"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Date</th>\n",
" <th>Name</th>\n",
" <th>Company</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2003-01-02 00:00:00</td>\n",
" <td>Shun</td>\n",
" <td>Register</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2003-01-03 00:00:00</td>\n",
" <td>Shun</td>\n",
" <td>Quit</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2003-01-03 00:00:00</td>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2003-01-05 00:00:00</td>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2003-01-05 00:00:00</td>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2003-01-02 00:00:00</td>\n",
" <td>John</td>\n",
" <td>Quit</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2003-01-05 00:00:00</td>\n",
" <td>John</td>\n",
" <td>Happy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2003-01-06 00:00:00</td>\n",
" <td>John</td>\n",
" <td>Sad</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Name Company\n",
"0 2003-01-02 00:00:00 Shun Register\n",
"1 2003-01-03 00:00:00 Shun Quit\n",
"2 2003-01-03 00:00:00 Shun Happy\n",
"3 2003-01-05 00:00:00 Shun Happy\n",
"4 2003-01-05 00:00:00 Shun Happy\n",
"5 2003-01-02 00:00:00 John Quit\n",
"6 2003-01-05 00:00:00 John Happy\n",
"7 2003-01-06 00:00:00 John Sad"
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Date</th>\n",
" <th>Name</th>\n",
" <th>Company</th>\n",
" <th>School</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2003-01-02 00:00:00</td>\n",
" <td>Shun</td>\n",
" <td>Register</td>\n",
" <td>ISD</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2003-01-03 00:00:00</td>\n",
" <td>Shun</td>\n",
" <td>Quit</td>\n",
" <td>ISD</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2003-01-03 00:00:00</td>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" <td>ISD</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2003-01-05 00:00:00</td>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" <td>ISD</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2003-01-05 00:00:00</td>\n",
" <td>Shun</td>\n",
" <td>Happy</td>\n",
" <td>ISD</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2003-01-02 00:00:00</td>\n",
" <td>John</td>\n",
" <td>Quit</td>\n",
" <td>MIS</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2003-01-05 00:00:00</td>\n",
" <td>John</td>\n",
" <td>Happy</td>\n",
" <td>MIS</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2003-01-06 00:00:00</td>\n",
" <td>John</td>\n",
" <td>Sad</td>\n",
" <td>MIS</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Name Company School\n",
"0 2003-01-02 00:00:00 Shun Register ISD\n",
"1 2003-01-03 00:00:00 Shun Quit ISD\n",
"2 2003-01-03 00:00:00 Shun Happy ISD\n",
"3 2003-01-05 00:00:00 Shun Happy ISD\n",
"4 2003-01-05 00:00:00 Shun Happy ISD\n",
"5 2003-01-02 00:00:00 John Quit MIS\n",
"6 2003-01-05 00:00:00 John Happy MIS\n",
"7 2003-01-06 00:00:00 John Sad MIS"
]
},
"execution_count": 90,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.merge(df, schools, left_on=\"Name\", right_index=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment