{"id":3277,"date":"2025-10-06T16:09:46","date_gmt":"2025-10-06T14:09:46","guid":{"rendered":"https:\/\/tecnologia.euroinnova.com\/guia-tecnica-de-como-utilizar-el-algoritmo-k-means-y-elegir-el-valor-de-k\/"},"modified":"2025-10-14T10:19:37","modified_gmt":"2025-10-14T08:19:37","slug":"k-means-algoritmo-ejemplo-de-gentrificacion","status":"publish","type":"post","link":"https:\/\/tecnologia.euroinnova.com\/en\/k-means-algoritmo-ejemplo-de-gentrificacion","title":{"rendered":"Technical guide on how to use the K-means algorithm and choose the value of \u201ck\u201d.\u201d"},"content":{"rendered":"<p>The <strong>algoritmo k-means<\/strong> es uno de los m\u00e9todos de <strong>clustering m\u00e1s utilizados<\/strong> en aprendizaje autom\u00e1tico, especialmente debido a su simplicidad y eficiencia.<\/p>\n<p>Es una t\u00e9cnica de <strong>clustering no supervisado<\/strong> que clasifica autom\u00e1ticamente los datos en grupos o <strong>cl\u00fasters<\/strong> con caracter\u00edsticas similares, donde <strong>\u00abk\u00bb<\/strong> representa el n\u00famero de grupos en los que deseamos dividir el conjunto de datos.<\/p>\n<p>The <strong>k clustering<\/strong> es especialmente \u00fatil para aplicaciones como la <strong>segmentaci\u00f3n de im\u00e1genes<\/strong>, the <strong>procesamiento de im\u00e1genes<\/strong> and the <strong>agrupaci\u00f3n de datos<\/strong> en distintas \u00e1reas.<\/p>\n<h2 id=\"como-funciona-el-algoritmo-k-means\"><strong>\u00bfC\u00f3mo funciona el algoritmo K-Means?<\/strong><\/h2>\n<p>The <strong>algoritmo k-means<\/strong> sigue un procedimiento iterativo para clasificar los datos en k cl\u00fasters. Los pasos principales del algoritmo son:<\/p>\n<ol>\n<li><strong>Initialisation<\/strong>: se seleccionan aleatoriamente k puntos en el espacio de datos, que actuar\u00e1n como los centroides iniciales para cada cl\u00faster.<\/li>\n<li><strong>Asignaci\u00f3n de cl\u00fasters<\/strong>: cada punto del conjunto de datos se asigna al cl\u00faster cuyo centroide est\u00e9 m\u00e1s cercano, calculando la distancia Euclidiana.<\/li>\n<li><strong>Reubicaci\u00f3n de centroides<\/strong>: se recalculan los centroides de los cl\u00fasters en funci\u00f3n de los puntos asignados en el paso anterior.<\/li>\n<li><strong>Iteraci\u00f3n hasta la convergencia<\/strong>: los pasos de asignaci\u00f3n y reubicaci\u00f3n se repiten hasta que los centroides dejen de cambiar significativamente o el n\u00famero de iteraciones alcance un m\u00e1ximo predeterminado.<\/li>\n<\/ol>\n<h2 id=\"como-elegir-el-valor-de-k\"><strong>\u00bfC\u00f3mo elegir el valor de k?<\/strong><\/h2>\n<p>Determinar el valor adecuado para k es un paso fundamental para lograr resultados efectivos. Algunos m\u00e9todos \u00fatiles para encontrar el valor \u00f3ptimo de k son:<\/p>\n<ul>\n<li><strong>M\u00e9todo del Codo<\/strong>: este m\u00e9todo grafica la suma de errores al cuadrado (SSE) en funci\u00f3n de k. El punto donde el gr\u00e1fico muestra una curva en forma de codo indica un valor de k adecuado.<\/li>\n<li><strong>Coeficiente de Silhouette<\/strong>: es una medida de la separaci\u00f3n y cohesi\u00f3n de los cl\u00fasters en el que valores altos indican buenos cl\u00fasters.<\/li>\n<li><strong>Cross-Validation<\/strong>: se usa una validaci\u00f3n cruzada con un conjunto de datos para probar varios valores de k y elegir el que proporciona los mejores resultados.<\/li>\n<\/ul>\n<h2 id=\"k-means-en-el-procesamiento-y-clasificacion-de-imagenes\"><strong>K-Means en el procesamiento y clasificaci\u00f3n de im\u00e1genes<\/strong><\/h2>\n<p>El clustering k-means se ha convertido en una t\u00e9cnica muy potente y utilizada para el <strong>procesamiento de im\u00e1genes<\/strong>, especialmente para tareas como la segmentaci\u00f3n y la <strong>reducci\u00f3n de colores<\/strong>.<\/p>\n<p>En estas aplicaciones, los valores de los p\u00edxeles se agrupan en cl\u00fasters para identificar patrones visuales. Algunos usos espec\u00edficos para este \u00e1mbito son:<\/p>\n<ol>\n<li><strong>Segmentaci\u00f3n de im\u00e1genes<\/strong>: se agrupan los p\u00edxeles con caracter\u00edsticas similares (como color o textura) en cl\u00fasters para distinguir diferentes \u00e1reas en una imagen. Es \u00fatil en la medicina para identificar regiones de inter\u00e9s en radiograf\u00edas y resonancias.<\/li>\n<li><strong>Compresi\u00f3n de im\u00e1genes<\/strong>: al agrupar colores similares, k-means puede reducir el n\u00famero de colores de una imagen, lo que disminuye su tama\u00f1o sin una p\u00e9rdida notable de calidad visual.<\/li>\n<\/ol>\n<h2 id=\"ejemplo-de-uso-del-algoritmo-k-means-en-python\"><strong>Ejemplo de uso del algoritmo K-Means en Python<\/strong><\/h2>\n<p>Python ofrece varias bibliotecas que simplifican la implementaci\u00f3n de <strong>k-means<\/strong>, especialmente <a href=\"https:\/\/scikit-learn.org\/stable\/\" target=\"_blank\" rel=\"nofollow noopener\"><strong>scikit-learn<\/strong><\/a>, que cuenta con una funci\u00f3n KMeans optimizada. Un ejemplo b\u00e1sico de implementaci\u00f3n en Python ser\u00eda el siguiente:<\/p>\n<p style=\"text-align: center;\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/cdn.euroinnova.com\/public_html\/img\/subidasEditor\/k-clustering_1731573595.webp\" alt=\"K-clustering\" width=\"661\" height=\"351\" \/><\/p>\n<p>En este ejemplo, se utiliza el algoritmo K-Means para agrupar puntos de datos generados artificialmente en un espacio bidimensional. Estos puntos est\u00e1n repartidos en cuatro grupos o cl\u00fasters, con una distribuci\u00f3n circular y cierta dispersi\u00f3n. El objetivo es identificar autom\u00e1ticamente esos cuatro cl\u00fasters en los datos.<\/p>\n<h2 id=\"cuando-usar-la-agrupacion-en-clusters-k-means\"><strong>\u00bfCu\u00e1ndo usar la agrupaci\u00f3n en cl\u00fasters K-means?<\/strong><\/h2>\n<p>The <strong>algoritmo k-means<\/strong> es \u00fatil en escenarios donde es necesario segmentar los datos en grupos homog\u00e9neos y se cuenta con una noci\u00f3n previa del n\u00famero aproximado de cl\u00fasters.<\/p>\n<p>Algunas aplicaciones t\u00edpicas son:<\/p>\n<ul>\n<li><strong>An\u00e1lisis de clientes<\/strong>: para agrupar clientes con preferencias similares en cl\u00fasters de comportamiento.<\/li>\n<li><strong>An\u00e1lisis de redes sociales<\/strong>: detectar comunidades en redes sociales que tengan cierta conexi\u00f3n.<\/li>\n<li><strong>Procesamiento de im\u00e1genes<\/strong>: para tareas de segmentaci\u00f3n y compresi\u00f3n de im\u00e1genes, como vimos anteriormente.<\/li>\n<li><strong>Bioinform\u00e1tica<\/strong>: agrupaci\u00f3n de genes o prote\u00ednas en funci\u00f3n de patrones de expresi\u00f3n gen\u00e9tica.<\/li>\n<\/ul>\n<h2 id=\"generalizacion-y-limitaciones\"><strong>Generalizaci\u00f3n y limitaciones<\/strong><\/h2>\n<p>El agrupamiento <strong>k-means<\/strong> es vers\u00e1til, pero su simplicidad implica limitaciones. Su sensibilidad a la escala y su dependencia de k pueden ser desventajas si no se aplica correctamente.<\/p>\n<p>Algunas variantes de este algoritmo, como <strong>k-means++<\/strong> or the <strong>clustering jer\u00e1rquico<\/strong>, ofrecen alternativas para mejorar la precisi\u00f3n y adaptabilidad en situaciones espec\u00edficas.<\/p>\n<p>K-means++, por ejemplo, selecciona los centroides iniciales de forma m\u00e1s estrat\u00e9gica, lo que reduce la probabilidad de converger a soluciones sub\u00f3ptimas. Otra variaci\u00f3n es <strong>mini-batch k-means<\/strong>, que es especialmente \u00fatil para trabajar con grandes conjuntos de datos al procesar lotes de datos en lugar de usar el conjunto completo, reduciendo el tiempo de procesamiento.<\/p>\n<h2 id=\"ejemplo-de-gentrificacion-en-ciudades\"><strong>Ejemplo de Gentrificaci\u00f3n en ciudades<\/strong><\/h2>\n<p>El clustering usando k-means puede aplicarse para entender\u00a0<strong>procesos de gentrificaci\u00f3n en ciudades<\/strong>, un fen\u00f3meno donde \u00e1reas menos desarrolladas experimentan una mejora social y econ\u00f3mica.<\/p>\n<p>Utilizando variables socioecon\u00f3micas (ingresos, edad, tipo de vivienda), se podr\u00eda <strong>identificar patrones de cambio en diferentes zonas de una ciudad<\/strong>, agrup\u00e1ndolas en cl\u00fasters que reflejen \u00e1reas en proceso de gentrificaci\u00f3n, en gentrificaci\u00f3n consolidada o sin cambio significativo.<\/p>\n<p>Para un an\u00e1lisis de este tipo, se escogen variables relevantes y se normalizan, luego se aplica el algoritmo k-means para generar cl\u00fasters y obtener informaci\u00f3n sobre las \u00e1reas que est\u00e1n experimentando cambios demogr\u00e1ficos o econ\u00f3micos.<\/p>\n<p>Para ejemplificar un an\u00e1lisis de gentrificaci\u00f3n usando Python, vamos a crear un conjunto de datos que represente varias \u00e1reas de una ciudad ficticia. Asumiremos que cada \u00e1rea tiene caracter\u00edsticas como ingresos medios y precio medio de la vivienda, lo cual nos permitir\u00e1 ver si se identifican zonas en proceso de gentrificaci\u00f3n.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" src=\"https:\/\/cdn.euroinnova.com\/public_html\/img\/subidasEditor\/clustering-k-means_1731573595.webp\" alt=\"clustering k-means\" width=\"887\" height=\"725\" \/><\/p>\n<p>El c\u00f3digo anterior muestra un an\u00e1lisis simulado con K-Means que proporciona una forma visual de detectar patrones que pueden ser indicativos de gentrificaci\u00f3n y que podr\u00eda adaptarse a datos reales para evaluar las tendencias de cambio en diferentes \u00e1reas de una ciudad.<\/p>\n<h2 id=\"k-means-una-excelente-opcion-para-aprendizaje-no-supervisado\"><strong>K-means, una excelente opci\u00f3n para aprendizaje no supervisado<\/strong><\/h2>\n<p>Se puede apreciar, por tanto, que el <strong>algoritmo k-means<\/strong> es una herramienta muy \u00fatil dentro del campo del <strong>machine learning<\/strong> para agrupar o clusterizar datos y ofrece multitud de aplicaciones que van desde el procesamiento de im\u00e1genes hasta la comprensi\u00f3n de patrones sociales como la gentrificaci\u00f3n.<\/p>\n<p>Este algoritmo se ha convertido en una de las t\u00e9cnicas preferidas en <strong>aprendizaje no supervisado<\/strong> y se recomienda cuando se tiene una noci\u00f3n previa de la cantidad de cl\u00fasters que se busca crear.<\/p>\n<p>La clave para usar este algoritmo de manera efectiva est\u00e1 en la selecci\u00f3n adecuada de k y en la comprensi\u00f3n de las limitaciones de este m\u00e9todo.<\/p>\n<p>Si te interesa profundizar en este u otros algoritmos utilizados en <a href=\"https:\/\/tecnologia.euroinnova.com\/en\/ganadores-premio-nobel-de-fisica-2024\/\" target=\"_blank\" rel=\"noopener\">artificial intelligence<\/a> y machine learning te recomiendo nuestro <a href=\"https:\/\/www.euroinnova.com\/master-inteligencia-artificial-big-data-structuralia\" target=\"_blank\" rel=\"noopener\"><strong>M\u00e1ster de Formaci\u00f3n Permanente en Inteligencia Artificial<\/strong><\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>El algoritmo k-means es uno de los m\u00e9todos de clustering m\u00e1s utilizados en aprendizaje autom\u00e1tico, especialmente debido a su simplicidad [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":907,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3277","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sin-categorizar"],"acf":[],"_links":{"self":[{"href":"https:\/\/tecnologia.euroinnova.com\/en\/wp-json\/wp\/v2\/posts\/3277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tecnologia.euroinnova.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tecnologia.euroinnova.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tecnologia.euroinnova.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tecnologia.euroinnova.com\/en\/wp-json\/wp\/v2\/comments?post=3277"}],"version-history":[{"count":0,"href":"https:\/\/tecnologia.euroinnova.com\/en\/wp-json\/wp\/v2\/posts\/3277\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tecnologia.euroinnova.com\/en\/wp-json\/wp\/v2\/media\/907"}],"wp:attachment":[{"href":"https:\/\/tecnologia.euroinnova.com\/en\/wp-json\/wp\/v2\/media?parent=3277"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tecnologia.euroinnova.com\/en\/wp-json\/wp\/v2\/categories?post=3277"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tecnologia.euroinnova.com\/en\/wp-json\/wp\/v2\/tags?post=3277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}