8 Ia_agrupamientoparticional.pdf

  • Uploaded by: Uriel Gamboa
  • 0
  • 0
  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View 8 Ia_agrupamientoparticional.pdf as PDF for free.

More details

  • Words: 1,906
  • Pages: 48
Universidad Nacional Autónoma de México Facultad de Ingeniería Ingeniería en Computación

Agrupamiento Particional

Guillermo Molero-Castillo

Marzo, 2019 1

Agrupamiento Método para el análisis de grupos Los pasos para el análisis de grupos son: a) Utilizar un método para medir la similitud de los elementos. b) Utilizar un método para agrupar a los elementos. c) Utilizar un método para decidir la cantidad de grupos.

2

1. Método para medir la similitud de los elementos

3

Matriz de similitudes § Distancia euclidiana. Es una función usada para calcular la distancia entre dos puntos a través del Teorema de Pitágoras.

!"#$ %, ' =

%) − ')

+

+ %+ − '+

+

+ %- − '-

+

+ … + %/ − '/

+

n dimensiones

4

2. Método para agrupar los elementos

5

Particional Organiza los registros dentro de k grupos. Tiene ventajas en aplicaciones que involucran gran cantidad de datos. Particional

k1 Y

k2 k3

X 6

Agrupamiento Particional K-medias Crea k grupos a partir de un conjunto de elementos (objetos), de modo que los miembros de un grupo sean similares. Ejemplo: Pacientes por edad, pulso, presión arterial, colesterol, entre otros. Estas magnitudes sobre el paciente representan un vector de datos Pulso Presión arterial Colesterol …

una dimensión otra dimensión otra dimensión

7

Agrupamiento Particional Procedimiento

k1

1 Se seleccionan K puntos o elementos, haciendo que éstos representen los “centros” de los grupos.

Y k2

k3 X

8

Agrupamiento Particional Procedimiento

2 Se asigna cada uno de los elementos restantes al centro más cercano. Esto es, la distancia mínima entre el elemento y el centro. La medida de distancia es la euclidiana.

k1

Y k2

k3 X

9

Agrupamiento Particional Procedimiento

k1

3 Una vez que todos los elementos han sido asignados, se recalculan los K centros.

k1

Y k2 k3 k2 k3 X

10

Agrupamiento Particional Procedimiento

k1

4 Y Se repiten los pasos 2 y 3 hasta que los centros ya no se modifiquen más.

k2

k3

X

11

Agrupamiento Particional

12

3. Método para decidir la cantidad de grupos

13

3. Método para decidir la cantidad de grupos

14

Método del Codo Elbow method La idea básica de los métodos de partición, como k-medias, es definir el número de grupos. Para esto § En primer lugar, para aplicar este método se debe calcular SSE, para varias configuraciones de k (por ejemplo: 2, 3, 4, 5, 6, 7 y 8). § SSE es la suma de la distancia al cuadrado entre cada miembro del grupo y su centroide.

G1 (

!!" = $

%&'

$

)∈+%

,-./(1, 3-)5

Y

G2 G3 X

15

Método del Codo Algoritmo 1. Calcular el agrupamiento para diferentes valores de k. Por ejemplo, k de 2 a 10 grupos. 2. Para cada k, calcular la suma total de cuadrados dentro del grupo (SSE, conocido también como WSS) 3. Trazar la curva de SSE (WSS) de acuerdo con el número de grupos k. 4. La ubicación de una curva (efecto del codo) en el gráfico se considera como un indicador del número adecuado de grupos. Número de grupos

(

!!" = $

%&'

$

)∈+%

,-./(1, 3-)5 Centroide

Elemento del grupo

16

Método del Codo Algoritmo

17

Método del Codo Algoritmo

18

Ejemplo

19

Agrupamiento Particional Retomando el ejemplo sobre ‘Empleados’ ID E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 E11 E12 E13 E14 E15

Salario 10000 20000 15000 30000 10000 40000 25000 20000 20000 30000 45000 8000 20000 10000 8000

Casado Sí No Sí Sí Sí No No No Sí Sí No Sí No No No

Coche No Sí Sí Sí Sí Sí No Sí Sí Sí No Sí No Sí Sí

Hijos 0 1 2 1 0 0 0 0 3 2 0 2 0 0 0

Vivienda Alquiler Alquiler Prop Alquiler Prop Alquiler Alquiler Prop Prop Prop Alquiler Prop Alquiler Alquiler Alquiler

Sindicato No Sí Sí No Sí Sí Sí Sí No No No No No Sí No

Faltas/Año 7 3 5 15 1 3 0 2 7 1 2 3 27 0 3

Antigüedad 15 3 10 7 6 16 8 6 5 20 12 1 5 7 2

Sexo M F M F M F M F M M F M F M M 20

Agrupamiento Particional Retomando el ejemplo sobre ‘Empleados’

ID E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 E11 E12 E13 E14 E15

