Documentos de Académico
Documentos de Profesional
Documentos de Cultura
# ANÁLISIS CLUSTER #
# CLUSTER BASADO EN DENSIDAD #
# Mg. Jesús Salinas Flores #
# jsalinas@lamolina.edu.pe #
################################
#--------------------------------------------------------------
# Para limpiar el workspace, por si hubiera algun dataset
# o información cargada
rm(list = ls())
dev.off()
#--------------------------------------------------------------
# Cambiar el directorio de trabajo
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))
getwd()
#--------------------------------------------------------------
# Otras opciones
options(scipen=999) # Eliminar la notación científica
options(digits = 3) # Número de decimales
#--------------------------------------------------------------
# Paquetes
library(fpc)
library(dbscan)
library(factoextra)
##########################################
# I. CLUSTER BASADO EN DENSIDAD: DBSCAN #
##########################################
#--------------------------------------------------------------
# 1. Analizando la data multishapes
library(factoextra)
data(multishapes)
head(multishapes)
cluster_real<-multishapes[3]
plot(datos)
head(datos)
# El cerebro humano identifica fácilmente 5 agrupaciones
# y estas son 2 racimos de ovales, 2 grupos lineales
# y un grupo compacto
#--------------------------------------------------------------
# 2. Realizando un cluster k-means
set.seed(123)
km.res <- kmeans(x=datos,
centers=5,
nstart = 25)
km.res
#--------------------------------------------------------------
# 3. Realizando un DBSCAN
library(fpc)
library(dbscan)
library(factoextra)
data("multishapes")
datos <- multishapes[, 1:2]
dbscan::kNNdistplot(datos, k = 5)
# Resultados de la asignación
print(dbscan_cluster)
## 0 1 2 3 4 5
## border 31 24 1 5 7 1
## seed 0 386 404 99 92 50
## total 31 410 405 104 99 5
library(factoextra)
suma<-0
for(i in 1:1100){
if(pred[i]==X[i]){
suma= suma + 1
}
}
suma
suma/1100
table(multishapes$shape)
table(pred)
pred[pred==0] = 6
table(pred)