{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Clustering with K-Means\n", "\n", "Clustering analysis is one of approaches to unsupervised learning. It groups data in such a way that objects in the same group/cluster are similar to each other and objects in different clusters diverge.\n", "\n", "There are many algorithms implementing cluster analysis with different ideas behind them. K-Means is one of the most used.\n", "\n", "At first I'll try K-Means algorithm from sklearn. Then I'll write a simple clustering algorithm. After that I'll show how high-dimensional data may be visualized." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. [K-Means clustering](#kmeans)\n", "2. [K-Means clustering with two variables](#kmeans_2)\n", "3. [Implementation of KMeans](#manual)\n", "4. [Voronoi diagram](#voron)\n", "5. [High-dimensional data visualization](#manyd)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", "import matplotlib.cm as cmx\n", "from mpl_toolkits.mplot3d import Axes3D\n", "%matplotlib inline\n", "\n", "from sklearn.decomposition import PCA\n", "from sklearn.cluster import MiniBatchKMeans, KMeans\n", "from sklearn.datasets.samples_generator import make_blobs\n", "from sklearn.neighbors import kneighbors_graph\n", "from sklearn.metrics import classification_report" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## K-Means clustering" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "K-Means clusters data by grouping the samples in groups of equal variance by minimizing within-cluster sum-of-squares.\n", "$$ \\sum_{i=0}^{n} \\min_{\\\\\\mu_i \\in C} (||x_i - \\mu_i||)^2 $$\n", "\n", "The steps of the algorithm are the following:\n", "\n", "* Set initial centroids (starting points);\n", "* Assign samples to the nearest centroids;\n", "* Take means of all samples assigned to centroids and create new centroids with these vales;\n", "* Repeat two previous steps until centroids stop moving significantly;\n", "\n", "K-Means always converges, but sometimes to local minimum. That's why algorithm is usually run several times with different initial centroids.\n", "\n", "Number of clasters must be specified, so if we don't know how many clusters exist in the data, then algorithm should be run with various number of clusters to find the best match.\n", "\n", "But the serious advantage is that algorithm is simple and can be easily optimised, which allows to run it even on big datasets." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this notebook I use [dataset](https://archive.ics.uci.edu/ml/datasets/seeds) with information about seeds. Most of the variables are self-explanatory; length_g - length of kernel groove." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "header = ['area', 'perimeter', 'compactness', 'length', 'width', 'asymmetry', 'length_g', 'type']\n", "seeds = pd.read_csv('../input/seeds_dataset.txt', delimiter='\\t+', names=header, engine='python')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 210 entries, 0 to 209\n", "Data columns (total 8 columns):\n", "area 210 non-null float64\n", "perimeter 210 non-null float64\n", "compactness 210 non-null float64\n", "length 210 non-null float64\n", "width 210 non-null float64\n", "asymmetry 210 non-null float64\n", "length_g 210 non-null float64\n", "type 210 non-null int64\n", "dtypes: float64(7), int64(1)\n", "memory usage: 13.2 KB\n" ] } ], "source": [ "seeds.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "No missing values and all columns are numerical." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
areaperimetercompactnesslengthwidthasymmetrylength_gtype
015.2614.840.87105.7633.3122.2215.2201
114.8814.570.88115.5543.3331.0184.9561
214.2914.090.90505.2913.3372.6994.8251
313.8413.940.89555.3243.3792.2594.8051
416.1414.990.90345.6583.5621.3555.1751
\n", "
" ], "text/plain": [ " area perimeter compactness length width asymmetry length_g type\n", "0 15.26 14.84 0.8710 5.763 3.312 2.221 5.220 1\n", "1 14.88 14.57 0.8811 5.554 3.333 1.018 4.956 1\n", "2 14.29 14.09 0.9050 5.291 3.337 2.699 4.825 1\n", "3 13.84 13.94 0.8955 5.324 3.379 2.259 4.805 1\n", "4 16.14 14.99 0.9034 5.658 3.562 1.355 5.175 1" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "seeds.head()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n", " 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n", " 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n", " 3, 3, 3], dtype=int64)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#There are three unique types of seeds. I take array of data so that it will be easier to compare with the results of clustering.\n", "np.array(seeds.type)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 2, 2, 2,\n", " 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 0, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2,\n", " 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2,\n", " 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,\n", " 0, 0, 0])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#I know that there are 3 clusters, so I can run KMeans to find 3 clusters in data.\n", "km = KMeans(n_clusters=3, n_jobs=-1)\n", "kmeans_pred = km.fit_predict(seeds.drop(['type'], axis=1))\n", "kmeans_pred" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "#Labels created by KMeans don't correspond to the original (obviously), so they need to be changed manually. \n", "for i in range(len(kmeans_pred)):\n", " if kmeans_pred[i] == 2:\n", " kmeans_pred[i] = 1\n", " elif kmeans_pred[i] == 0:\n", " kmeans_pred[i] = 3\n", " elif kmeans_pred[i] == 1:\n", " kmeans_pred[i] = 2" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy of clustering is 89.52%\n" ] } ], "source": [ "print('Accuracy of clustering is ' + '{}{}'.format(round(100 * sum(kmeans_pred == seeds.type) / len(seeds.type), 2), '%'))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " precision recall f1-score support\n", "\n", " 1 0.8333 0.8571 0.8451 70\n", " 2 0.9836 0.8571 0.9160 70\n", " 3 0.8831 0.9714 0.9252 70\n", "\n", "avg / total 0.9000 0.8952 0.8954 210\n", "\n" ] } ], "source": [ "print(classification_report(seeds.type, kmeans_pred, target_names=['1', '2', '3'], digits=4))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Precision is the fraction of retrieved instances that are relevant and recall is the fraction of relevant instances that are retrieved. So for second class 98% of predictions were correct and for third class 97% of labels were predicted correctly.\n", "\n", "So the data can be separated into clusters with a good accuracy." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## K-Means clustering with two variables" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Not let's try clustering for only two variables so that we can visualize it." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "seeds_small = seeds[['area', 'length']]\n", "pred_small = km.fit_predict(seeds_small)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n", " 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n", " 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n", " 3, 3, 3], dtype=int64)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "seed_target = np.array(seeds.type)\n", "seed_target" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2,\n", " 0, 2, 2, 0, 0, 2, 0, 0, 2, 2, 2, 2, 2, 2, 1, 2, 2, 0, 0, 0, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,\n", " 0, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2,\n", " 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pred_small" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Now I change the target's values so that the range of values is [0, 1, 2] - to use them as iteration of the list of colors.\n", "for i in range(len(seed_target)):\n", " if seed_target[i] == 1:\n", " seed_target[i] = 2\n", " elif seed_target[i] == 3:\n", " seed_target[i] = 0\n", " else:\n", " seed_target[i] = 1" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAywAAAGrCAYAAAAipBPUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8lFX2x/HPTc8kBBAQRMACi6DIosTGqmvvbXctWFB0\nV6w/V9eGZde+dnddxYprwS6WRRFX0VWwG8UCUpQmvYOkt/P74yaSZCaQhJk8M5Pvm9e8gGdmnueE\nMifnufee68wMERERERGReJQSdAAiIiIiIiKNUcEiIiIiIiJxSwWLiIiIiIjELRUsIiIiIiISt1Sw\niIiIiIhI3FLBIiIiIiIicUsFi7R5zrn3nXN/au33ioiINOSc29Y5Z865tJrfT3DOndGC8/RyzhU6\n51KjH6VI61LBIknFOTfPOXdQ0HGIiEhyq8k3JTVFwTLn3BPOudxoX8fMDjezJ5sYzy/5z8x+MrNc\nM6uKdkwirU0Fi4iIiEjLHG1mucCuQD5wbd0nnafvtUQ2k/4TSdJzznV0zr3hnFvhnFtT8+seDV7W\n2zn3uXPuZ+fcf5xzW9R5/57OuY+dc2udc9845/Zr5Dp9nHMfOOfWOedWOudeiOXXJSIi8cHMFgET\ngAE1U4Vvcc59BBQD2zvn2jvnHnPOLXHOLXLO3Vw7Vcs5l+qcu6smb8wBjqx77oZTj51zZzvnpjvn\n1jvnvnfO7eqcGwP0Al6vGfG5IsLUsu7OuXHOudXOuR+dc2fXOef1zrkXnXNP1Zx3mnMuv87zV9bE\nvd45N9M5d2AM/zhFwqhgkbYgBXgc2Ab/gV4C3N/gNacDZwFbAZXAvwCcc1sD44GbgS2Ay4CXnXNd\nIlznJuBtoCPQA7gv2l+IiIjEH+dcT+AIYErNoWHACKAdMB94Ap9b+gC7AIcAtUXI2cBRNcfzgeM3\ncp0TgOvxOSsPOAZYZWbDgJ+oGfExszsivP15YCHQveYaf3fOHVDn+WNqXtMBGEdNnnTO7QBcCOxm\nZu2AQ4F5m/xDEYkiFSyS9MxslZm9bGbFZrYeuAX4bYOXjTGzqWZWBPwVOLHm7tdpwJtm9qaZVZvZ\nO0ABPjE1VIEvirqbWamZfRi7r0pEROLAa865tcCHwAfA32uOP2Fm08ysEn+z6wjgYjMrMrPlwD+A\noTWvPRH4p5ktMLPVwK0bud6fgDvM7AvzfjSz+ZsKsqag+g1wZU1++hoYjS98an1Yk+uqgDHAr2uO\nVwGZwI7OuXQzm2dmszd1TZFoUsEiSc85F3LOPeycm++c+xmYBHRo0DllQZ1fzwfSgc74AuSEmulg\na2sS0974kZiGrgAc8HnNcPpZMfmCREQkXhxnZh3MbBszO9/MSmqO180p2+BzypI6eeRhYMua57sT\nnoMa0xNoSbHQHVhdc9Ou7nW2rvP7pXV+XQxkOefSzOxH4GL8yM5y59zzzrnuLYhBpMVUsEhbcCmw\nA7CHmeUB+9Ycd3Ve07POr3vhR0tW4pPImJqEVPvIMbPbGl7EzJaa2dlm1h04B3jAOdcnFl+QiIjE\nNavz6wVAGdC5Th7JM7Odap5fQngOaswCoHcTrtnQYmAL51y7BtdZtJH3bDix2bNmtje++DLg9qa8\nTyRaVLBIMkp3zmXVPvBrSkqAtTWL6a+L8J7TnHM7OudCwI3A2Jph8aeBo51zh9YsjMxyzu0XYdE+\nzrkT6hxfg/9Qr47FFygiIonBzJbg1zfe7ZzLc86lOOd6O+dqpya/CFzknOvhnOsIjNzI6UYDlznn\nBtd0IOvjnNum5rllwPaNxLAA+Bi4tSaPDQT+iM9xG+Wc28E5d4BzLhMoxedT5TZpVSpYJBm9if9A\nrX10ALLxIyafAm9FeM8Y/KLIpUAWcBH88iF/LHA1sAJ/d+tyIv/f2Q34zDlXiF+w+GczmxOtL0pE\nRBLW6UAG8D3+htZYNkwtfhT4L/AN8BXwSmMnMbOX8OswnwXWA6/h18iAX/tybc20s8sivP1kYFv8\naMurwHVmNrEJsWcCt+Fz6FL8VLarmvA+kahxZhsbQRQREREREQmORlhERERERCRuqWAREREREZG4\npYJFRERERETilgoWERERERGJW2mxOGnnzp1t2223jcWpRUSkib788suVZtYl6DjikfKUiEjwmpqn\nYlKwbLvtthQUFMTi1CIi0kTOuY3tmN2mKU+JiASvqXlKU8JERERERCRuqWAREREREZG4pYJFRERE\nRETilgoWERERERGJWypYREREREQkbqlgERERERGRuKWCRURERERE4pYKFhERERERiVsqWERERERE\nJG6pYBERERERkbilgkVEREREROKWChYREREREYlbaUEHIHXMnQtPPQWrV8MRR8DBB0OKakoREYkT\nS5fCE0/AwoVwwAFwzDGQpm8lRCS29CkTL8aOhdNPh6oqKC+Hf/8b9t0Xxo2D1NSgoxMRkbZu0iR/\nM62yEsrK4MknoV8/+OADCIWCjk5Ekphu38eD4mIYPhxKSnyxAlBY6JPASy8FGpqIiAjV1TB0KBQV\n+WIFfJ6aNg3uvz/Y2EQk6algiQeTJ0ceRSkqgmeeaf14RERE6po+HX7+Ofx4SQk8/XTrxyMibYoK\nlniQkdH4c1lZrReHiIhIJBkZfpQlkszM1o1FRNocFSzxYO+9IT09/HhODvzxj60fj4iISF19+kCv\nXuBc/eM5OTBiRDAxiUiboYIlHqSn+8X1eXnQrh1kZ/uRlbPPhkMPbfp5Fi6Ejz/2XcZERESixTl4\n9VXo3HlDngqF4Mgj4ayzmn6e5ct9nlq2LHaxikjSUZeweDFkCCxe7AuXdevgoIP8Ha2mKC6Gk0+G\nt9/2Q/NlZXDBBXDnneF3w0RERFqif39/Y2z8eFiyxM8OGDiwae+trIRzzvHrMrOyoLQUTjwRHnss\n8gwDEZE6VLDEk5wcX3g013nn+WKltNQ/AB580Bc8554b3RhFRKTtysiA3/2u+e+76SZ4/nl/Q622\ny9jYsdC9O9x2W3RjFJGkoylhia60FF54YUOhUqu4GO6+O5iYRERE6ho1yuelukpK4IEHgolHRBKK\nCpZEV1gIZpGfW7WqdWMRERGJZN26yMc3lsNERGqoYEl0nTrBVluFH3cO9tuv1cMREREJs9tukY/v\nsovWWorIJqlgSXTOwUMP+W4tKTV/nenpvouL5gWLiEg8uO8+v06zdpPk1FSft0aNCjYuEUkIKliS\nwWGHwYcfwgkn+LtV55wD334LffsGHZmIiAgMHgxffQVnnOHz1LBhUFAAe+4ZdGQikgDUJSxZ7LKL\n78AiIiISj/r29W2MRUSaSSMsIiIiIiISt1SwiIiIiIhI3FLBIiIiIiIicUsFi4iIiIiIxC0VLCIi\nIiIiErdUsIiIiIiISNxqUsHinLvEOTfNOTfVOfeccy4r1oGJiIg0lfKUiEjy2mTB4pzbGrgIyDez\nAUAqMDTWgYmIiDSF8pSISHJr6pSwNCDbOZcGhIDFsQtJRESk2ZSnRESS1CYLFjNbBNwF/AQsAdaZ\n2dsNX+ecG+GcK3DOFaxYsSL6kYqIiESgPCUiktyaMiWsI3AssB3QHchxzp3W8HVm9oiZ5ZtZfpcu\nXaIfqYiISATKUyIiya0pU8IOAuaa2QozqwBeAYbENiwREZEmU54SEUliTSlYfgL2dM6FnHMOOBCY\nHtuwREREmkx5SkQkiTVlDctnwFjgK+C7mvc8EuO4REREmkR5SkQkuaU15UVmdh1wXYxjERERaRHl\nKRGR5KWd7kVEREREJG6pYBERERERkbilgkVEREREROKWChYREREREYlbKlhERERERCRuqWARERER\nEZG4pYJFRERERETilgoWERERERGJWypYREREREQkbqlgERERERGRuKWCRURERERE4pYKFhERERER\niVvJW7DMmAF/+hPsuSdcdBHMnx90RCIiIhv89BP8+c8+T/3xjzB9etARiYjEpbSgA4iJDz+EQw+F\nsjKoqoKvvoInnoBPPoGddgo6OhERaeumT/eFSkkJVFRAQQE8/zxMmAD77ht0dCIicSU5R1jOPReK\ni32xAj4ZFBbCpZcGG5eIiAj4fLR+vc9P4PNVcbHPXyIiUk/yFSylpZGH1c1g8uTWj0dERKShyZN9\nXmpo1ixfuIiIyC+Sr2BJT4fMzMjPtW/furGIiIhEkpcX+Xh6OmRktG4sIiJxLvkKltRUOOMMyMqq\nfzwUggsvDCYmERGRuv78Z5+X6srKgmHDIC05l5eKiLRU8hUsAPfcA4cd5j/827f3Iy5Dh8KVVwYd\nmYiIiF/DcsopPj+1b+/z1SGHwL33Bh2ZiEjcSc7bONnZ8OqrvmXknDnQrx906xZ0VCIiIl5qKjz6\nKNx8s193uf320KtX0FGJiMSl5CxYavXqpQQgIiLxq2tX/xARkUYl55QwERERERFJCipYREREREQk\nbqlgERERERGRuKWCRURERERE4pYKFhERERERiVsqWEREREREJG6pYBERERERkbilgkVEREREROKW\nChYREREREYlbKlhERERERCRuqWAREREREZG4pYJFRERERETilgoWERERERGJWypYklFVFTz2GOyx\nB+yyC9xzD5SWBh2ViIiIZwYvvQT77AMDB8INN8C6dUFHJSJxKi3oACQGTj4Z3nwTior872fOhLFj\nYfJkSE0NNjYREZHLL4eHHtqQp374AZ55BqZMgZycYGMTkbizyREW59wOzrmv6zx+ds5d3BrBxa3q\nanj0URgwAHr2hPPOg6VLg47KmzIFxo/fkAQASkrgu+/8cRGRJKM81YiXXoLBg6FHDzjtNJg9O+iI\nvMWL4f776+ep0lJYtAieeCKwsEQkfm2yYDGzmWY2yMwGAYOBYuDVmEcWzy68EC6+GKZNg4UL/fSr\n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\njjvuGHRokoDWs54LuIAXeZFKKtmZnXmYh9md3YMOLaGoYGmc8lTb9Oyzz3LjjTeyePFiBg0axB13\n3MGee+4ZdFiSgMop5wqu4FEepZxytmVbRjGKQzgk6NASigoWEUl4lVRSTjkhQkGHkpBUsDROeUpE\noqGKKkopJYecTb9YwjQ1TyXuxpEikvTSan6IiIjEo1RSVay0Ai3WEBERERGRuKWCRURERERE4pYK\nFhERERERiVsqWEREREREJG4lV8GyahX87W+wxx7w+9/DRx8FHZGIiMgGhYVw552w115+I8kJE4KO\nSEQk7iVP+50VK2DQIF+0lJX53e7/+18YNQqGDw86OhERaeuKi2H33WHePCip2Wxu0iS48kr4618D\nDU1EJJ4lzwjLXXfBypW+WAEw88nhoos2HBMREQnKk0/C/PkbihWAoiL4+999/hIRkYiSp2AZPx7K\ny8OPOwfff9/68YiIiNT1+uv+RlpDGRnwySetH4+ISIJInoJlyy0jHy8vh06dWjcWERGRhrbaClIi\npN3qaujcufXjERFJEMlTsFx6KeQ02Gk0PR3y86FXr2BiEhERqXXBBZCVVf9YSoq/4bbnnsHEJCKS\nAJKnYDnySL9oMTsb2rf3P++6K7zyStCRiYiI+Jz04IOQmwt5ef4mW9++8M47fvqyiIhElDxdwsB3\nWjnvPPjmG+ja1ScCERGReHH66XDCCfDVV/7m2k47qVgREdmE5CpYwN+12mefoKMQERGJLDsbfvOb\noKMQEUkYyVewJBszP13guecgNRWGDYPf/jboqERERDb45BN44gnfsvmkk+DwwyM3GBARaYHk/DRZ\nuBBOOw222AJ69PA97isrg46q+czg7LPh97/3ieDf//ZrdS67LOjIRERkc6xe7acwd+kC3br5Kc2R\nWh4nghtvhIMOgkcfhTFjYOhQOPlkn8NERKLAWQw+UPLz862goCDq522S1auhXz//c1WVP5ad7b/R\nf+mlYGJqqc8/h/33D09i2dl+/nO/fsHEJSIJwTn3pZnlBx1HPAo0T5WVwYAB8NNPG/YPy8qCQYPg\n448Ta03LTz/BDjtAaWn94zk58J//wIEHBhOXiCSEpuap5BthefRRKCzcUKyAH6J+4w344Yfg4mqJ\n8ePDkwD4nv0TJrR+PCIisvleeQWWLq2/2XFpKUydCpMmBRdXS7z9duSpX0VFvmAREYmC5CtYPvrI\n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\ncdttgQlgP+XxNJqljCOtRYsWtV4Up23btnTt2jWin19RUcHWrVv57rvvGD58uFaoTBBtaEMK4Wd0\n9EfP0P43mhJ2lr766iu+/fbbsK+lpqaG3esjEUydOjXsJl3GmOrmJCMjg1atWkV8o8Y9e/bQrl07\nZsyYwezZs+nUqRMLFy6M2Pnz8/P5/e9/T7du3ejXrx8vv/xy2CkEEn3ncA53c3fQmvkGQzrp2ttF\nEldJCbz3XviGxdrAXiwJaOzYsaSnp4ccb9KkSfXUK4/HQ9OmTVmzZk1EV/z84osv6NSpE1OmTOHX\nv/41F110Eb/73e8iNopTWlrKU089Rc+ePenZsyfPPPNMrUeSpGGlkMICFoTd2+UJnnAoVeNhGmKo\nc9CgQTY7Ozvi540lX3/9Nb169QrZtwSgV69efPLJJw6kig07duzg+uuvp7y8HGMMycnJrF69muLi\nYj766CMuvPBCpk6dGtE5uWVlZbRr147Tp08HHXe73Wzbto3BgwfX6/xer5d+/frxzTffVH/x93g8\nTJ48mRUrVtTr3BIZFstLvMRCFvI93zOc4TzDM/Skp9PRHGOMybHWDnI6RyxKhDqF1wtNmwaWMv6p\nli3hXzVPUYl3+/fvZ/z48eTn59OkSRMqKyt55ZVXaNmyJbt27aJ9+/b84he/oFmzZhH7TGstF110\nEYcPHw5qUDweDytWrGDy5Mn1On9lZSXDhw/nH//4R/W/TdLT07nkkkvYvn17o9tqIV6tYhV/4A/k\nkcdABvIUTzGEIU7Hckxt65SmhJ2lzp0706lTJ7744oug4263m9tuu82hVM4rKSlh/fr1WGvx+/0M\nGzaMpUuXVq+NP2nSpAb53C1btoTdELK0tJRXX3213g3LqlWryMvLC7pTVVxczNq1a5k/fz4XXXRR\nvc4v9Wcw3F31TUSA9HQYMQK2b4cff310uaCGKc2JwO/38+abb+Lz+fD7/fTv358lS5bQp08fAK68\n8soG+dz9+/dz/PjxkNGU4uJiXnrppXo3LO+88w779u0LupHq9Xr58MMP2b59O6NGjarX+SUybqz6\nJnWjKWFnyRhDVlYWLVq0ICMjg+TkZDweD0OHDuXuuxPzH0zWWsaPH8+iRYs4deoUXq+Xbdu2cdll\nl1FUVNSgn11SUhJ2SL2yspKCgoJ6n3/r1q1hVzRLSkpiz5499T6/iEiDeO01aNs2MP0rORkyMqBH\n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\nERGJWf8f05bxlpBRPTsAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(14,7))\n", " \n", "colormap = np.array(['red', 'lime', 'black'])\n", " \n", "plt.subplot(1, 2, 1)\n", "plt.scatter(seeds.area, seeds.asymmetry, c=colormap[seed_target])\n", "plt.title('Labels')\n", " \n", "plt.subplot(1, 2, 2)\n", "plt.scatter(seeds.area, seeds.asymmetry, c=colormap[pred_small])\n", "plt.title('Prediсtions')" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy of clustering is 84.29%\n" ] } ], "source": [ "print('Accuracy of clustering is ' + '{}{}'.format(round(100*sum(pred_small == seed_target) / len(seed_target), 2), '%'))" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Scatterplot is a good representation of the fact that clustering gives the results very similar to true classification.\n", "\n", "And in this case it seems that two vaiables are enough to cluster data with a good accuracy." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Implementation of KMeans\n", "Now I'll implement an algorithm similar to KMeans manually. It is based on Andrew NG's course on Coursera." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#I'll use only two variables at first for visualization.\n", "X = np.array(seeds[['area', 'asymmetry']])" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#There are 3 clusters and two variables. Set initial centroids with some values.\n", "first_centroids = np.array([[12, 4], [18,5], [19,3]])" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Visualizing the data\n", "def clus_col(X, centroids, preds):\n", " \"\"\"\n", " Function to assign colors to clusters.\n", " \"\"\"\n", " for x in range(centroids[0].shape[0]):\n", " yield (np.array([X[i] for i in range(X.shape[0]) if preds[i] == x]))\n", "\n", "def draw_hist(h, centroids):\n", " \"\"\"\n", " Data for plotting history\n", " \"\"\"\n", " for centroid in centroids:\n", " yield (centroid[:,h])\n", " \n", " \n", "def plot_clust(X, centroids, preds=None):\n", " #Number of colors shoud be equal to the number of clusters, so add more if necessary.\n", " colors = ['green', 'fuchsia', 'tan']\n", " \n", " #If clusters are defined (preds != None), colors are assigned to clusters. \n", " clust = [X] if preds is None else list(clus_col(X, centroids, preds))\n", " \n", " #Plot clusters\n", " fig = plt.figure(figsize=(7, 5))\n", " for i in range(len(clust)):\n", " plt.plot(clust[i][:,0], clust[i][:,1], 'o', color=colors[i], alpha=0.75, label='Cluster %d'%i)\n", " plt.xlabel('area')\n", " plt.ylabel('asymmetry')\n", "\n", " #Plot history of centroids.\n", " tempx = list(draw_hist(0, centroids))\n", " tempy = list(draw_hist(1, centroids))\n", " \n", " for x in range(len(tempx[0])):\n", " plt.plot(tempx, tempy, 'ro--', markersize=6)\n", "\n", " leg = plt.legend(loc=4)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n1tBa/Obt91gAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Scatterplot with initial centroids.\n", "plot_clust(X,[first_centroids])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now the algorithm itself. At first closest centroids are found for each point in data. Then means of samples assigned to each centroid are calculated and new centroids are created with these values. These steps are repeated. I could define a threshold so that iterations stop when centroids move for lesser distance than threshold level, but even current implementation is good enough." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "def find_centroids(X, centroids):\n", " preds = np.zeros((X.shape[0], 1))\n", " for j in range(preds.shape[0]):\n", "\n", " dist, label = 9999999, 0\n", " for i in range(centroids.shape[0]):\n", " distsquared = np.sum(np.square(X[j] - centroids[i]))\n", " if distsquared < dist:\n", " dist = distsquared\n", " label = i\n", "\n", " preds[j] = label\n", " \n", " return preds" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def calc_centroids(X, preds):\n", " \"\"\"\n", " Calculate new centroids\n", " \"\"\"\n", " \n", " for x in range(len(np.unique(preds))):\n", " yield np.mean((np.array([X[i] for i in range(X.shape[0]) if preds[i] == x])), axis=0)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def iters(X, first_centroids, K, n_iter):\n", " centroid_history = []\n", " current_centroids = first_centroids\n", " for iter in range(n_iter):\n", " centroid_history.append(current_centroids)\n", " preds = find_centroids(X, current_centroids)\n", " current_centroids = np.array(list(calc_centroids(X, preds)))\n", " return preds, centroid_history" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "preds, centroid_history = iters(X, first_centroids, 3, 20)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_clust(X,centroid_history,preds)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is how the process of finding optimal centroids looks like. From initial points centroids move to optimize the loss function. As a result there are three distinguishable clusters.\n", "___\n", "Now let's try to predict labels using all variables." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": true }, "outputs": [], "source": [ "first_centroids = np.array([[12, 13, 0.85, 6, 2, 4, 4], [18, 15, 0.9, 6, 3, 5, 5], [19, 14, 0.9, 5.8, 2, 3, 6]])\n", "X = np.array(seeds.drop(['type'], axis=1))" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": true }, "outputs": [], "source": [ "preds, centroid_history = iters(X,first_centroids,K=3,n_iter=20)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1,\n", " 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,\n", " 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 1,\n", " 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Reshaping into 1-D array.\n", "r = np.reshape(preds, 210, 1).astype(int)\n", "r" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "#Labels created by KMeans don't correspond to the original (obviously), so they need to be changed. \n", "for i in range(len(r)):\n", " if r[i] == 0:\n", " r[i] = 3" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.89047619047619042" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum(r == seeds.type) / len(seeds.type)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And the result is almost the same as when using KMeans from sklearn!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Voronoi diagram \n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Voronoi diagram is a partitioning of a plane into regions based on distance to points in a specific subset of the plane. It can be used as a visualization of clusters in high-dimensional data if combined with PCA.\n", "\n", "PCA is principal component analysis. In machine learning it is commonly used to project data to a lower dimensional space." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=300,\n", " n_clusters=3, n_init=10, n_jobs=1, precompute_distances='auto',\n", " random_state=None, tol=0.0001, verbose=0)" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "reduced_data = PCA(n_components=2).fit_transform(seeds.drop(['type'], axis=1))\n", "kmeans = KMeans(init='k-means++', n_clusters=3, n_init=10)\n", "kmeans.fit(reduced_data)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n/wdk0eG1rlNg6gAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x_min, x_max = reduced_data[:, 0].min() - 1, reduced_data[:, 0].max() + 1\n", "y_min, y_max = reduced_data[:, 1].min() - 1, reduced_data[:, 1].max() + 1\n", "xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02), np.arange(y_min, y_max, 0.02))\n", "\n", "# Obtain labels for each point in mesh\n", "Z = kmeans.predict(np.c_[xx.ravel(), yy.ravel()]).reshape(xx.shape)\n", "\n", "# Put the result into a color plot\n", "plt.figure(1)\n", "plt.imshow(Z, interpolation='nearest',\n", " extent=(xx.min(), xx.max(), yy.min(), yy.max()),\n", " cmap=plt.cm.Paired,\n", " aspect='auto', origin='lower')\n", "\n", "plt.plot(reduced_data[:, 0], reduced_data[:, 1], 'k.', markersize=2)\n", "# Plot the centroids as a white X\n", "centroids = kmeans.cluster_centers_\n", "plt.scatter(centroids[:, 0], centroids[:, 1],\n", " marker='x', s=169, linewidths=3,\n", " color='w', zorder=10)\n", "plt.title('K-means clustering with PCA-reduced data')\n", "plt.xlim(x_min, x_max)\n", "plt.ylim(y_min, y_max)\n", "plt.xticks(())\n", "plt.yticks(())\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Based on sklearn [code](http://scikit-learn.org/stable/auto_examples/cluster/plot_kmeans_digits.html#sphx-glr-auto-examples-cluster-plot-kmeans-digits-py).\n", "\n", "We can see that data in reduced state is visually separable into three clusters. But the graph is 2-D and gives little information about the real state of data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### High-dimensional data visualization" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "It is also possible to visualize data having more that two dimensions. 3D plot has three dimensions, size, shape and color may represent three more variables. Let's try." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "#I take only 30 samples for better visualization\n", "seeds_little = pd.concat([seeds[50:60],seeds[70:80],seeds[140:150]])" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def scatter6d(x,y,z, color, colorsMap='summer'):\n", " cNorm = matplotlib.colors.Normalize(vmin=min(color), vmax=max(color))\n", " scalarMap = cmx.ScalarMappable(norm=cNorm, cmap=plt.get_cmap(colorsMap))\n", " fig = plt.figure()\n", " ax = Axes3D(fig)\n", " markers = ['s', 's','o','^']\n", " for i in seeds.type.unique():\n", " ax.scatter(x, y, z, c=scalarMap.to_rgba(color), marker=markers[i], s = seeds_little.asymmetry*50 )\n", " scalarMap.set_array(color)\n", " fig.colorbar(scalarMap,label='{}'.format('length'))\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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\ngQIaIYQQu/D/h52gtYo7z3AAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "scatter6d(seeds_little.area, seeds_little.perimeter, seeds_little.compactness, seeds_little.length)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sadly this isn't very representative due to fact that all variables (except type) are numerical. If variables used for size, shape and color were categorical with several values, then the graph could be really used for analysis.\n", "\n", "So, if you want to get an overview of high-dimensional data, you could take 2-3 variables and plot them in 2D or 3D. If some variables are categorical, they can be also be used.\n", "\n", "This was an overview of K-Means algorithm for data clusterisation. It is a general and simple approach which nonetheless works quite well.\n", "___\n", "Acknowledgements for data as requested:\n", "Lichman, M. (2013). UCI Machine Learning Repository [http://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science.\n", "\n", "Contributors gratefully acknowledge support of their work by the Institute of Agrophysics of the Polish Academy of Sciences in Lublin." ] } ], "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.6.1" } }, "nbformat": 4, "nbformat_minor": 1 }