Importar base de datos

data("USArrests")
summary(USArrests)
##      Murder          Assault         UrbanPop          Rape      
##  Min.   : 0.800   Min.   : 45.0   Min.   :32.00   Min.   : 7.30  
##  1st Qu.: 4.075   1st Qu.:109.0   1st Qu.:54.50   1st Qu.:15.07  
##  Median : 7.250   Median :159.0   Median :66.00   Median :20.10  
##  Mean   : 7.788   Mean   :170.8   Mean   :65.54   Mean   :21.23  
##  3rd Qu.:11.250   3rd Qu.:249.0   3rd Qu.:77.75   3rd Qu.:26.18  
##  Max.   :17.400   Max.   :337.0   Max.   :91.00   Max.   :46.00

Normalizar Variables

bd1 <- USArrests
bd1 <- as.data.frame(scale(bd1))

K-means clustering

clusters <- kmeans(bd1, 4)

asignacion <- cbind(bd1, cluster = clusters$cluster)
head(asignacion,10)
##                  Murder    Assault   UrbanPop         Rape cluster
## Alabama      1.24256408  0.7828393 -0.5209066 -0.003416473       4
## Alaska       0.50786248  1.1068225 -1.2117642  2.484202941       1
## Arizona      0.07163341  1.4788032  0.9989801  1.042878388       1
## Arkansas     0.23234938  0.2308680 -1.0735927 -0.184916602       4
## California   0.27826823  1.2628144  1.7589234  2.067820292       1
## Colorado     0.02571456  0.3988593  0.8608085  1.864967207       1
## Connecticut -1.03041900 -0.7290821  0.7917228 -1.081740768       2
## Delaware    -0.43347395  0.8068381  0.4462940 -0.579946294       2
## Florida      1.74767144  1.9707777  0.9989801  1.138966691       1
## Georgia      2.20685994  0.4828549 -0.3827351  0.487701523       4

Visualizar Segmentos

library(factoextra)
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
fviz_cluster(clusters, data=bd1,
             palette=c("red", "blue", "black", "darkgreen"),
             ellipse.type = "euclid",
             star.plot = T,
             repel = T,
             ggtheme = theme())

#install.packages("cluster")

Optimizar k

library(cluster)
library(data.table)

set.seed(123)
optimizacion <- clusGap(bd1, FUN = kmeans, nstart = 25, K.max = 10, B = 50)
plot(optimizacion, xlab = "Numero de Clusters k")

Conclusiones

En lo personal me gustaria primero explicar como fue que llegamos a este resultado durante este ejercicio y despues comentar mis observaciones y su respectiva conclusion.

1. Importar base de datos (No se necesito usar “File.choose” debido a que esta base de datos ya esta dentro del programa R)

2. Normalizar Variables (Se implemento este punto debido a que estamos realizando una analisis multivariado por lo que deseamos comprender la una posible relacion de las variables.)

3. k-means clustering (Es un algoritmo el cual nos ayuda a clasificar y agrupar objetos en k basandose en la minima suma de distancias entre cada objeto desde el centroide del cluster.)

4. Visualizar Segmentos (En este punto podemos observar el Cluster plot el cual nos muestra el analisis de las 4 variables de la base de datos)

5. Optimizar k (Se instala libreria y nos muestra una imagen donde observamos el punto mas arriba y luegos confirmamos el numero de clusters que tocaron en el punto 4)

Por ultimo fue una actividad algo sencilla pero tediosa debido a que salieron varios warning debido a que me faltaban diversas instalaciones de paquetes, sin embargo realizar este tipo de clusters ofrecen una visualizacion perfecta de los 4 tipos de variables por lo que es una herramienta muy util a la hora de profundizar en cualquier analisis.

R Studio sin duda es una aplicacion que me ha gustado mucho y me gustaria seguir aprendiendo ya que en lo personal se me hace tediosa pero poco a poco voy logrando resolver los errores solo, por otro lado es una herramienta que me ayudara en mi desarrollo profesional.