Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.
Los conjuntos de datos de aprendizaje automático pueden tener millones de ejemplos, pero no todos los algoritmos de agrupamiento se escalan de manera eficiente. Muchos algoritmos de agrupamiento calculan la similitud entre todos los pares de ejemplos, lo que significa que su tiempo de ejecución aumenta como el cuadrado de la cantidad de ejemplos \(n\), que se indica como \(O(n^2)\) en la notación de complejidad.Los algoritmos \(O(n^2)\) no son prácticos para conjuntos de datos con millones de ejemplos.
El algoritmo k-means tiene una complejidad de \(O(n)\), lo que significa que el algoritmo se escala de forma lineal con \(n\). Este algoritmo será el enfoque del curso.
Tipos de agrupamiento
Para obtener una lista exhaustiva de los diferentes enfoques del agrupamiento, consulta A Comprehensive Survey of Clustering Algorithms, de Xu, D. & Tian, Y. Ann. Datos. Sci. (2015) 2: 165. Cada enfoque es más adecuado para una distribución de datos en particular. En este curso, se analizan brevemente cuatro enfoques comunes.
Agrupamiento en clústeres basado en centroides
El centroide de un clúster es la media aritmética de todos los puntos del clúster. El agrupamiento en clústeres basado en centroides organiza los datos en clústeres no jerárquicos. Los algoritmos de agrupamiento basados en centroides son eficientes, pero sensibles a las condiciones iniciales y a los valores atípicos. De estos, k-means es el más utilizado. Requiere que los usuarios definan la cantidad de centroides, k, y funciona bien con clústeres de tamaño aproximadamente igual.
Figura 1: Ejemplo de agrupamiento en clústeres basado en centroides.
Agrupamiento en clústeres basado en la densidad
El agrupamiento basado en la densidad conecta áreas contiguas de alta densidad de ejemplos en clústeres. Esto permite descubrir cualquier cantidad de clústeres de cualquier forma. Los valores atípicos no se asignan a clústeres. Estos algoritmos tienen dificultades con los clústeres de diferente densidad y los datos con dimensiones altas.
Figura 2: Ejemplo de agrupamiento basado en la densidad.
Agrupamiento en clústeres basado en la distribución
Este enfoque de agrupamiento supone que los datos se componen de distribuciones probabilísticas, como las distribuciones gaussianas. En la Figura 3, el algoritmo basado en la distribución agrupa los datos en tres distribuciones gaussianas. A medida que aumenta la distancia del centro de la distribución, la probabilidad de que un punto pertenezca a la distribución disminuye. Las bandas muestran esa disminución en la probabilidad. Cuando no te sientas a gusto asumiendo una distribución subyacente particular de los datos, debes usar un algoritmo diferente.
Figura 3: Ejemplo de agrupación basada en la distribución.
Hierarchical clustering
El agrupamiento jerárquico crea un árbol de clústeres. No es de extrañar que el agrupamiento jerárquico sea muy adecuado para datos jerárquicos, como las taxonomías. Consulta Comparison of 61 Sequenced Escherichia coli Genomes de Oksana Lukjancenko, Trudy Wassenaar y Dave Ussery para ver un ejemplo. Se puede elegir cualquier cantidad de clústeres cortando el árbol en el nivel correcto.
Figura 4: Ejemplo de un árbol jerárquico que agrupa animales.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-06-09 (UTC)"],[[["\u003cp\u003eMany clustering algorithms have a complexity of O(n^2), making them impractical for large datasets, while the k-means algorithm scales linearly with a complexity of O(n).\u003c/p\u003e\n"],["\u003cp\u003eClustering approaches include centroid-based, density-based, distribution-based, and hierarchical clustering, each suited for different data distributions and structures.\u003c/p\u003e\n"],["\u003cp\u003eCentroid-based clustering, particularly k-means, is efficient for grouping data into non-hierarchical clusters based on the mean of data points, but is sensitive to initial conditions and outliers.\u003c/p\u003e\n"],["\u003cp\u003eDensity-based clustering connects areas of high data density, effectively discovering clusters of varying shapes, but struggles with clusters of differing densities and high-dimensional data.\u003c/p\u003e\n"],["\u003cp\u003eDistribution-based clustering assumes data follows specific distributions (e.g., Gaussian), assigning points based on probability, while hierarchical clustering creates a tree of clusters, suitable for hierarchical data.\u003c/p\u003e\n"]]],[],null,["Machine learning datasets can have millions of\nexamples, but not all clustering algorithms scale efficiently. Many clustering\nalgorithms compute the similarity between all pairs of examples, which\nmeans their runtime increases as the square of the number of examples \\\\(n\\\\),\ndenoted as \\\\(O(n\\^2)\\\\) in complexity notation. \\\\(O(n\\^2)\\\\) algorithms are not\npractical for datasets with millions of examples.\n\nThe [**k-means algorithm**](/machine-learning/glossary#k-means) has a\ncomplexity of \\\\(O(n)\\\\), meaning that the algorithm scales linearly with \\\\(n\\\\).\nThis algorithm will be the focus of this course.\n\nTypes of clustering\n\nFor an exhaustive list of different approaches to clustering, see\n[A Comprehensive Survey of Clustering Algorithms](https://link.springer.com/article/10.1007/s40745-015-0040-1)\nXu, D. \\& Tian, Y. Ann. Data. Sci. (2015) 2: 165. Each approach is best suited to\na particular data distribution. This course briefly discusses four common\napproaches.\n\nCentroid-based clustering\n\nThe [**centroid**](/machine-learning/glossary#centroid) of a cluster is the\narithmetic mean of all the points in the\ncluster. **Centroid-based clustering** organizes the data into non-hierarchical\nclusters. Centroid-based clustering algorithms are efficient but sensitive to\ninitial conditions and outliers. Of these, k-means is the most\nwidely used. It requires users to define the number of centroids, *k*, and\nworks well with clusters of roughly equal size.\n**Figure 1: Example of centroid-based clustering.**\n\nDensity-based clustering\n\nDensity-based clustering connects contiguous areas of high example density into\nclusters. This allows for the discovery of any number of clusters of any shape.\nOutliers are not assigned to clusters. These algorithms have difficulty with\nclusters of different density and data with high dimensions.\n**Figure 2: Example of density-based clustering.**\n\nDistribution-based clustering\n\nThis clustering approach assumes data is composed of probabilistic\ndistributions, such as\n[**Gaussian distributions**](https://wikipedia.org/wiki/Normal_distribution). In\nFigure 3, the distribution-based algorithm clusters data into three Gaussian\ndistributions. As distance from the distribution's center increases, the\nprobability that a point belongs to the distribution decreases. The bands show\nthat decrease in probability. When you're not comfortable assuming a particular\nunderlying distribution of the data, you should use a different algorithm.\n**Figure 3: Example of distribution-based clustering.**\n\nHierarchical clustering\n\n**Hierarchical clustering** creates a tree of clusters. Hierarchical clustering,\nnot surprisingly, is well suited to hierarchical data, such as taxonomies. See\n[*Comparison of 61 Sequenced Escherichia coli Genomes*](https://www.researchgate.net/figure/Pan-genome-clustering-of-E-coli-black-and-related-species-colored-based-on-the_fig1_45152238)\nby Oksana Lukjancenko, Trudy Wassenaar \\& Dave Ussery for an example.\nAny number of clusters can be chosen by cutting the tree at the right level.\n**Figure 4: Example of a hierarchical tree clustering animals.** **Key terms:**\n|\n| - [k-means algorithm](/machine-learning/glossary#k-means)\n| - [centroid](/machine-learning/glossary#centroid)\n| - [Gaussian distributions](/machine-learning/glossary#Normal_distribution)"]]