bd <- read.csv("/Users/ivannagarza/Downloads/USArrests.csv")Paso 1. Definir el área de negocio que buscamos impactar o mejorar y su KPI. El departamento de dirección de EUA con el indicador de Crímenes por estado
Paso 2. Seleccionar plantilla (-s) para crear valor a partir
de los datos de los clientes.
Visión / Segmentación / Personalización /
Contextualización
Paso 3. Generar ideas o conceptos específicos
Elaborar un gráfico de la segmentación de los estados del país con
los crímenes cometidos.
Paso 4. Reunir los datos requeridos
Elaborar una gráfica (Boxplot) para identificar datos anormales en
la base de datos y de ahí partir al siguiente paso.
Paso 5. Plan de ejecución
El departamento de dirección del país elaborará una estratégia de
seguridad para los estados con mayor peligro dependiendo el
crímen.
bd1<- bd
rownames(bd1) <- bd1$Xbd2<-bd1
bd2 <- subset (bd2, select = -c (X))summary(bd2)## 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
bd3<-bd2
bd3 <- as.data.frame(scale(bd3))k-means clustering
segmentos <- kmeans(bd3, 4)
segmentos## K-means clustering with 4 clusters of sizes 10, 20, 10, 10
##
## Cluster means:
## Murder Assault UrbanPop Rape
## 1 -0.2084716 -0.4110987 -0.3412836 -0.2030666
## 2 1.0049340 1.0138274 0.1975853 0.8469650
## 3 -1.1727674 -1.2078573 -1.0045069 -1.1020261
## 4 -0.6286291 -0.4086988 0.9506200 -0.3888373
##
## Clustering vector:
## Alabama Alaska Arizona Arkansas California
## 2 2 2 1 2
## Colorado Connecticut Delaware Florida Georgia
## 2 4 4 2 2
## Hawaii Idaho Illinois Indiana Iowa
## 4 3 2 1 3
## Kansas Kentucky Louisiana Maine Maryland
## 1 1 2 3 2
## Massachusetts Michigan Minnesota Mississippi Missouri
## 4 2 3 2 2
## Montana Nebraska Nevada New Hampshire New Jersey
## 1 1 2 3 4
## New Mexico New York North Carolina North Dakota Ohio
## 2 2 2 3 4
## Oklahoma Oregon Pennsylvania Rhode Island South Carolina
## 1 1 4 4 2
## South Dakota Tennessee Texas Utah Vermont
## 3 2 2 4 3
## Virginia Washington West Virginia Wisconsin Wyoming
## 1 4 3 3 1
##
## Within cluster sum of squares by cluster:
## [1] 6.148786 46.747955 7.443899 9.326266
## (between_SS / total_SS = 64.5 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
asignacion <- cbind(USArrests, cluster = segmentos$cluster)
head(asignacion,10)## Murder Assault UrbanPop Rape cluster
## Alabama 13.2 236 58 21.2 2
## Alaska 10.0 263 48 44.5 2
## Arizona 8.1 294 80 31.0 2
## Arkansas 8.8 190 50 19.5 1
## California 9.0 276 91 40.6 2
## Colorado 7.9 204 78 38.7 2
## Connecticut 3.3 110 77 11.1 4
## Delaware 5.9 238 72 15.8 4
## Florida 15.4 335 80 31.9 2
## Georgia 17.4 211 60 25.8 2
write.csv(asignacion,"USArrestsClusters")# install.packages("factoextra")
library(factoextra)## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
fviz_cluster(segmentos, data = bd3,
palette=c("red", "blue", "black", "darkgreen"),
ellipse.type = "euclid",
star.plot = T,
repel = T,
ggtheme = theme())Se debe de insertar una libreria para cluster y para data.table, asimismo un paquete de data.table, sin embargo no se incluyo en el apartado R debido a que marcaba error para publicar.
El código que se puede observar a continuación, se visualiza como texto debido a que al momento de correr la funcion clusGap viene que no esta disponible para la versión de R que tengo. Sin embargo, a continuación se inserta la tabla que da de resultado el código siguiente;
set.seed(123) optimizacion <- clusGap(bd3, FUN = kmeans, nstart = 25, K.max = 10, B = 50) plot(optimizacion, xlab = “Numero de clusters k”) .
Realizar esta programación con R fue con el propósito de visualmente identificar los datos segmentados. Para poder realizar este programa de manera efectiva, hubieron muchos Warnings en el proceso, debido a la falta de la instalación de diversos paquetes y librerias tales como data.table, y factoextra. Una vez que se instalaron, se pudo representar visualmente los segmentos identificados en el paso 2 de la creación de los clusters, “k-means clustering”.
Hubo un detalle al momento de visualizar el plot de los segmentos, debido a que a comparación de la programación del profesor y mis compañeros, mi visualización se diferenciaba en el color de los circulos, sin embargo, no fue de mucha importancia debido a que la información que estos contenían era igual.
Esta codificación es de alta utilidad para el departamento de dirección de EUA debido a que conocer visualmente los estados con los cuales se hacen conjunto debido a la relación de números dependiendo el crimen ayudan para poder tomar decisiones estratégicas referente a la seguridad, y/o avisos a la población.