Skip to content

Instantly share code, notes, and snippets.

@decisionstats
Created January 6, 2017 13:33
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 decisionstats/a1554207a7583bad6f53825905e72289 to your computer and use it in GitHub Desktop.
Save decisionstats/a1554207a7583bad6f53825905e72289 to your computer and use it in GitHub Desktop.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"K Means Clustering in Python. including Performance metric ,Confusion Matrix, Visualization"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"from sklearn import datasets\n",
"from sklearn.cluster import KMeans\n",
"import sklearn.metrics as sm\n",
" \n",
"import pandas as pd\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"wine=pd.read_csv(\"http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data\",header=None)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"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>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" <th>5</th>\n",
" <th>6</th>\n",
" <th>7</th>\n",
" <th>8</th>\n",
" <th>9</th>\n",
" <th>10</th>\n",
" <th>11</th>\n",
" <th>12</th>\n",
" <th>13</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>14.23</td>\n",
" <td>1.71</td>\n",
" <td>2.43</td>\n",
" <td>15.6</td>\n",
" <td>127</td>\n",
" <td>2.80</td>\n",
" <td>3.06</td>\n",
" <td>0.28</td>\n",
" <td>2.29</td>\n",
" <td>5.64</td>\n",
" <td>1.04</td>\n",
" <td>3.92</td>\n",
" <td>1065</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>13.20</td>\n",
" <td>1.78</td>\n",
" <td>2.14</td>\n",
" <td>11.2</td>\n",
" <td>100</td>\n",
" <td>2.65</td>\n",
" <td>2.76</td>\n",
" <td>0.26</td>\n",
" <td>1.28</td>\n",
" <td>4.38</td>\n",
" <td>1.05</td>\n",
" <td>3.40</td>\n",
" <td>1050</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>13.16</td>\n",
" <td>2.36</td>\n",
" <td>2.67</td>\n",
" <td>18.6</td>\n",
" <td>101</td>\n",
" <td>2.80</td>\n",
" <td>3.24</td>\n",
" <td>0.30</td>\n",
" <td>2.81</td>\n",
" <td>5.68</td>\n",
" <td>1.03</td>\n",
" <td>3.17</td>\n",
" <td>1185</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>14.37</td>\n",
" <td>1.95</td>\n",
" <td>2.50</td>\n",
" <td>16.8</td>\n",
" <td>113</td>\n",
" <td>3.85</td>\n",
" <td>3.49</td>\n",
" <td>0.24</td>\n",
" <td>2.18</td>\n",
" <td>7.80</td>\n",
" <td>0.86</td>\n",
" <td>3.45</td>\n",
" <td>1480</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>13.24</td>\n",
" <td>2.59</td>\n",
" <td>2.87</td>\n",
" <td>21.0</td>\n",
" <td>118</td>\n",
" <td>2.80</td>\n",
" <td>2.69</td>\n",
" <td>0.39</td>\n",
" <td>1.82</td>\n",
" <td>4.32</td>\n",
" <td>1.04</td>\n",
" <td>2.93</td>\n",
" <td>735</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3 4 5 6 7 8 9 10 11 12 \\\n",
"0 1 14.23 1.71 2.43 15.6 127 2.80 3.06 0.28 2.29 5.64 1.04 3.92 \n",
"1 1 13.20 1.78 2.14 11.2 100 2.65 2.76 0.26 1.28 4.38 1.05 3.40 \n",
"2 1 13.16 2.36 2.67 18.6 101 2.80 3.24 0.30 2.81 5.68 1.03 3.17 \n",
"3 1 14.37 1.95 2.50 16.8 113 3.85 3.49 0.24 2.18 7.80 0.86 3.45 \n",
"4 1 13.24 2.59 2.87 21.0 118 2.80 2.69 0.39 1.82 4.32 1.04 2.93 \n",
"\n",
" 13 \n",
"0 1065 \n",
"1 1050 \n",
"2 1185 \n",
"3 1480 \n",
"4 735 "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wine.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.names we get the column names"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"wine.columns=['winetype','Alcohol','Malic acid','Ash','Alcalinity of ash','Magnesium','Total phenols','Flavanoids','Nonflavanoid phenols','Proanthocyanins','Color intensity','Hue','OD280/OD315 of diluted wines','Proline']"
]
},
{
"cell_type": "code",
"execution_count": 5,
"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>winetype</th>\n",
" <th>Alcohol</th>\n",
" <th>Malic acid</th>\n",
" <th>Ash</th>\n",
" <th>Alcalinity of ash</th>\n",
" <th>Magnesium</th>\n",
" <th>Total phenols</th>\n",
" <th>Flavanoids</th>\n",
" <th>Nonflavanoid phenols</th>\n",
" <th>Proanthocyanins</th>\n",
" <th>Color intensity</th>\n",
" <th>Hue</th>\n",
" <th>OD280/OD315 of diluted wines</th>\n",
" <th>Proline</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>14.23</td>\n",
" <td>1.71</td>\n",
" <td>2.43</td>\n",
" <td>15.6</td>\n",
" <td>127</td>\n",
" <td>2.80</td>\n",
" <td>3.06</td>\n",
" <td>0.28</td>\n",
" <td>2.29</td>\n",
" <td>5.64</td>\n",
" <td>1.04</td>\n",
" <td>3.92</td>\n",
" <td>1065</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>13.20</td>\n",
" <td>1.78</td>\n",
" <td>2.14</td>\n",
" <td>11.2</td>\n",
" <td>100</td>\n",
" <td>2.65</td>\n",
" <td>2.76</td>\n",
" <td>0.26</td>\n",
" <td>1.28</td>\n",
" <td>4.38</td>\n",
" <td>1.05</td>\n",
" <td>3.40</td>\n",
" <td>1050</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>13.16</td>\n",
" <td>2.36</td>\n",
" <td>2.67</td>\n",
" <td>18.6</td>\n",
" <td>101</td>\n",
" <td>2.80</td>\n",
" <td>3.24</td>\n",
" <td>0.30</td>\n",
" <td>2.81</td>\n",
" <td>5.68</td>\n",
" <td>1.03</td>\n",
" <td>3.17</td>\n",
" <td>1185</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>14.37</td>\n",
" <td>1.95</td>\n",
" <td>2.50</td>\n",
" <td>16.8</td>\n",
" <td>113</td>\n",
" <td>3.85</td>\n",
" <td>3.49</td>\n",
" <td>0.24</td>\n",
" <td>2.18</td>\n",
" <td>7.80</td>\n",
" <td>0.86</td>\n",
" <td>3.45</td>\n",
" <td>1480</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>13.24</td>\n",
" <td>2.59</td>\n",
" <td>2.87</td>\n",
" <td>21.0</td>\n",
" <td>118</td>\n",
" <td>2.80</td>\n",
" <td>2.69</td>\n",
" <td>0.39</td>\n",
" <td>1.82</td>\n",
" <td>4.32</td>\n",
" <td>1.04</td>\n",
" <td>2.93</td>\n",
" <td>735</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" winetype Alcohol Malic acid Ash Alcalinity of ash Magnesium \\\n",
"0 1 14.23 1.71 2.43 15.6 127 \n",
"1 1 13.20 1.78 2.14 11.2 100 \n",
"2 1 13.16 2.36 2.67 18.6 101 \n",
"3 1 14.37 1.95 2.50 16.8 113 \n",
"4 1 13.24 2.59 2.87 21.0 118 \n",
"\n",
" Total phenols Flavanoids Nonflavanoid phenols Proanthocyanins \\\n",
"0 2.80 3.06 0.28 2.29 \n",
"1 2.65 2.76 0.26 1.28 \n",
"2 2.80 3.24 0.30 2.81 \n",
"3 3.85 3.49 0.24 2.18 \n",
"4 2.80 2.69 0.39 1.82 \n",
"\n",
" Color intensity Hue OD280/OD315 of diluted wines Proline \n",
"0 5.64 1.04 3.92 1065 \n",
"1 4.38 1.05 3.40 1050 \n",
"2 5.68 1.03 3.17 1185 \n",
"3 7.80 0.86 3.45 1480 \n",
"4 4.32 1.04 2.93 735 "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wine.head()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 178 entries, 0 to 177\n",
"Data columns (total 14 columns):\n",
"winetype 178 non-null int64\n",
"Alcohol 178 non-null float64\n",
"Malic acid 178 non-null float64\n",
"Ash 178 non-null float64\n",
"Alcalinity of ash 178 non-null float64\n",
"Magnesium 178 non-null int64\n",
"Total phenols 178 non-null float64\n",
"Flavanoids 178 non-null float64\n",
"Nonflavanoid phenols 178 non-null float64\n",
"Proanthocyanins 178 non-null float64\n",
"Color intensity 178 non-null float64\n",
"Hue 178 non-null float64\n",
"OD280/OD315 of diluted wines 178 non-null float64\n",
"Proline 178 non-null int64\n",
"dtypes: float64(11), int64(3)\n",
"memory usage: 19.5 KB\n"
]
}
],
"source": [
"wine.info()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"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>winetype</th>\n",
" <th>Alcohol</th>\n",
" <th>Malic acid</th>\n",
" <th>Ash</th>\n",
" <th>Alcalinity of ash</th>\n",
" <th>Magnesium</th>\n",
" <th>Total phenols</th>\n",
" <th>Flavanoids</th>\n",
" <th>Nonflavanoid phenols</th>\n",
" <th>Proanthocyanins</th>\n",
" <th>Color intensity</th>\n",
" <th>Hue</th>\n",
" <th>OD280/OD315 of diluted wines</th>\n",
" <th>Proline</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>178.000000</td>\n",
" <td>178.000000</td>\n",
" <td>178.000000</td>\n",
" <td>178.000000</td>\n",
" <td>178.000000</td>\n",
" <td>178.000000</td>\n",
" <td>178.000000</td>\n",
" <td>178.000000</td>\n",
" <td>178.000000</td>\n",
" <td>178.000000</td>\n",
" <td>178.000000</td>\n",
" <td>178.000000</td>\n",
" <td>178.000000</td>\n",
" <td>178.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>1.938202</td>\n",
" <td>13.000618</td>\n",
" <td>2.336348</td>\n",
" <td>2.366517</td>\n",
" <td>19.494944</td>\n",
" <td>99.741573</td>\n",
" <td>2.295112</td>\n",
" <td>2.029270</td>\n",
" <td>0.361854</td>\n",
" <td>1.590899</td>\n",
" <td>5.058090</td>\n",
" <td>0.957449</td>\n",
" <td>2.611685</td>\n",
" <td>746.893258</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.775035</td>\n",
" <td>0.811827</td>\n",
" <td>1.117146</td>\n",
" <td>0.274344</td>\n",
" <td>3.339564</td>\n",
" <td>14.282484</td>\n",
" <td>0.625851</td>\n",
" <td>0.998859</td>\n",
" <td>0.124453</td>\n",
" <td>0.572359</td>\n",
" <td>2.318286</td>\n",
" <td>0.228572</td>\n",
" <td>0.709990</td>\n",
" <td>314.907474</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>1.000000</td>\n",
" <td>11.030000</td>\n",
" <td>0.740000</td>\n",
" <td>1.360000</td>\n",
" <td>10.600000</td>\n",
" <td>70.000000</td>\n",
" <td>0.980000</td>\n",
" <td>0.340000</td>\n",
" <td>0.130000</td>\n",
" <td>0.410000</td>\n",
" <td>1.280000</td>\n",
" <td>0.480000</td>\n",
" <td>1.270000</td>\n",
" <td>278.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>1.000000</td>\n",
" <td>12.362500</td>\n",
" <td>1.602500</td>\n",
" <td>2.210000</td>\n",
" <td>17.200000</td>\n",
" <td>88.000000</td>\n",
" <td>1.742500</td>\n",
" <td>1.205000</td>\n",
" <td>0.270000</td>\n",
" <td>1.250000</td>\n",
" <td>3.220000</td>\n",
" <td>0.782500</td>\n",
" <td>1.937500</td>\n",
" <td>500.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>2.000000</td>\n",
" <td>13.050000</td>\n",
" <td>1.865000</td>\n",
" <td>2.360000</td>\n",
" <td>19.500000</td>\n",
" <td>98.000000</td>\n",
" <td>2.355000</td>\n",
" <td>2.135000</td>\n",
" <td>0.340000</td>\n",
" <td>1.555000</td>\n",
" <td>4.690000</td>\n",
" <td>0.965000</td>\n",
" <td>2.780000</td>\n",
" <td>673.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>3.000000</td>\n",
" <td>13.677500</td>\n",
" <td>3.082500</td>\n",
" <td>2.557500</td>\n",
" <td>21.500000</td>\n",
" <td>107.000000</td>\n",
" <td>2.800000</td>\n",
" <td>2.875000</td>\n",
" <td>0.437500</td>\n",
" <td>1.950000</td>\n",
" <td>6.200000</td>\n",
" <td>1.120000</td>\n",
" <td>3.170000</td>\n",
" <td>985.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>3.000000</td>\n",
" <td>14.830000</td>\n",
" <td>5.800000</td>\n",
" <td>3.230000</td>\n",
" <td>30.000000</td>\n",
" <td>162.000000</td>\n",
" <td>3.880000</td>\n",
" <td>5.080000</td>\n",
" <td>0.660000</td>\n",
" <td>3.580000</td>\n",
" <td>13.000000</td>\n",
" <td>1.710000</td>\n",
" <td>4.000000</td>\n",
" <td>1680.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" winetype Alcohol Malic acid Ash Alcalinity of ash \\\n",
"count 178.000000 178.000000 178.000000 178.000000 178.000000 \n",
"mean 1.938202 13.000618 2.336348 2.366517 19.494944 \n",
"std 0.775035 0.811827 1.117146 0.274344 3.339564 \n",
"min 1.000000 11.030000 0.740000 1.360000 10.600000 \n",
"25% 1.000000 12.362500 1.602500 2.210000 17.200000 \n",
"50% 2.000000 13.050000 1.865000 2.360000 19.500000 \n",
"75% 3.000000 13.677500 3.082500 2.557500 21.500000 \n",
"max 3.000000 14.830000 5.800000 3.230000 30.000000 \n",
"\n",
" Magnesium Total phenols Flavanoids Nonflavanoid phenols \\\n",
"count 178.000000 178.000000 178.000000 178.000000 \n",
"mean 99.741573 2.295112 2.029270 0.361854 \n",
"std 14.282484 0.625851 0.998859 0.124453 \n",
"min 70.000000 0.980000 0.340000 0.130000 \n",
"25% 88.000000 1.742500 1.205000 0.270000 \n",
"50% 98.000000 2.355000 2.135000 0.340000 \n",
"75% 107.000000 2.800000 2.875000 0.437500 \n",
"max 162.000000 3.880000 5.080000 0.660000 \n",
"\n",
" Proanthocyanins Color intensity Hue \\\n",
"count 178.000000 178.000000 178.000000 \n",
"mean 1.590899 5.058090 0.957449 \n",
"std 0.572359 2.318286 0.228572 \n",
"min 0.410000 1.280000 0.480000 \n",
"25% 1.250000 3.220000 0.782500 \n",
"50% 1.555000 4.690000 0.965000 \n",
"75% 1.950000 6.200000 1.120000 \n",
"max 3.580000 13.000000 1.710000 \n",
"\n",
" OD280/OD315 of diluted wines Proline \n",
"count 178.000000 178.000000 \n",
"mean 2.611685 746.893258 \n",
"std 0.709990 314.907474 \n",
"min 1.270000 278.000000 \n",
"25% 1.937500 500.500000 \n",
"50% 2.780000 673.500000 \n",
"75% 3.170000 985.000000 \n",
"max 4.000000 1680.000000 "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wine.describe()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"2 71\n",
"1 59\n",
"3 48\n",
"Name: winetype, dtype: int64"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.value_counts(wine['winetype'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"R solution is https://rstudio-pubs-static.s3.amazonaws.com/33876_1d7794d9a86647ca90c4f182df93f0e8.html"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"x=wine.ix[:,1:14]\n",
"y=wine.ix[:,:1]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['Alcohol', 'Malic acid', 'Ash', 'Alcalinity of ash', 'Magnesium',\n",
" 'Total phenols', 'Flavanoids', 'Nonflavanoid phenols',\n",
" 'Proanthocyanins', 'Color intensity', 'Hue',\n",
" 'OD280/OD315 of diluted wines', 'Proline'],\n",
" dtype='object')"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x.columns"
]
},
{
"cell_type": "code",
"execution_count": 33,
"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>Alcohol</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>14.23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>13.20</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>13.16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>14.37</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>13.24</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Alcohol\n",
"0 14.23\n",
"1 13.20\n",
"2 13.16\n",
"3 14.37\n",
"4 13.24"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x.ix[:,:1].head()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['winetype'], dtype='object')"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y.columns"
]
},
{
"cell_type": "code",
"execution_count": 13,
"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>Alcohol</th>\n",
" <th>Malic acid</th>\n",
" <th>Ash</th>\n",
" <th>Alcalinity of ash</th>\n",
" <th>Magnesium</th>\n",
" <th>Total phenols</th>\n",
" <th>Flavanoids</th>\n",
" <th>Nonflavanoid phenols</th>\n",
" <th>Proanthocyanins</th>\n",
" <th>Color intensity</th>\n",
" <th>Hue</th>\n",
" <th>OD280/OD315 of diluted wines</th>\n",
" <th>Proline</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>14.23</td>\n",
" <td>1.71</td>\n",
" <td>2.43</td>\n",
" <td>15.6</td>\n",
" <td>127</td>\n",
" <td>2.80</td>\n",
" <td>3.06</td>\n",
" <td>0.28</td>\n",
" <td>2.29</td>\n",
" <td>5.64</td>\n",
" <td>1.04</td>\n",
" <td>3.92</td>\n",
" <td>1065</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>13.20</td>\n",
" <td>1.78</td>\n",
" <td>2.14</td>\n",
" <td>11.2</td>\n",
" <td>100</td>\n",
" <td>2.65</td>\n",
" <td>2.76</td>\n",
" <td>0.26</td>\n",
" <td>1.28</td>\n",
" <td>4.38</td>\n",
" <td>1.05</td>\n",
" <td>3.40</td>\n",
" <td>1050</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>13.16</td>\n",
" <td>2.36</td>\n",
" <td>2.67</td>\n",
" <td>18.6</td>\n",
" <td>101</td>\n",
" <td>2.80</td>\n",
" <td>3.24</td>\n",
" <td>0.30</td>\n",
" <td>2.81</td>\n",
" <td>5.68</td>\n",
" <td>1.03</td>\n",
" <td>3.17</td>\n",
" <td>1185</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>14.37</td>\n",
" <td>1.95</td>\n",
" <td>2.50</td>\n",
" <td>16.8</td>\n",
" <td>113</td>\n",
" <td>3.85</td>\n",
" <td>3.49</td>\n",
" <td>0.24</td>\n",
" <td>2.18</td>\n",
" <td>7.80</td>\n",
" <td>0.86</td>\n",
" <td>3.45</td>\n",
" <td>1480</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>13.24</td>\n",
" <td>2.59</td>\n",
" <td>2.87</td>\n",
" <td>21.0</td>\n",
" <td>118</td>\n",
" <td>2.80</td>\n",
" <td>2.69</td>\n",
" <td>0.39</td>\n",
" <td>1.82</td>\n",
" <td>4.32</td>\n",
" <td>1.04</td>\n",
" <td>2.93</td>\n",
" <td>735</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Alcohol Malic acid Ash Alcalinity of ash Magnesium Total phenols \\\n",
"0 14.23 1.71 2.43 15.6 127 2.80 \n",
"1 13.20 1.78 2.14 11.2 100 2.65 \n",
"2 13.16 2.36 2.67 18.6 101 2.80 \n",
"3 14.37 1.95 2.50 16.8 113 3.85 \n",
"4 13.24 2.59 2.87 21.0 118 2.80 \n",
"\n",
" Flavanoids Nonflavanoid phenols Proanthocyanins Color intensity Hue \\\n",
"0 3.06 0.28 2.29 5.64 1.04 \n",
"1 2.76 0.26 1.28 4.38 1.05 \n",
"2 3.24 0.30 2.81 5.68 1.03 \n",
"3 3.49 0.24 2.18 7.80 0.86 \n",
"4 2.69 0.39 1.82 4.32 1.04 \n",
"\n",
" OD280/OD315 of diluted wines Proline \n",
"0 3.92 1065 \n",
"1 3.40 1050 \n",
"2 3.17 1185 \n",
"3 3.45 1480 \n",
"4 2.93 735 "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x.head()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"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>winetype</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" winetype\n",
"0 1\n",
"1 1\n",
"2 1\n",
"3 1\n",
"4 1"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y.head()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<bound method DataFrame.info of winetype\n",
"0 1\n",
"1 1\n",
"2 1\n",
"3 1\n",
"4 1\n",
"5 1\n",
"6 1\n",
"7 1\n",
"8 1\n",
"9 1\n",
"10 1\n",
"11 1\n",
"12 1\n",
"13 1\n",
"14 1\n",
"15 1\n",
"16 1\n",
"17 1\n",
"18 1\n",
"19 1\n",
"20 1\n",
"21 1\n",
"22 1\n",
"23 1\n",
"24 1\n",
"25 1\n",
"26 1\n",
"27 1\n",
"28 1\n",
"29 1\n",
".. ...\n",
"148 3\n",
"149 3\n",
"150 3\n",
"151 3\n",
"152 3\n",
"153 3\n",
"154 3\n",
"155 3\n",
"156 3\n",
"157 3\n",
"158 3\n",
"159 3\n",
"160 3\n",
"161 3\n",
"162 3\n",
"163 3\n",
"164 3\n",
"165 3\n",
"166 3\n",
"167 3\n",
"168 3\n",
"169 3\n",
"170 3\n",
"171 3\n",
"172 3\n",
"173 3\n",
"174 3\n",
"175 3\n",
"176 3\n",
"177 3\n",
"\n",
"[178 rows x 1 columns]>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y.info"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"KMeans(copy_x=True, init='k-means++', max_iter=300, n_clusters=3, n_init=10,\n",
" n_jobs=1, precompute_distances='auto', random_state=None, tol=0.0001,\n",
" verbose=0)"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# K Means Cluster\n",
"model = KMeans(n_clusters=3)\n",
"model.fit(x)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0,\n",
" 0, 2, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0,\n",
" 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 1, 2, 1, 1, 2,\n",
" 2, 2, 1, 1, 0, 2, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1,\n",
" 1, 1, 1, 2, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1,\n",
" 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 2, 1,\n",
" 1, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 2, 2, 1,\n",
" 2, 1, 2, 2, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 1], dtype=int32)"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.labels_"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"1 69\n",
"2 62\n",
"0 47\n",
"dtype: int64"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.value_counts(model.labels_)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"2 71\n",
"1 59\n",
"3 48\n",
"Name: winetype, dtype: int64"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.value_counts(y['winetype'])"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# We convert all the 1s to 0s and 0s to 1s.\n",
"predY = np.choose(model.labels_, [1, 2, 3]).astype(np.int64)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 1\n",
"1 1\n",
"2 1\n",
"3 1\n",
"4 1\n",
"5 1\n",
"6 1\n",
"7 1\n",
"8 1\n",
"9 1\n",
"10 1\n",
"11 1\n",
"12 1\n",
"13 1\n",
"14 1\n",
"15 1\n",
"16 1\n",
"17 1\n",
"18 1\n",
"19 1\n",
"20 1\n",
"21 1\n",
"22 1\n",
"23 1\n",
"24 1\n",
"25 1\n",
"26 1\n",
"27 1\n",
"28 1\n",
"29 1\n",
" ..\n",
"148 3\n",
"149 3\n",
"150 3\n",
"151 3\n",
"152 3\n",
"153 3\n",
"154 3\n",
"155 3\n",
"156 3\n",
"157 3\n",
"158 3\n",
"159 3\n",
"160 3\n",
"161 3\n",
"162 3\n",
"163 3\n",
"164 3\n",
"165 3\n",
"166 3\n",
"167 3\n",
"168 3\n",
"169 3\n",
"170 3\n",
"171 3\n",
"172 3\n",
"173 3\n",
"174 3\n",
"175 3\n",
"176 3\n",
"177 3\n",
"Name: winetype, dtype: int64\n",
"[0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 0 0 2 2 0 0 2 0 0 0 0 0 0 2 2\n",
" 0 0 2 2 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 2 1 1 2 1 1 2 2 2 1 1 0\n",
" 2 1 1 1 2 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 1 2 1\n",
" 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 2 2 2 2 1 1 1 2 2 1 1 2 2 1 2\n",
" 2 1 1 1 1 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 1]\n",
"[1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 1 1 3 3 1 1 3 1 1 1 1 1 1 3 3\n",
" 1 1 3 3 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 2 3 2 2 3 2 2 3 3 3 2 2 1\n",
" 3 2 2 2 3 2 2 3 3 2 2 2 2 2 3 3 2 2 2 2 2 3 3 2 3 2 3 2 2 2 3 2 2 2 2 3 2\n",
" 2 3 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 3 2 2 3 3 3 3 2 2 2 3 3 2 2 3 3 2 3\n",
" 3 2 2 2 2 3 3 3 2 3 3 3 2 3 2 3 3 2 3 3 3 3 2 2 3 3 3 3 3 2]\n"
]
}
],
"source": [
"print (y['winetype'])\n",
"print (model.labels_)\n",
"print (predY)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.702247191011236"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Performance Metrics\n",
"sm.accuracy_score(y, predY)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([[46, 0, 13],\n",
" [ 1, 50, 20],\n",
" [ 0, 19, 29]])"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Confusion Matrix\n",
"sm.confusion_matrix(y, predY)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([1, 2, 3])"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.unique(y.winetype)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#!sudo pip install ggplot"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from ggplot import *\n",
"%matplotlib inline "
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f4083ee9358>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<ggplot: (-9223363292162990364)>"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"p = ggplot(aes(x='Alcohol', y='Ash',color=\"winetype\"), data=wine)\n",
"p + geom_point()"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtcAAAIACAYAAABJtUDKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8W9X9//HX1faSVzwSx9mbDLJDyAQCCXtDWaHslhLo\noNABtKVAobT9QQu0lNUWCqVQSssolG8hQEIm2YHs4Uw73lPWuL8/RJTIsRM7kbXyfj4eeTxyrXuv\nPjqS5beOzj3HME3TREREREREjpkl1gWIiIiIiCQLhWsRERERkQhRuBYRERERiRCFaxERERGRCFG4\nFhERERGJEIVrEREREZEIscW6gEjz+Xw8//zz+P1+AoEAQ4YMYdq0aWH7bN26lZdffpns7GwABg8e\nzNSpU2NQrYiIiIgkk6QL1zabjdmzZ+NwOAgEAjz77LP069eP7t27h+3Xs2dPrrjiihhVKSIiIiLJ\nKCmHhTgcDiDYix0IBDAMI8YViYiIiMjxIOl6rgECgQBPP/00FRUVjBs3jqKiokP2KSkp4amnnsLt\ndjNjxgzy8/NjUKmIiIiIJBMjmZc/b2pq4pVXXuHMM88MC88ejwfDMHA4HGzYsIF3332XOXPmAFBT\nU0NdXV3YedLT03G73VGtXUREREQST1L2XO/ncrno3bs3GzduDAvXTqcz9P/+/fvz9ttv09DQQGpq\nKkuXLmXu3Llh55k6dSrTp0+PWt0iIiIikpiSLlzX19djtVpxuVx4vV42bdrEpEmTwvapq6sjPT0d\ngB07dmCaJqmpqQCMHj2agQMHhu2fnp5OZWUlPp8vOg8iQpxOJx6PJ9ZldJjNZiM7O1ttHiVq7+hK\n5PYGtXm0qb2jKxHbGw60ucSHpAvXdXV1vPHGG5imiWmaDB06lAEDBrBkyRIAxowZw9q1a1m8eDFW\nqxWbzcYll1wSOt7tdrc6BKSsrAyv1xu1xxEJNpst4Wo+mM/nS7j6E7nN1d7RlYjtDWrzaFN7R1ci\nt7fEj6QL1wUFBdxyyy2H/HzMmDGh/48bN45x48ZFsywREREROQ4k5VR8IiIiIiKxoHAtIiIiIhIh\nCtciIiIiIhGicC0iIiIiEiEK1yIiIiIiEaJwLSIiIiISIQrXIiIiIiIRonAtIiIiIhIhCtciIiIi\nIhGicC0iIiIiEiEK1yIiIiIiEaJwLSIiIiISIQrXIiIiIiIRonAtIiIiIhIhCtciIiIiIhGicC0i\nIiIiEiEK1yIiIiIiEaJwLSIiIiISIQrXIiIiIiIRonAtIiIiIhIhCtciIiIiIhGicC0iIiIiEiEK\n1yIiIiIiEaJwLSIiIiISIQrXIiIiIiIRonAtIiIiIhIhCtciIiIiIhGicC0iIiIiEiEK1yIiIiIi\nEaJwLSIiIiISIQrXIiIiIiIRonAtIiIiIhIhCtciIiIiIhGicC0iIiIiEiEK1yIiIiIiEaJwLSIi\nIiISIQrXIiIiIiIRonAtIiIiIhIhCtciIiIiIhGicC0iIiIiEiEK1yIiIiIiEWKYpmnGuoh419TU\nRFNTE4nWVBaLhUAgEOsyOswwDBwOB83NzWrzKFB7R1citzeozaNN7R1didjeEGzzrKysWJchX7HF\nuoBE4HK5qK2txev1xrqUDklJSaGxsTHWZXSY3W4nKyuL+vr6hG7zfTWNPP2ftVTUeTh1RBGzRveM\ncXWtS5b2ThSJ3N6gNo82tXd0JWJ7Q7DNJX4oXIt0kodfW8a6nVUArN9ZRdfsNE7s0yXGVUk8Cphg\nMWJdhYiIRILGXIt0kq2ltWHb21psiwC8tcnGze+l8I33U1i4yxrrckRE5BgpXIt0kpEH9VLbLAZD\ne+bEsBqJR9uqDV5f78BnGjT5DZ5Z5aAxsb5FFxGRFjQsRKSTfPeCE3l93iYq6jxMG9aNvl0zY12S\nxJk6b/hYEF/AoNFnkGJPrIvARETkAIVrkU7itFu5YtqAWJchcaxfdoDijAAltcEvEU/M95HtUrAW\nEUlkCtciIjHitMIPJjSxdI8VuxXGFPgxdGGjiEhCU7gWEYmhFBtM6u6PdRkiIhIhuqBRRERERCRC\nFK5FRERERCJE4VpEREREJEIUrkVEREREIkThWkREREQkQhSuRUREREQiROFaRERERCRCFK5FRERE\nRCJE4VpEREREJEIUrkVEREREIkThWkREREQkQhSuRUREREQiROFaRERERCRCFK5FRERERCJE4VpE\nREREJEIUrkVEREREIkThWkREREQkQhSuRUREREQiROFaRERERCRCFK5FRERERCJE4VpEREREJEIU\nrkVEREREIkThWkREREQkQhSuRUREREQiROFaRERERCRCFK5FRERERCJE4VpEREREJEIUrkVERERE\nIkThWkREREQkQhSuRUREREQixBbrAiLN5/Px/PPP4/f7CQQCDBkyhGnTph2y3zvvvMPGjRux2+2c\n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\n7ClJuvnmm9WjRw8dOnRIc+bM0SOPPKJFixaFrp0/f75uueUWVVRUaOLEibr33nslST6fTxMnTtS1\n116rsrIy/e53v9Ott96qkpKSSPzYANAhEK4BIIKWLVumPXv26Jvf/KaGDBmiPn366M033zzjvBkz\nZujOO+/UVVddJUnKzs5W3759tW/fPq1cuVL/9V//JYfDoYKCAn3ve9/TrFmzQteOHj1a11xzjSwW\ni2677TZt3LhRkrRy5UpVV1frpz/9qex2u4qKijRhwgS99dZbkfnhAaADIFwDQATNmjVL48ePV1pa\nmiRp6tSpmjlz5hnn7d27V7179z7j+wcOHFB6eroSEhJC38vNzdX+/ftDx126dAl9nZCQoLq6OgUC\nAR08eFDdu3dvcn+nXwsAuDB2swsAgI6irq5Os2fPViAQUHZ2tqTG+dEVFRWh0eWvdO/eXTt37jzj\nPnJycnT8+HFVV1crMTFRkrRnzx517dr1vI+fk5OjvXv3Nvnenj17lJ+f39YfCQBwGkauASBC5s6d\nK7vdrm3btmnDhg3asGGDiouLdcUVVzSZ1iFJd955p1599VV9/PHHCgaDOnDggD7//HN169ZNo0aN\n0sMPPyyv16uNGzfqlVdeOefa1sFgUJI0YsQIJSQk6JlnnpHP59OiRYv07rvvaurUqWH9uQGgIyFc\nA0CEzJo1S3fccYe6du2qzMzM0H/33nuv3nzzTfn9/tC5w4YN06uvvqrp06crJSVFV155pfbs2SNJ\nevPNN7Vr1y7l5OTopptu0pNPPqmioqKzPu5X6147HA7Nnz9f77//vjp37qwf/ehHev3115WXl9fk\nPABA21mCXw1pAAAAALggjFwDAAAABiFcAwAAAAYhXAMAAAAGIVwDAAAABiFcAwAAAAYhXAMAAAAG\nIVwDAAAABiFcAwAAAAYhXAMAAAAG+f+XvK/gYPkchQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f4083ed31d0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<ggplot: (8744691751337)>"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"p2 = ggplot(aes(x='Alcohol', y='Ash',color=\"predY\"), data=wine)\n",
"p2 + geom_point()"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [Root]",
"language": "python",
"name": "Python [Root]"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment