Documente Academic
Documente Profesional
Documente Cultură
ASIGNATURA:
Inteligencia Artificial
Unidad 1
Practica: Agrupamientos
Alumnos:
Dominguez Cruz Carlos Asahel
García López Absalon Cael
Samayoa Monroy Bruno
Docente:
Carlos Mauricio Castorena Lara
Introducción
¿Qué es un algoritmo?
Como algoritmo denominamos un conjunto ordenado y finito de
operaciones simples a través del cual podemos hallar la
solución a un problema.
Los algoritmos nos permiten ejecutar una acción o resolver un
problema mediante una serie de instrucciones definidas,
ordenadas y finitas. Así, dado un estado inicial y una
entrada, y siguiendo los sucesivos pasos indicados, se llega
al estado final y se obtiene una solución.
¿Qué es agrupar?
Reunir en un grupo elementos o personas que tienen
propiedades o características en común o siguiendo un
determinado criterio o fin.
¿Qué es K-Means?
K-Means (traducido como K-Medias en español), es un método de
agrupamiento o clustering.
El clustering es una técnica para encontrar y clasificar K
grupos de datos (clusters). Así, los elementos que comparten
características semejantes estarán juntos en un mismo grupo,
separados de los otros grupos con los que no comparten
características.
Para saber si los datos son parecidos o diferentes el
algoritmo K-medias utiliza la distancia entre los datos. Las
observaciones que se parecen tendrán una menor distancia
entre ellas. En general, como medida se utiliza la distancia
euclideana aunque también se pueden utilizar otras funciones.
Objetivo
El objetivo de la práctica es entender el algoritmo de
agrupamiento K Means, asi como mostrar paso por paso los
procesos que involucra, entender su funcionamiento, observar
como las librerías de Python
requeridas(Numpy,Pandas,MatPlot,ScikitLearn) nos ayudan y
facilitan para su implementacion y visualizar para
familiarizarnos con los métodos de dichas librerias para
lograr dicha práctica dándonos una idea mas clara de cómo
aplicarlo.
Método
Consta de 3 pasos
1.- Inicialización Una vez escogido el número de grupos k se
establecen los centroides en el espacio de datos por ejemplo
escogiéndolos aleatoriamente
2.- Asignación de objetos: cada objeto de datos es asignado a
su centroide más cercano.
3.- Actualización de centroides: se actualiza la posición del
centroide de cada grupo tomando como nuevo centroide la posición
del parámetro de los objetos pertenecientes a dicho grupo
Se repiten los pasos 2 y 3 y el algoritmo acaba hasta que los
centroides no se muevan o se muevan por debajo de una distancia
umbral en cada paso y cuando no cambien de grupo.
Algunas aplicaciones de este algoritmo son:
Segmentacion de clientes
Agrupacion de tetos que habla de temas similares
Geo estadística
Comunidades de redes sociales
Consta de 3 pasos
Paso de asignación de datos
Paso de actualización
Podemos observar que se hizo una lista de listas con los valores
de x y y por medio del método zip() y del método list(), como si
fueran argumentos del método array(), todo esto se guardó en la
variable X la cual por lo general casi siempre se utiliza en
mayúsculas, esta se considera una nomenclatura.
A continuación podemos observar que se hace el agrupamiento con
el método KMeans(), dentro de este se le definen el número de
clusters o el número de agrupaciones que tendrá el algoritmo
En la línea 4 y 5 podemos observar que se ajustan los datos con
el método fit() y con el método predict() podemos manipular la
información más fácil.
El método clister_centers_ es un método basado en centroides ,
con el cual se estima la distancia menor entre el punto vecino y
esos son los que quedan a menor distancia, los que se agruparan
en un solo clúster.
En los siguientes renglones se definen los colores para las
gráficas de dispersión usando el método plot() se especifica que
se va a trazar una función, scatter() es el nombre de la gráfica
de dispersión, así se indica que se utilizara esa gráfica, vemos
que se utiliza una X para dibujar los centroides. Y con show se
imprime la gráfica.
Dando como resultado la siguiente gráfica.
RESULTADOS
Como se ha visto, en esta practico se uso el lenguaje de
programacion Python, en un inicio debemos importar nuestras
librerías para que nuestros siguientes bloques puedan
ejecutarse la manera en que se realiza la importación usamos
la palabra reservada “Import” en seguida de el nombre de la
librería como por ejemplo
Búsqueda de clusters
Definimos los
datos en 2D
x=np.array(datos
[:,2])
y=np.array(datos[:,0])
z=np.array(datos[:,1])
el siguiente resultado
(Imagen 1) (Imagen 2)
Conclusión
K-Means es un algoritmo de clustering que Se utiliza
cuando tenemos un montón de datos sin etiquetar. El
objetivo de este algoritmo es el de encontrar «K»
grupos (clusters) entre los datos crudos por lo que es
una muy buena herramienta cuando tratamos de datos de
manera impresionante.
Una de las desventajas como ya se observó en la
práctica es que al tratar con una cantidad de grande
de datos tiene un margen de error entre sus
agrupaciones y que se debe especificar el número de
clústeres para iniciar el algoritmo.
Referencias
https://www.definiciones-de.com/Definicion/de/agrupar.php © Definiciones-
de.com
https://estrategiastrading.com/k-means/
https://www.aprendemachinelearning.com/k-means-en-python-paso-a-paso/
https://es.coursera.org/lecture/mineria-de-datos-introduccion/ejemplo-
algoritmo-k-means-d0fgs
https://towardsdatascience.com/machine-learning-algorithms-part-9-k-
means-example-in-python-f2ad05ed5203?gi=6854d0d5b267