Está en la página 1de 5

Implementacin de K-Means

Clustering
Alumno: Alejandro Adrin Macas Pantoja; Matricula: 0617745e

Descripcin del mtodo utilizado


El algoritmo ms comn utiliza una tcnica de refinamiento iterativo. Debido a su ubicuidad a
menudo se llama el algoritmo k-means, tambin se le conoce como algoritmo de Lloyd, sobre
todo en la comunidad informtica.
Dado un conjunto inicial de k centroides m1(1),,mk(1) (ver ms abajo), el algoritmo contina
alternando entre dos pasos:
Paso de asignacin: Asigna cada observacin al grupo con la media ms cercana (es
decir, la particin de las observaciones de acuerdo con el diagrama de Voronoi generado
por los centroides).

Paso de actualizacin: Calcular los nuevos centroides como el centroide de las


observaciones en el grupo.

El algoritmo se considera que ha convergido cuando las asignaciones ya no cambian.

Descripcin de las estructuras de datos utilizadas


Se implementaron listas de listas en Python para hacer los clculos necesarios en K-Means, en
cada lista se creaba una matriz para ir guardando los datos con cada iteracin, al cambiar los
centroides debido a un cambio de elemento de la matriz de posicin, se actualizaba la matriz de
distancias. Se importaron los paquetes de Numpy para el manejo de listas y matrices, Matplot
para el ploteo de las grficas y K-means para realizar el clustering.

Resultados de las pruebas realizadas con los datos Europe.txt


Con 100 Datos
Con 1000 Datos

2
3
Todos los datos

4
Conclusiones
Aprend mucho en los diferentes lenguajes para realizar este algoritmo, ya que se tiene que
manejar muy bien los datos para las sumatorias que se tienen que realizar, comenc a realizar el
algoritmo en C pero no lo termine, es muy pesado en C ya que tienes que crear todo pero todo
pero sin dudas es donde aprendes ms a desarrollar las tcnicas de programacin, en los dems
lenguajes siempre habr alguna clase ya hecha o paquete creado para realizar dicho algoritmo.
En C lo hubiera terminado si hubiera tenido un poco ms de tiempo, me quede en asignar a
cada matriz el elemento dependiendo del centroide ms cercano.

La bibliografa de cmo funciona el paquete K-Means:

https://github.com/scikit-learn/scikit-learn/blob/14031f6/sklearn/cluster/k_means_.py#L704

También podría gustarte