├── src ├── __init__.py └── metricas.py ├── .gitignore ├── img ├── 06_points.png ├── 01_head_iris.png ├── power_of_math.gif ├── 11_petal_kmeans.png ├── 03_distance_formula.png ├── 02_elbow_named_points.png ├── 04_elbow_green_a0a18.png ├── 07_distancia_calc_a1.png ├── 08_distancia_calc_a1.png ├── 05_elbow_distance_a0a1a18.png ├── 09_descriptive_stats_cluster.PNG └── 10_descriptive_stats_species.PNG ├── latex.tex ├── README.md └── kmeans.ipynb /src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.ipynb_checkpoints 2 | *__pycache__/ -------------------------------------------------------------------------------- /img/06_points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jtemporal/kmeans_e_cotovelo/HEAD/img/06_points.png -------------------------------------------------------------------------------- /img/01_head_iris.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jtemporal/kmeans_e_cotovelo/HEAD/img/01_head_iris.png -------------------------------------------------------------------------------- /img/power_of_math.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jtemporal/kmeans_e_cotovelo/HEAD/img/power_of_math.gif -------------------------------------------------------------------------------- /img/11_petal_kmeans.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jtemporal/kmeans_e_cotovelo/HEAD/img/11_petal_kmeans.png -------------------------------------------------------------------------------- /img/03_distance_formula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jtemporal/kmeans_e_cotovelo/HEAD/img/03_distance_formula.png -------------------------------------------------------------------------------- /img/02_elbow_named_points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jtemporal/kmeans_e_cotovelo/HEAD/img/02_elbow_named_points.png -------------------------------------------------------------------------------- /img/04_elbow_green_a0a18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jtemporal/kmeans_e_cotovelo/HEAD/img/04_elbow_green_a0a18.png -------------------------------------------------------------------------------- /img/07_distancia_calc_a1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jtemporal/kmeans_e_cotovelo/HEAD/img/07_distancia_calc_a1.png -------------------------------------------------------------------------------- /img/08_distancia_calc_a1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jtemporal/kmeans_e_cotovelo/HEAD/img/08_distancia_calc_a1.png -------------------------------------------------------------------------------- /img/05_elbow_distance_a0a1a18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jtemporal/kmeans_e_cotovelo/HEAD/img/05_elbow_distance_a0a1a18.png -------------------------------------------------------------------------------- /img/09_descriptive_stats_cluster.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jtemporal/kmeans_e_cotovelo/HEAD/img/09_descriptive_stats_cluster.PNG -------------------------------------------------------------------------------- /img/10_descriptive_stats_species.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jtemporal/kmeans_e_cotovelo/HEAD/img/10_descriptive_stats_species.PNG -------------------------------------------------------------------------------- /latex.tex: -------------------------------------------------------------------------------- 1 | % dado para calculo da distancia 2 | \begin{center} 3 | \text{pontos que definem a reta}\\ 4 | a_0 =(x_0,\ y_0)=(2,\ 152.34)\\ 5 | a_{18} =(x_1,\ y_1)=(20,\ 14.73)\\ 6 | \ \\ 7 | 8 | \text{nosso ponto de interesse}\\ 9 | a_1 =(x,\ y)=(3,\ 78.85)\\ 10 | \end{center} 11 | 12 | % data for the distance calc 13 | \begin{center} 14 | \text{points that define the line}\\ 15 | a_0 =(x_0,\ y_0)=(2,\ 152.34)\\ 16 | a_{18} =(x_1,\ y_1)=(20,\ 14.73)\\ 17 | \ \\ 18 | 19 | \text{our point of interest}\\ 20 | a_1 =(x,\ y)=(3,\ 78.85)\\ 21 | \end{center} 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Como definir o número de clusters para o seu KMeans 2 | 3 | Esse repositório contém todo o código de base para o blog post [_"Como definir o número de clusters para o seu KMeans"_](https://medium.com/pizzadedados/kmeans-e-metodo-do-cotovelo-94ded9fdf3a9). 4 | 5 | ## Organização deste repositório 6 | 7 | ``` 8 | kmeans_e_cotovelo/ 9 | ├── html/ -> contém os notebooks em formato de página html 10 | ├── img/ -> contém as imagens que aparecem no blog post 11 | ├── graficos_e_metricas.ipynb -> notebook com os gráficos que estão no post 12 | ├── kmeans.ipynb -> notebook com todos os passos para rodar o kmeans e o método do cotovelo 13 | └── src/ -> o código das funções que fiz 14 | ``` 15 | -------------------------------------------------------------------------------- /src/metricas.py: -------------------------------------------------------------------------------- 1 | def optimal_number_of_clusters(wcss): 2 | """ 3 | Calcula a maior distância entre os pontos que marcam as 4 | somas dos quadrados intra-clusters para 19 calculadas 5 | com `calculate_wcss()` 6 | 7 | Parametros 8 | ---------- 9 | wcss : lista 10 | lista contendo os valores de soma de quadrados intra-cluster 11 | 12 | 13 | Returns 14 | ------- 15 | int : número de clusters 16 | """ 17 | from math import sqrt 18 | x1, y1 = 2, wcss[0] 19 | x2, y2 = 20, wcss[len(wcss)-1] 20 | 21 | distances = [] 22 | for i in range(len(wcss)): 23 | x0 = i+2 24 | y0 = wcss[i] 25 | 26 | numerator = abs((y2-y1)*x0 - (x2-x1)*y0 + x2*y1 - y2*x1) 27 | denominator = sqrt((y2 - y1)**2 + (x2 - x1)**2) 28 | distances.append(numerator/denominator) 29 | return distances.index(max(distances)) + 2 30 | 31 | 32 | def calculate_wcss(data): 33 | """ 34 | Calcula a soma dos quadrados intra-clusters para 19 35 | quantidades de clusters, iniciando com o mínimo de 2 clusters 36 | 37 | Parametros 38 | ---------- 39 | data : DataFrame 40 | conjunto de dados para fazer o `.fit()` do KMeans 41 | 42 | 43 | Returns 44 | ------- 45 | wcss : lista contendo os valores de soma de quadrados intra-cluster 46 | """ 47 | from sklearn.cluster import KMeans 48 | wcss = [] 49 | for n in range(2, 21): 50 | kmeans = KMeans(n_clusters=n) 51 | kmeans.fit(X=data) 52 | wcss.append(kmeans.inertia_) 53 | 54 | return wcss 55 | -------------------------------------------------------------------------------- /kmeans.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Clusters pra todo mundo\n", 8 | "\n", 9 | "## Funções\n", 10 | "\n", 11 | "Importando as nossas funções que vimos no post." 12 | ] 13 | }, 14 | { 15 | "cell_type": "code", 16 | "execution_count": 1, 17 | "metadata": {}, 18 | "outputs": [], 19 | "source": [ 20 | "from src.metricas import calculate_wcss, optimal_number_of_clusters" 21 | ] 22 | }, 23 | { 24 | "cell_type": "code", 25 | "execution_count": 2, 26 | "metadata": {}, 27 | "outputs": [ 28 | { 29 | "data": { 30 | "text/plain": [ 31 | "\u001b[0;31mSignature:\u001b[0m \u001b[0mcalculate_wcss\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", 32 | "\u001b[0;31mDocstring:\u001b[0m\n", 33 | "Calcula a soma dos quadrados intra-clusters para 19\n", 34 | "quantidades de clusters, iniciando com o mínimo de 2 clusters\n", 35 | "\n", 36 | "Parametros\n", 37 | "----------\n", 38 | "data : DataFrame\n", 39 | " conjunto de dados para fazer o `.fit()` do KMeans\n", 40 | "\n", 41 | "\n", 42 | "Returns\n", 43 | "-------\n", 44 | "wcss : lista contendo os valores de soma de quadrados intra-cluster\n", 45 | "\u001b[0;31mFile:\u001b[0m ~/work/kmeans/src/metricas.py\n", 46 | "\u001b[0;31mType:\u001b[0m function\n" 47 | ] 48 | }, 49 | "metadata": {}, 50 | "output_type": "display_data" 51 | } 52 | ], 53 | "source": [ 54 | "?calculate_wcss" 55 | ] 56 | }, 57 | { 58 | "cell_type": "code", 59 | "execution_count": 3, 60 | "metadata": {}, 61 | "outputs": [ 62 | { 63 | "data": { 64 | "text/plain": [ 65 | "\u001b[0;31mSignature:\u001b[0m \u001b[0moptimal_number_of_clusters\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwcss\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", 66 | "\u001b[0;31mDocstring:\u001b[0m\n", 67 | "Calcula a maior distância entre os pontos que marcam as \n", 68 | "somas dos quadrados intra-clusters para 19 calculadas \n", 69 | "com `calculate_wcss()`\n", 70 | "\n", 71 | "Parametros\n", 72 | "----------\n", 73 | "wcss : lista\n", 74 | " lista contendo os valores de soma de quadrados intra-cluster\n", 75 | "\n", 76 | "\n", 77 | "Returns\n", 78 | "-------\n", 79 | "int : número de clusters \n", 80 | "\u001b[0;31mFile:\u001b[0m ~/work/kmeans/src/metricas.py\n", 81 | "\u001b[0;31mType:\u001b[0m function\n" 82 | ] 83 | }, 84 | "metadata": {}, 85 | "output_type": "display_data" 86 | } 87 | ], 88 | "source": [ 89 | "?optimal_number_of_clusters" 90 | ] 91 | }, 92 | { 93 | "cell_type": "markdown", 94 | "metadata": {}, 95 | "source": [ 96 | "---\n", 97 | "\n", 98 | "## Calculando KMeans para Iris" 99 | ] 100 | }, 101 | { 102 | "cell_type": "code", 103 | "execution_count": 4, 104 | "metadata": {}, 105 | "outputs": [], 106 | "source": [ 107 | "import matplotlib.pyplot as plt\n", 108 | "import seaborn as sns\n", 109 | "\n", 110 | "from sklearn.cluster import KMeans\n", 111 | "from sklearn.preprocessing import LabelEncoder\n", 112 | "\n", 113 | "from src.metricas import calculate_wcss, optimal_number_of_clusters\n", 114 | "\n", 115 | "\n", 116 | "# preparando nossos dados\n", 117 | "iris = sns.load_dataset('iris')\n", 118 | "df = iris.drop('species', axis=1)\n", 119 | "\n", 120 | "# calculando a soma dos quadrados para as 19 quantidade de clusters\n", 121 | "sum_of_squares = calculate_wcss(df)\n", 122 | "\n", 123 | "# calculando a quantidade ótima de clusters\n", 124 | "n = optimal_number_of_clusters(sum_of_squares)\n", 125 | "\n", 126 | "# inicializando o kmeans para nossa quantidade ótima de clusters\n", 127 | "kmeans = KMeans(n_clusters=n)\n", 128 | "\n", 129 | "# predizendo nossos clusters\n", 130 | "iris['clusters'] = kmeans.fit_predict(df)\n", 131 | "\n", 132 | "# transformando as especies de iris em numeros para colorir o gráfico\n", 133 | "iris['species_encoded'] = LabelEncoder().fit_transform(iris['species'])" 134 | ] 135 | }, 136 | { 137 | "cell_type": "markdown", 138 | "metadata": {}, 139 | "source": [ 140 | "---\n", 141 | "\n", 142 | "## Gráfico de clusters olhando para comprimento e largura de pétalas" 143 | ] 144 | }, 145 | { 146 | "cell_type": "code", 147 | "execution_count": 5, 148 | "metadata": {}, 149 | "outputs": [ 150 | { 151 | "data": { 152 | "image/png": "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1Kjvp8breSmJSkRERERERGptjwWftTZ3fwUiIiIiIiIidSvZNXwiIiIiIiJSz6jgExERERERaaBU8ImIiIiIiDRQKvhEREREREQaKBV8IiIiIiIiDZQKPhERERERkQZKBZ+IiIiIiEgDpYJPRERERESkgVLBJyIiIiIi0kCp4BMREREREWmgVPCJiIiIiIg0UCr4REREREREGigVfCIiIiIiIg2UCj4REREREZEGSgWfiIiIiIhIA6WCT0REREREpIFSwSciIiIiItJAqeATERERERFpoFTwiYiIiIiINFAq+ERERERERBooFXwiIiIiIiINlAo+ERERERGRBkoFn4iIiIiISAPlSncAmWzr+u28dt87LPp6CZ36deCUK8bQskPzdIclIiKSVtZapq5ayfPz5hCMRDi5R09O7NYDl0PXqUVEakoFX5qsXrSWKw69jmBZiFAgxJzPf+Dthz7kzk9vptvAzukOT0REJG1um/oZz82bQ0k4BMD0tauZsnABj46dgMOYNEcnIlK/6FJZmtx/1eOUFJYQCpQns3AwTGlRGXdf+nCaIxMREUmflTt28Mzc7yqLPYCSUIiv161l6soV6QtMRKSeUsGXJt9/tgBr48cXz1pKJBzZ/wGJiIgcAL5cswqT4C5eSSjExyuWpSEiEZH6TQVfmvhzvAnH3V4XDqf+WkREJDPlebw4ExR8boeDfJ8vDRGJiNRvqizS5MRLjsXr98SMeXxujjl3RMIrmyIiIplgZKfOCdfpOR0OJvQ8KA0RiYjUbyr40uQXN05kyOgBeHxusvKy8Po99D2yN5f+6/x0hyYiIpI2frebJ8adSmOfj2y3hxyPhyyXm38cM5oO+fnpDk9EpN7RLp1p4va4ufGVa1i/bCMrF6yhoFsr2vUoSHdYIiIiaTegdRtmXHwps9atJRiJMKRNAX63O91hiYjUSyr40qx155a07twy3WGIiIgcUFwOB4e2bZfuMERE6j090ikiIiIiItJA6Q7fAShQGuCLV2eyceUWug/uzIBRfXE4VJuLiIgs276Nj5Yvxe1wMrprN1rl5KY7JBGRA1pKCz5jzGjgbsAJPGKt/VuV988H/gGsrRi6z1r7SCpjOtCt+XE9vzv8TwRKgwRKg3j9Htr3bss/ProRf7a2oxYRaSiUI2vurulf8tDsr4naKA5juOOLz7l91HGM79k7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\n", 153 | "text/plain": [ 154 | "
" 155 | ] 156 | }, 157 | "metadata": { 158 | "needs_background": "light" 159 | }, 160 | "output_type": "display_data" 161 | } 162 | ], 163 | "source": [ 164 | "plt.figure(figsize=(15,5))\n", 165 | "\n", 166 | "plt.subplot(1, 2, 1)\n", 167 | "plt.title('Antes')\n", 168 | "plt.xlabel('comprimento da pétala')\n", 169 | "plt.ylabel('largura da pétala')\n", 170 | "plt.scatter(iris['petal_length'], iris['petal_width'], c=iris['species_encoded'])\n", 171 | "\n", 172 | "\n", 173 | "plt.subplot(1, 2, 2)\n", 174 | "plt.title('Depois')\n", 175 | "plt.xlabel('comprimento da pétala')\n", 176 | "plt.scatter(iris['petal_length'], iris['petal_width'], c=iris['clusters'])\n", 177 | "\n", 178 | "plt.show()" 179 | ] 180 | } 181 | ], 182 | "metadata": { 183 | "kernelspec": { 184 | "display_name": "Python 3", 185 | "language": "python", 186 | "name": "python3" 187 | }, 188 | "language_info": { 189 | "codemirror_mode": { 190 | "name": "ipython", 191 | "version": 3 192 | }, 193 | "file_extension": ".py", 194 | "mimetype": "text/x-python", 195 | "name": "python", 196 | "nbconvert_exporter": "python", 197 | "pygments_lexer": "ipython3", 198 | "version": "3.6.7" 199 | } 200 | }, 201 | "nbformat": 4, 202 | "nbformat_minor": 2 203 | } 204 | --------------------------------------------------------------------------------