Salario 10000 20000 15000 30000 10000 40000 25000 20000 20000 30000 45000 8000 20000 10000 8000

Casado 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0

Coche 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1

Hijos 0 1 2 1 0 0 0 0 3 2 0 2 0 0 0

Vivienda 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0

Sindicato 0 1 1 0 1 1 1 1 0 0 0 0 0 1 0

Faltas/Año 7 3 5 15 1 3 0 2 7 1 2 3 27 0 3

Antigüedad 15 3 10 7 6 16 8 6 5 20 12 1 5 7 2

Sexo 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 21

Agrupamiento Particional Retomando elw ejemplo sobre ‘Empleados’ Datos <- read.table("/Users/guille/Documents/1 FI-UNAM/1 Cursos/IA 2019/2 CasosPracticos/2 Agrupamiento/Empleados.txt", header=TRUE, sep="\t") Datos

22

Agrupamiento Particional Distancia euclidiana

1

Distancias <- dist(Datos[2:10], method = "euclidean") Distancias

23

Agrupamiento Particional Método del codo (sin normalizar los datos)

2

set.seed(123) wss <- sapply(2:12, function(k) {kmeans(Datos[2:10], k, nstart=25)$tot.withinss}) plot(2:12, wss, type = "b", pch = 19, frame = FALSE, xlab = "Numero de grupos", ylab = "Suma total de cuadrados") # La función sapply simplifica la salida de los resultados de un vector o matriz

24

Agrupamiento Particional Método del codo (sin normalizar los datos) # Línea en el número deseado de grupos abline(v = 4, lty =2)

25

Agrupamiento Particional Método del codo (con datos normalizados) –Sólo en caso de requerirse–

3

Su aplicación mapea los valores al intervalo: [0, 1]

xn − xmin x = xmax − xmin * n

26

Agrupamiento Particional Método del codo (con datos normalizados) –Sólo en caso de requerirse–

3

NDatos <- scale(Datos[2:10]) set.seed(123) wss <- sapply(2:12, function(k) {kmeans(NDatos, k, nstart=25)$tot.withinss}) plot(2:12, wss, type = "b", pch = 19, frame = FALSE, xlab = "Numero de grupos", ylab = "Suma total de cuadrados") # La función sapply simplifica la salida de los resultados de un vector o matriz

27

Agrupamiento Particional Método del codo (con datos normalizados) –Sólo en caso de requerirse– # Línea en el número deseado de grupos abline(v = 4, lty =2)

28

Agrupamiento

Jerárquico

Vs

Particional

29

Agrupamiento Particional Obtención de grupos

3

set.seed(123) KMedias <- kmeans(Datos[2:10], centers=4) KMedias

30

Agrupamiento Particional Obtención de grupos cluster::clusplot(Datos[2:10], KMedias$cluster, color=T, shade=T, main='Empleados')

31

Agrupamiento Particional Obtención de grupos KMedias$cluster KMedias$centers KMedias$withinss KMedias$tot.withinss

(

!!" = $

%&'

$

)∈+%

,-./(1, 3-)5

32

Práctica guiada

33

Fuente de datos Variables climatológicas incluidas en el Sistema CLICOM (climatología computarizada). Estas variables corresponden a estaciones climatológicas del estado de Michoacán.

34

Fuente de datos Michoacán sobresale por su accidentado relieve formado por dos grandes provincias fisiográficas, Sierra Madre del Sur y Eje Neovolcánico, así como por su variedad de suelos y climas.

35

Problema Michoacán cuenta con 22 acuíferos, 9 de ellos están en condición de sobreexplotados, CONAGUA (2005). § Pastor Ortiz-La Piedad (1605).

§ § § § § § § §

Ciénega de Chapala (1607). Zamora (1608). Briseñas-Yurécuaro (1609). Ciudad Hidalgo-Tuxpan (1610). Uruapan (1614). Nueva Italia (1616). Apatzingán (1620). Cotija (1622).

36

Fuente de datos Análisis de datos

37

Fuente de datos

38

1. Acceso a la fuente de datos Estaciones <- read.table("/Users/guille/Documents/1 FI-UNAM/1 Cursos/IA 2019/2 CasosPracticos/2 Agrupamiento/Estaciones.txt", header=TRUE, sep="\t")

39

1. Acceso a la fuente de datos Estructura de la fuente de datos str(Estaciones) Estadísticas summary(Estaciones) Graficar pares de variables plot(EneTO~Estacion, Estaciones)

40

2. Estimación de las similitudes

Distancias <- dist(Estaciones[2:50], method = "euclidean") Distancias

41

3. Obtención de grupos set.seed(123) wss <- sapply(2:10, function(k) {kmeans(Estaciones[2:50], k, nstart=20)$tot.withinss}) plot(2:10, wss, type = "b", pch = 19, frame = T, xlab = "Numero de grupos", ylab = "Suma total de cuadrados") abline(v = 5, lty =2)

42

