Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
08 Febrero 2018
Sebastián Moreno
Universidad Adolfo Ibañez
Datos de producción
¿Cuantos clusters
deberíamos
seleccionar?
Datos de producción, algoritmos jerárquicos
• Visualizando
plot(fit2, main=“Average-linkage”, xlab="puntos",
ylab="distancia",cex.lab=1.5,cex.main=1.5,cex.axis=1.3)
Datos de producción, algoritmos jerárquicos
• Visualizando
plot(fit2, main=“Average-linkage”, xlab="puntos",
ylab="distancia",cex.lab=1.5,cex.main=1.5,cex.axis=1.3)
¿Cuantos clusters
deberíamos
seleccionar?
Datos de producción, algoritmos jerárquicos
• Visualizando
plot(fit3, main=“Complete-linkage", xlab="puntos",
ylab="distancia",cex.lab=1.5,cex.main=1.5,cex.axis=1.3)
Datos de producción,
¿Cuantosalgoritmos jerárquicos
clusters
• Visualizando
deberíamos
plot(fit3, main=“Complete-linkage", xlab="puntos",
seleccionar?
ylab="distancia",cex.lab=1.5,cex.main=1.5,cex.axis=1.3)
Datos de producción,
¿Cuantosalgoritmos jerárquicos
clusters
• Visualizando
deberíamos
plot(fit3, main=“Complete-linkage", xlab="puntos",
seleccionar?
ylab="distancia",cex.lab=1.5,cex.main=1.5,cex.axis=1.3)
• install.packages(“flexclust”); library(flexclust)
K=9
cohesion=numeric(K); cohesion=1/0
coefSil=numeric(K); coefSil[1]=1/0
for (i in 2:K){
groups = cutree(fit3, k=i)
tempC=0
for (j in 1:i){
tempData=X[which(groups==j),]
tempC=tempC+sum(dist2(tempData,colMeans(tempData))^2)
}
cohesion[i]=tempC
temp = silhouette(groups,d)
coefSil[i]=mean(temp[,3])
}
Datos de producción, buscando K, visualizando
• #Visualización de los errores
plot(1:K,cohesion,typ='b',main="Buscando valores de K", xlab="Número de
clusters", ylab=“Cohesion",cex.lab=1.5,cex.main=1.5,cex.axis=1.3)
CÓDIGO A UNvalores
plot(1:K,coefSil,typ='b',main="Buscando CLICKde K", xlab="Número de
clusters", ylab=“Coef. Silhouette",cex.lab=1.5,cex.main=1.5,cex.axis=1.3)
Datos de producción, buscando K, visualizando
• #Visualización de los errores
plot(1:K,cohesion,typ='b',main="Buscando valores de K", xlab="Número de
clusters", ylab=“Cohesion",cex.lab=1.5,cex.main=1.5,cex.axis=1.3)
plot(1:K,coefSil,typ='b',main="Buscando valores de K", xlab="Número de
clusters", ylab=“Coef. Silhouette",cex.lab=1.5,cex.main=1.5,cex.axis=1.3)
Datos de producción, buscando K, visualizando
• #Visualización de los errores
plot(1:K,cohesion,typ='b',main="Buscando valores de K", xlab="Número de
clusters", ylab=“Cohesion",cex.lab=1.5,cex.main=1.5,cex.axis=1.3)
plot(1:K,coefSil,typ='b',main="Buscando valores de K", xlab="Número de
clusters", ylab=“Coef. Silhouette",cex.lab=1.5,cex.main=1.5,cex.axis=1.3)
sin
est.
Datos de producción, análisis sin estandarización
sin estandarización
sin estandarización
sin estandarización
PCA
Datos de producción, análisis sin estandarización
PCA
PCA
Datos de producción, clustering difuso, C-medias
• #En el caso de C-medias, es necesario encontrar m y K.
• # Agregando leyenda
legend("bottomleft", legend=seq(1.05, 3.05, 0.5), cex=0.8, col=colors,pch=plotchar,
lty=linetype, title="valor de m")
Datos de producción, clustering difuso, C-medias
• #Visualizando solución para K=3 y m=2.55
Datos de producción, clustering difuso, GMM
• #En el caso de GMM, es necesario encontrar el número de clusters.
model = Mclust(datos) #Entrenando el modelo
plot(model) #Graficando los BIC
Datos de producción, clustering difuso, GMM
• #Visualización de clusters
Datos de producción, clustering difuso, GMM
• #Visualización de clusters si aplicamos GMM sobre los datos de PCA
Datos de producción, clustering difuso, GMM
• #Visualización de clusters si aplicamos GMM sobre los datos de PCA