Cluster

Un peligro del análisis cluster

Quería plantearos un ejemplo de análisis cluster para observar el peligro que tiene agrupar observaciones en base a grupos homogéneos creados con distancias multivariantes. Para ilustrar el ejemplo trabajamos con R, creamos grupos en base a 2 variables, esto nos facilita los análisis gráficos. Simulamos el conjunto de datos con el que trabajamos:

#GRUPO 1

x = runif(500,70,90)

y = runif(500,70,90)

grupo1 = data.frame(cbind(x,y))

grupo1$grupo = 1
#GRUPO 2

x = runif(1000,10,40)

y = runif(1000,10,40)

grupo2 = data.frame(cbind(x,y))

grupo2$grupo = 2
#GRUPO 3

x = runif(3000,0,100)

y = runif(3000,0,100)

grupo3.1 = data.frame(cbind(x,y))

grupo3.1separacion=(x+y)

grupo3.1 = subset(grupo3.1,separacion>=80&separacion <=140,select=-separacion)

grupo3.1 = subset(grupo3.1,y>0)

grupo3.1grupo = 3
#UNIMOS TODOS LOS GRUPOS

total=rbind(grupo1,grupo2,grupo3.1)

plot(totalx,totaly,col=c(1,2,3)[total$grupo])

Los grupos parecen claros:

Monográfico. Clasificación con SVM en R

Las máquinas de vectores de soporte, Support Vector Machines, SVM a partir de ahora, son un conjunto de técnicas estadísticas que nos permiten clasificar una población en función de la partición en subespacios de múltiples variables. Parte de la idea de dividir de forma lineal un conjunto de múltiples dimensiones. Creamos muchos hiperplanos que nos dividen las observaciones. Es una técnica que está ganando popularidad y que por supuesto podemos realizarla con R. Para ello tenemos algunos paquetes específicos como kvm, svmlight y el e1071. Este último es al que pretendo acercarme hoy.