{"cells":[{"cell_type":"code","source":"from google.colab import drive\nimport os\ndrive.mount('/content/gdrive')\n# Establecer ruta de acceso en dr\nimport os\nprint(os.getcwd())\nos.chdir(\"/content/gdrive/My Drive\")","metadata":{"id":"nR7uNvK-Ar47","colab":{"base_uri":"https://localhost:8080/"},"cell_id":"340099fff1564420954cdf63efb5917e","outputId":"63bfc7be-7a1f-45e4-c0a8-390c5186927c","executionInfo":{"user":{"userId":"09471607480253994520","displayName":"David Francisco Bustos Usta"},"status":"ok","elapsed":2518,"user_tz":240,"timestamp":1650828276465},"deepnote_cell_type":"code"},"outputs":[{"output_type":"stream","name":"stdout","text":"Drive already mounted at /content/gdrive; to attempt to forcibly remount, call drive.mount(\"/content/gdrive\", force_remount=True).\n/content/gdrive/My Drive\n"}],"execution_count":6},{"cell_type":"code","source":"# K-Means Clustering\n\n# Importacion de librerias\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport pandas as pd\n\n# Carga del conjunto de datos\ndataset = pd.read_csv(\"Mall_Customers.csv\", sep = \",\")\ndataset.head()","metadata":{"id":"kwFbLrasAbZX","colab":{"height":207,"base_uri":"https://localhost:8080/"},"cell_id":"69d952b490404e37a2315b7c2cdeab95","outputId":"5b935869-d1bc-4b2d-e848-e6ed70b49b3e","executionInfo":{"user":{"userId":"09471607480253994520","displayName":"David Francisco Bustos Usta"},"status":"ok","elapsed":488,"user_tz":240,"timestamp":1650828277963},"deepnote_cell_type":"code"},"outputs":[{"output_type":"execute_result","data":{"text/plain":" CustomerID Genre Age Annual Income (k$) Spending Score (1-100)\n0 1 Male 19 15 39\n1 2 Male 21 15 81\n2 3 Female 20 16 6\n3 4 Female 23 16 77\n4 5 Female 31 17 40","text/html":"\n
\n
\n
\n\n
\n \n \n \n CustomerID \n Genre \n Age \n Annual Income (k$) \n Spending Score (1-100) \n \n \n \n \n 0 \n 1 \n Male \n 19 \n 15 \n 39 \n \n \n 1 \n 2 \n Male \n 21 \n 15 \n 81 \n \n \n 2 \n 3 \n Female \n 20 \n 16 \n 6 \n \n \n 3 \n 4 \n Female \n 23 \n 16 \n 77 \n \n \n 4 \n 5 \n Female \n 31 \n 17 \n 40 \n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n\n \n
\n
\n "},"metadata":{},"execution_count":7}],"execution_count":7},{"cell_type":"code","source":"#Generamos nuestra x\nX = dataset.iloc[:, [3, 4]].values","metadata":{"id":"G-eJ02osAbZb","cell_id":"07d8203baab4439e9da398916d4dcf54","executionInfo":{"user":{"userId":"09471607480253994520","displayName":"David Francisco Bustos Usta"},"status":"ok","elapsed":387,"user_tz":240,"timestamp":1650828280931},"deepnote_cell_type":"code"},"outputs":[],"execution_count":8},{"cell_type":"code","source":"X","metadata":{"id":"oFLYeMuv35iz","colab":{"base_uri":"https://localhost:8080/"},"cell_id":"8539ebcd6aa948b9b4a882a3b7fd9471","outputId":"5d2d5d89-ef78-42fc-9e3c-188766e20351","executionInfo":{"user":{"userId":"09471607480253994520","displayName":"David Francisco Bustos Usta"},"status":"ok","elapsed":414,"user_tz":240,"timestamp":1650828281725},"deepnote_cell_type":"code"},"outputs":[{"output_type":"execute_result","data":{"text/plain":"array([[ 15, 39],\n [ 15, 81],\n [ 16, 6],\n [ 16, 77],\n [ 17, 40],\n [ 17, 76],\n [ 18, 6],\n [ 18, 94],\n [ 19, 3],\n [ 19, 72],\n [ 19, 14],\n [ 19, 99],\n [ 20, 15],\n [ 20, 77],\n [ 20, 13],\n [ 20, 79],\n [ 21, 35],\n [ 21, 66],\n [ 23, 29],\n [ 23, 98],\n [ 24, 35],\n [ 24, 73],\n [ 25, 5],\n [ 25, 73],\n [ 28, 14],\n [ 28, 82],\n [ 28, 32],\n [ 28, 61],\n [ 29, 31],\n [ 29, 87],\n [ 30, 4],\n [ 30, 73],\n [ 33, 4],\n [ 33, 92],\n [ 33, 14],\n [ 33, 81],\n [ 34, 17],\n [ 34, 73],\n [ 37, 26],\n [ 37, 75],\n [ 38, 35],\n [ 38, 92],\n [ 39, 36],\n [ 39, 61],\n [ 39, 28],\n [ 39, 65],\n [ 40, 55],\n [ 40, 47],\n [ 40, 42],\n [ 40, 42],\n [ 42, 52],\n [ 42, 60],\n [ 43, 54],\n [ 43, 60],\n [ 43, 45],\n [ 43, 41],\n [ 44, 50],\n [ 44, 46],\n [ 46, 51],\n [ 46, 46],\n [ 46, 56],\n [ 46, 55],\n [ 47, 52],\n [ 47, 59],\n [ 48, 51],\n [ 48, 59],\n [ 48, 50],\n [ 48, 48],\n [ 48, 59],\n [ 48, 47],\n [ 49, 55],\n [ 49, 42],\n [ 50, 49],\n [ 50, 56],\n [ 54, 47],\n [ 54, 54],\n [ 54, 53],\n [ 54, 48],\n [ 54, 52],\n [ 54, 42],\n [ 54, 51],\n [ 54, 55],\n [ 54, 41],\n [ 54, 44],\n [ 54, 57],\n [ 54, 46],\n [ 57, 58],\n [ 57, 55],\n [ 58, 60],\n [ 58, 46],\n [ 59, 55],\n [ 59, 41],\n [ 60, 49],\n [ 60, 40],\n [ 60, 42],\n [ 60, 52],\n [ 60, 47],\n [ 60, 50],\n [ 61, 42],\n [ 61, 49],\n [ 62, 41],\n [ 62, 48],\n [ 62, 59],\n [ 62, 55],\n [ 62, 56],\n [ 62, 42],\n [ 63, 50],\n [ 63, 46],\n [ 63, 43],\n [ 63, 48],\n [ 63, 52],\n [ 63, 54],\n [ 64, 42],\n [ 64, 46],\n [ 65, 48],\n [ 65, 50],\n [ 65, 43],\n [ 65, 59],\n [ 67, 43],\n [ 67, 57],\n [ 67, 56],\n [ 67, 40],\n [ 69, 58],\n [ 69, 91],\n [ 70, 29],\n [ 70, 77],\n [ 71, 35],\n [ 71, 95],\n [ 71, 11],\n [ 71, 75],\n [ 71, 9],\n [ 71, 75],\n [ 72, 34],\n [ 72, 71],\n [ 73, 5],\n [ 73, 88],\n [ 73, 7],\n [ 73, 73],\n [ 74, 10],\n [ 74, 72],\n [ 75, 5],\n [ 75, 93],\n [ 76, 40],\n [ 76, 87],\n [ 77, 12],\n [ 77, 97],\n [ 77, 36],\n [ 77, 74],\n [ 78, 22],\n [ 78, 90],\n [ 78, 17],\n [ 78, 88],\n [ 78, 20],\n [ 78, 76],\n [ 78, 16],\n [ 78, 89],\n [ 78, 1],\n [ 78, 78],\n [ 78, 1],\n [ 78, 73],\n [ 79, 35],\n [ 79, 83],\n [ 81, 5],\n [ 81, 93],\n [ 85, 26],\n [ 85, 75],\n [ 86, 20],\n [ 86, 95],\n [ 87, 27],\n [ 87, 63],\n [ 87, 13],\n [ 87, 75],\n [ 87, 10],\n [ 87, 92],\n [ 88, 13],\n [ 88, 86],\n [ 88, 15],\n [ 88, 69],\n [ 93, 14],\n [ 93, 90],\n [ 97, 32],\n [ 97, 86],\n [ 98, 15],\n [ 98, 88],\n [ 99, 39],\n [ 99, 97],\n [101, 24],\n [101, 68],\n [103, 17],\n [103, 85],\n [103, 23],\n [103, 69],\n [113, 8],\n [113, 91],\n [120, 16],\n [120, 79],\n [126, 28],\n [126, 74],\n [137, 18],\n [137, 83]])"},"metadata":{},"execution_count":9}],"execution_count":9},{"cell_type":"markdown","source":"Nos quedamos con las variables 3 y 4 de conjunto de datos, las cuales corresponden al ingreso anual en miles y la puntuación del cliente.","metadata":{"id":"hmz_9AZQAbZc","cell_id":"f3d97ebb3b8a44069cf249aa0f18dc5b","deepnote_cell_type":"markdown"}},{"cell_type":"code","source":"# Metodo del Codo para encontrar el numero optimo de clusters\nfrom sklearn.cluster import KMeans\nwcss = []\nfor i in range(1, 11):\n kmeans = KMeans(n_clusters = i, init = 'k-means++', random_state = 42)\n kmeans.fit(X)\n wcss.append(kmeans.inertia_)\n\n# Grafica de la suma de las distancias\nplt.plot(range(1, 11), wcss)\nplt.title('The Elbow Method')\nplt.xlabel('Number of clusters')\nplt.ylabel('WCSS')\nplt.show()","metadata":{"id":"bO4ZgQGlAbZe","colab":{"height":295,"base_uri":"https://localhost:8080/"},"cell_id":"2639f0fe5a374f81a56df3c2b270854d","outputId":"6e74a49a-6e94-45ac-caaa-d347e5e70d49","executionInfo":{"user":{"userId":"09471607480253994520","displayName":"David Francisco Bustos Usta"},"status":"ok","elapsed":4515,"user_tz":240,"timestamp":1650828288691},"deepnote_cell_type":"code"},"outputs":[{"output_type":"display_data","data":{"text/plain":"","image/png":"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\n"},"metadata":{"needs_background":"light"}}],"execution_count":10},{"cell_type":"markdown","source":"En el bloque anterior, generamos los clusters para valores de 1 a 10 (en el rango de 1 a 11) y obtenemos para cada uno de ellos, la suma de las distancias con el tributo inertia_ del objeto kmeans. En la gráfica observamos que la disminución en la suma de las distancias se atenúa cuando el número de clusters es igual a 5, por lo que, para este caso práctico, el número óptimo de clusters será de 5.\n\n","metadata":{"id":"yUAs_LIoAbZf","cell_id":"9d7efcd946914bd09d71bd823b10835f","deepnote_cell_type":"markdown"}},{"cell_type":"code","source":"# Creando el k-Means para los 5 grupos encontrados\nkmeans = KMeans(n_clusters = 5, init = 'k-means++', random_state = 42) #k-means++ acelera la convergencia, respecto de random\ny_kmeans = kmeans.fit_predict(X)","metadata":{"id":"SV6wYYkSAbZg","cell_id":"f416550134ec45d09d8a8a5665ee7eca","executionInfo":{"user":{"userId":"09471607480253994520","displayName":"David Francisco Bustos Usta"},"status":"ok","elapsed":686,"user_tz":240,"timestamp":1650828290534},"deepnote_cell_type":"code"},"outputs":[],"execution_count":11},{"cell_type":"code","source":"y_kmeans","metadata":{"id":"5OFHBCXd5BUB","colab":{"base_uri":"https://localhost:8080/"},"cell_id":"a1fe1f3bec59442cbdfc9c282669cebf","outputId":"df85b585-96bf-4371-d395-baf4e0731fdb","executionInfo":{"user":{"userId":"09471607480253994520","displayName":"David Francisco Bustos Usta"},"status":"ok","elapsed":6,"user_tz":240,"timestamp":1650828291220},"deepnote_cell_type":"code"},"outputs":[{"output_type":"execute_result","data":{"text/plain":"array([2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 0,\n 2, 3, 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,\n 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, 4, 1, 4, 0, 4, 1, 4, 1, 4,\n 0, 4, 1, 4, 1, 4, 1, 4, 1, 4, 0, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4,\n 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4,\n 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4,\n 1, 4], dtype=int32)"},"metadata":{},"execution_count":12}],"execution_count":12},{"cell_type":"code","source":"dataset['pred']=y_kmeans\ndataset","metadata":{"id":"sbI-pTMa5iAA","colab":{"height":424,"base_uri":"https://localhost:8080/"},"cell_id":"b68204e54994439081ccd47755381f1d","outputId":"179efd57-6a32-45d4-e521-956ec19dd95b","executionInfo":{"user":{"userId":"09471607480253994520","displayName":"David Francisco Bustos Usta"},"status":"ok","elapsed":17,"user_tz":240,"timestamp":1650828292430},"deepnote_cell_type":"code"},"outputs":[{"output_type":"execute_result","data":{"text/plain":" CustomerID Genre Age Annual Income (k$) Spending Score (1-100) pred\n0 1 Male 19 15 39 2\n1 2 Male 21 15 81 3\n2 3 Female 20 16 6 2\n3 4 Female 23 16 77 3\n4 5 Female 31 17 40 2\n.. ... ... ... ... ... ...\n195 196 Female 35 120 79 4\n196 197 Female 45 126 28 1\n197 198 Male 32 126 74 4\n198 199 Male 32 137 18 1\n199 200 Male 30 137 83 4\n\n[200 rows x 6 columns]","text/html":"\n \n
\n
\n\n
\n \n \n \n CustomerID \n Genre \n Age \n Annual Income (k$) \n Spending Score (1-100) \n pred \n \n \n \n \n 0 \n 1 \n Male \n 19 \n 15 \n 39 \n 2 \n \n \n 1 \n 2 \n Male \n 21 \n 15 \n 81 \n 3 \n \n \n 2 \n 3 \n Female \n 20 \n 16 \n 6 \n 2 \n \n \n 3 \n 4 \n Female \n 23 \n 16 \n 77 \n 3 \n \n \n 4 \n 5 \n Female \n 31 \n 17 \n 40 \n 2 \n \n \n ... \n ... \n ... \n ... \n ... \n ... \n ... \n \n \n 195 \n 196 \n Female \n 35 \n 120 \n 79 \n 4 \n \n \n 196 \n 197 \n Female \n 45 \n 126 \n 28 \n 1 \n \n \n 197 \n 198 \n Male \n 32 \n 126 \n 74 \n 4 \n \n \n 198 \n 199 \n Male \n 32 \n 137 \n 18 \n 1 \n \n \n 199 \n 200 \n Male \n 30 \n 137 \n 83 \n 4 \n \n \n
\n
200 rows × 6 columns
\n
\n
\n \n \n \n \n \n \n \n \n\n \n
\n
\n "},"metadata":{},"execution_count":13}],"execution_count":13},{"cell_type":"code","source":"dataset.groupby(['pred']).mean()","metadata":{"id":"xK4J9mxx5mGE","colab":{"height":238,"base_uri":"https://localhost:8080/"},"cell_id":"58dc149898e1438da13f50b1712eb409","outputId":"58a74e30-8f87-46da-852b-2ca1dea9727d","executionInfo":{"user":{"userId":"09471607480253994520","displayName":"David Francisco Bustos Usta"},"status":"ok","elapsed":11,"user_tz":240,"timestamp":1650828294254},"deepnote_cell_type":"code"},"outputs":[{"output_type":"execute_result","data":{"text/plain":" CustomerID Age Annual Income (k$) Spending Score (1-100)\npred \n0 86.320988 42.716049 55.296296 49.518519\n1 164.371429 41.114286 88.200000 17.114286\n2 23.000000 45.217391 26.304348 20.913043\n3 23.090909 25.272727 25.727273 79.363636\n4 162.000000 32.692308 86.538462 82.128205","text/html":"\n \n
\n
\n\n
\n \n \n \n CustomerID \n Age \n Annual Income (k$) \n Spending Score (1-100) \n \n \n pred \n \n \n \n \n \n \n \n \n 0 \n 86.320988 \n 42.716049 \n 55.296296 \n 49.518519 \n \n \n 1 \n 164.371429 \n 41.114286 \n 88.200000 \n 17.114286 \n \n \n 2 \n 23.000000 \n 45.217391 \n 26.304348 \n 20.913043 \n \n \n 3 \n 23.090909 \n 25.272727 \n 25.727273 \n 79.363636 \n \n \n 4 \n 162.000000 \n 32.692308 \n 86.538462 \n 82.128205 \n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n\n \n
\n
\n "},"metadata":{},"execution_count":14}],"execution_count":14},{"cell_type":"markdown","source":"Para poder observar gráficamente la asignación de los 200 clientes a 5 grupos o clusters realizamos lo siguiente, le asignamos un color a cada grupo y marcamos los centroides en amarillo:","metadata":{"id":"LYkwuK4hAbZg","cell_id":"5cdcc2538fc943ae9519a5b4a0be3f60","deepnote_cell_type":"markdown"}},{"cell_type":"code","source":"# Visualizacion grafica de los clusters\nplt.scatter(X[y_kmeans == 0, 0], X[y_kmeans == 0, 1], s = 100, c = 'red', label = 'Cluster 1')\nplt.scatter(X[y_kmeans == 1, 0], X[y_kmeans == 1, 1], s = 100, c = 'blue', label = 'Cluster 2')\nplt.scatter(X[y_kmeans == 2, 0], X[y_kmeans == 2, 1], s = 100, c = 'green', label = 'Cluster 3')\nplt.scatter(X[y_kmeans == 3, 0], X[y_kmeans == 3, 1], s = 100, c = 'cyan', label = 'Cluster 4')\nplt.scatter(X[y_kmeans == 4, 0], X[y_kmeans == 4, 1], s = 100, c = 'magenta', label = 'Cluster 5')\n\nplt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s = 300, c = 'yellow', label = 'Centroids')\n\nplt.title('Clusters of customers')\nplt.xlabel('Annual Income (k$)')\nplt.ylabel('Spending Score (1-100)')\nplt.legend()\nplt.show()","metadata":{"id":"MRaMWK8PAbZh","colab":{"height":295,"base_uri":"https://localhost:8080/"},"cell_id":"cac6345910944253bdddf2e8516d1f3b","outputId":"a7534b1c-936a-4668-a1c0-c39c42bc513b","executionInfo":{"user":{"userId":"09471607480253994520","displayName":"David Francisco Bustos Usta"},"status":"ok","elapsed":562,"user_tz":240,"timestamp":1650828296268},"deepnote_cell_type":"code"},"outputs":[{"output_type":"display_data","data":{"text/plain":"","image/png":"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\n"},"metadata":{"needs_background":"light"}}],"execution_count":15},{"cell_type":"markdown","source":"\n \nCreated in Deepnote ","metadata":{"created_in_deepnote_cell":true,"deepnote_cell_type":"markdown"}}],"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"K - Means - CoderHouse (Ejemplo 1).ipynb","provenance":[],"collapsed_sections":[]},"deepnote":{},"kernelspec":{"name":"python3","language":"python","display_name":"Python 3"},"varInspector":{"cols":{"lenVar":40,"lenName":16,"lenType":16},"kernels_config":{"r":{"library":"var_list.r","varRefreshCmd":"cat(var_dic_list()) ","delete_cmd_prefix":"rm(","delete_cmd_postfix":") "},"python":{"library":"var_list.py","varRefreshCmd":"print(var_dic_list())","delete_cmd_prefix":"del ","delete_cmd_postfix":""}},"window_display":false,"types_to_exclude":["module","function","builtin_function_or_method","instance","_Feature"]},"language_info":{"name":"python","version":"3.8.5","mimetype":"text/x-python","file_extension":".py","pygments_lexer":"ipython3","codemirror_mode":{"name":"ipython","version":3},"nbconvert_exporter":"python"},"deepnote_notebook_id":"388f15415b294d09814940fa9369f9b6","deepnote_execution_queue":[]}}