Comencemos
por hablar que significa agrupamiento podría decirse que es unir o juntar
elementos para hacer o formar grupos. Por lo general los grupos generados tienen una serie de características en común
lo cual los enlazan aun sin necesariamente conocerse.
El
algoritmo de agrupamiento k-means se
basa en un conjunto de puntos de datos, que
utiliza un enfoque de búsqueda local para dividir los puntos en grupos.
Para esta tarea
escogimos el agrupar pokemones; que es
un pokemon se explica en el siguiente enlace (http://frentebatalla.com/teoria/queesunpokemon.html ) teniendo sus tipos
y enlazándolos en ciertos grupos ya sea por sus similitudes y características
en común.
Las secciones se
dividirán en introducción que fue esta, marco teórico, desarrollo (contexto de
agrupamiento, vectores de características, medida de similitud, algoritmo
K-means y Parametros)
Marco Teórico
El agrupamiento es un concepto que se refiere a juntar una serie de vectores de acuerdo a un criterio establecido como por ejemplo agrupar en un criterio de medicina para clasificar enfermedades u otra cosa.
Los grupos que se generan mediante el agrupamiento deben de tener características similares y así que de esa forma en el grupo estén objetos similares.
Los tipos de grupos que se pueden formar son: disjuntos (particicones), traslape, traslape jerárquico y difuso.
Disjuntos: Es la descomposición de un conjunto de objetos en k particiones o grupos sin poner una jerarquía como lo es el k means
Difuso: genera un número específico de particiones con límites difusos.
Traslape jerarquico: son aquellos que partes considerando a cada objeto como un grupo y construyen una jerarquía uniendo recursivamente al par de grupos más semejantes hasta formar un grupo que contiene a todos los objetos.
Traslape: es cuando los objetos se cubren con características similares.
Un vector de características es donde se almacenan las características del objeto de los cuales se toman para la clasificación y agrupación. Sirve en el contexto de agrupamiento para saber en dónde se va agrupar el objeto y no quede en un grupo donde no le corresponde.
Las medidas que pueden utilizarse para calcular la distancia entre vectores son los puntos donde s e sitúan los vectores y para calcular la distancia se utiliza la fórmula de la distancia euclidiana.
El k means es un algoritmo de agrupamiento particional que dado un conjunto de datos tiene como objetivo agruparlos en k grupos de acuerdo a sus características.
1. Inicio
2. inicializar vectores
3. inicializar centroides
4. para cada vector: centroide más cercano
5. calcular nuevos centroides
6. repetir hasta que el error sea menor a un umbral
7. fin
Desarrollo
Contexto de agrupamiento
Los pokémon son una clase de criaturas basadas en muchos casos en animales reales o criaturas míticas y mitológicas orientales. Otros se inspiran en cosas inanimadas y legendarias.
Existen 18 tipos en los que se organiza a los pokémon (de los cuales utilizaremos los primeros 16).
Vectores de características
Vector 0 tipo primario (representados en la tabla 1)
Vector 1 tipo secundario (representados en la tabla 1)
Vector 2 número de evolución (representados en la tabla 2)
Vector 3 genero (representados en la tabla 3)
Vector 4 versión (representados en la tabla 4)
Vector 5 color (representados en la tabla 5)
Vector 6 legendario (representados en la tabla 6)
Vector 7 tipo de evolución (representados en la tabla 7)
Contexto de agrupamiento
Los pokémon son una clase de criaturas basadas en muchos casos en animales reales o criaturas míticas y mitológicas orientales. Otros se inspiran en cosas inanimadas y legendarias.
Existen 18 tipos en los que se organiza a los pokémon (de los cuales utilizaremos los primeros 16).
Vectores de características
Vector 0 tipo primario (representados en la tabla 1)
Vector 1 tipo secundario (representados en la tabla 1)
Vector 2 número de evolución (representados en la tabla 2)
Vector 3 genero (representados en la tabla 3)
Vector 4 versión (representados en la tabla 4)
Vector 5 color (representados en la tabla 5)
Vector 6 legendario (representados en la tabla 6)
Vector 7 tipo de evolución (representados en la tabla 7)
Tabal 1
|
|
normal
|
0
|
lucha
|
1
|
Roca
|
2
|
Tierra
|
3
|
planta
|
4
|
Bicho
|
5
|
veneno
|
6
|
fantasma
|
7
|
Psíquico
|
8
|
Hielo
|
9
|
Agua
|
10
|
Volador
|
11
|
dragón
|
12
|
fuego
|
13
|
eléctrico
|
14
|
Tabal 2
|
|
Primera
|
0
|
Segunda
|
1
|
Tercera
|
2
|
Tabal 3
|
|
Masculino
|
0
|
Indefinido
|
1
|
Femenino
|
2
|
Tabal 4
|
|
Azul
|
0
|
Amarilla
|
1
|
Roja
|
2
|
Tabal 5
|
|
blanco
|
0
|
gris
|
1
|
amarillo
|
2
|
verde
|
3
|
azul
|
4
|
morado
|
5
|
marrón
|
6
|
rosa
|
7
|
rojo
|
8
|
negro
|
9
|
Tabal 6
|
|
No
|
0
|
Si
|
1
|
Tabal 7
|
|
Nivel
|
0
|
Piedra
|
1
|
Intercambia
|
2
|
Generacion de centroides
Nuestros centroides fueron generados aleatoria mente dentro de los parámetros de los valores seleccionados.
Nuestros centroides fueron generados aleatoria mente dentro de los parámetros de los valores seleccionados.
Calculo de similitud entre vectores
A continuación utilizamos la fórmula de la distancia
euclidiana e imprimiremos los valores para cada uno de los vectores con cada
uno de los centroides.

Asignación de grupos
Aquí a través de unos if se compara cada resultado de un punto a un centroide y se selecciona el menor de estos.
Resultados
Conclusiones
El algoritmo k-means es una manera óptima de obtener los puntos similares entre si, pero existe un problemas si las similitudes buscadas no son bien representadas en valores, ya que si se habla por ejemplo de color este puede variar mucho al darle valores a cada uno de estos, el resultado es más exacto si se utilizan valores que pueden ser medidos mediante números.