3. Obtención de grupos AParticional <- kmeans(Estaciones[2:50], centers = 5, iter.max = 20) AParticional

43

3. Obtención de grupos cluster::clusplot(Estaciones[2:50], AParticional$cluster, color=T, shade=T, main='Estaciones')

44

4. Obtención de grupos (Jerárquico) AJerarquico <- hclust(Distancias, method = 'average’) AJerarquico rect.hclust(AJerarquico, k = 5, border = 2:6)

45

5. Interpretación de grupos Variación estacional de la precipitación mensual

30.00

200.00 160.00 120.00 80.00 40.00 0.00

Ene Feb

Mar

Abr

May Jun

Jul

Mes

Ago Sep

25.00 20.00

15.00

Oct10.00 Nov Dic

St16007 St16016 St16020 St16024 St16028 St16033 St16045 mensual St16050 St16057 St16074 St16081 St16091 St16094 St16107 St16118 St16123 St16133 St16141 St16151 St16162 St16188 St16194 St16219 St16228 St16254 St16515

5.00

0.00

de temperatura observeda St16007 St16016 St16020 St16024 St16028 St16033 St16045 St16050 St16057 St16074 St16081 St16091 St16094 St16107 St16118 St16123 20.00St16133 St16141 St16151 St16162 15.00St16188 St16194 St16219 St16228 St16254 10.00St16515

Media mensual de temperatura máxima 50.00 45.00 40.00 35.00 30.00 25.00 20.00

15.00 Jul Ago Sep Oct Nov Dic Año 10.00

Ene Feb Mar Abr May Jun

St16006 St16014 St16017 St16023 St16027 St16031 St16043 St16048 St16052 St16059 St16075 St16090 St16093 St16095 St16109 St16120 St16124 St16136 St16142 St16159 St16165 St16192 St16208 St16225 St16248 St16255

5.00 0.00 Ene Feb Mar Abr May Jun

Temperatura Mínima (ºC)

240.00

Temperatura Observada (ºC)

Precipitación (mm)

280.00

St16006 St16014 St16017 St16023 St16027 St16031 St16043 Media St16048 St16052 St16059 St16075 St16090 St16093 St16095 St16109 St16120 St16124 St16136 St16142 St16159 St16165 St16192 St16208 St16225 St16248 St16255

Temperatura Máxima (ºC)

320.00

5.00

St16006 St16014 St16017 St16023 St16027 St16031 St16043 St16048 St16052 St16059 St16075 St16090 St16093 St16095 St16109 St16120 St16124 St16136 St16142 St16159 St16165 St16192 St16208 St16225 St16248 St16255

Media mensual de temperatura mínima

Jul 0.00 Ago Sep Oct Nov Dic Ene Feb Mar Abr May Jun

Año

St16007 St16016 St16020 St16024 St16028 St16033 St16045 St16050 St16057 St16074 St16081 St16091 St16094 St16107 St16118 St16123 St16133 St16141 St16151 St16162 St16188 St16194 St16219 St16228 St16254 St16515

Jul Ago Sep Oct Nov Dic

-5.00

-10.00 Año

St16006 St16014 St16017 St16023 St16027 St16031 St16043 St16048 St16052 St16059 St16075 St16090 St16093 St16095 St16118 St16120 St16124 St16136 St16142 St16159 St16165 St16192 St16208 St16225 St16248 St16255

St16007 St16016 St16020 St16024 St16028 St16033 St16045 St16050 St16057 St16074 St16081 St16091 St16094 St16107 St16109 St16123 St16133 St16141 St16151 St16162 St16188 St16194 St16219 St16228 St16254 St16515

46

5. Interpretación de grupos Los resultados pueden relacionarse con el mapa de climas del INEGI.

47

5. Interpretación de grupos Los resultados pueden relacionarse con el mapa de climas del INEGI.

La región 1 quedó conformada por 10 estaciones que se ubican en la zona norte y noreste del estado, cubriendo por lo general zonas de la provincias fisiográfica Eje Neovolcánico. P promedio total anual alcanza valores entre los 721 y 1534 mm y T media anual oscila entre los 10.6 y 17.4 ºC. Templado subhúmedo con lluvias en verano y Semifrío húmedo con abundantes lluvias en verano,

La región 2 quedó integrada por 11 estaciones climáticas, las cuales se ubican en la zona Sur del estado, cubriendo sectores de la provincia fisiográfica Sierra Madre del Sur. P promedio total anual de 500 a 989 mm y T media anual que oscila entre los 23 y 31 ºC.



Seco y semiseco muy cálido, y Cálido subhúmedo con lluvias en verano.

48

Related Documents

8-8
October 2019 85
8 8
August 2019 108
8
October 2019 33
8
June 2020 17
8
May 2020 27
8
November 2019 34

More Documents from "mawad"

Punto De Venta.ppt
April 2020 7
P3.pdf
April 2020 2
P6.pdf
October 2019 14
Proyecto2.docx
October 2019 12