#file.choose()
bd<-read.csv("/Users/vanessaelizondo/Desktop/Tec/Semestre 7/CSV/USArrests.csv")
summary(bd)## X Murder Assault UrbanPop
## Length:50 Min. : 0.800 Min. : 45.0 Min. :32.00
## Class :character 1st Qu.: 4.075 1st Qu.:109.0 1st Qu.:54.50
## Mode :character Median : 7.250 Median :159.0 Median :66.00
## Mean : 7.788 Mean :170.8 Mean :65.54
## 3rd Qu.:11.250 3rd Qu.:249.0 3rd Qu.:77.75
## Max. :17.400 Max. :337.0 Max. :91.00
## Rape
## Min. : 7.30
## 1st Qu.:15.07
## Median :20.10
## Mean :21.23
## 3rd Qu.:26.18
## Max. :46.00
Pasos Importantes:.
Paso 1. Definir el área de negocios que deseamos impactar o mejorar y su KPI.
El area policial de arrestos para que sean asertivos y rapidos, uso de un KPI que mida la disminución de crimenes
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 Clusters para tener una mejor visualización de manera más gráfica sobre los estados que tienen mayores arrestos y tomar acción para mitigralos o disminuirlos
Paso 4. Reunir los datos requeridos
Crear una nueva base de datos con la información esencial de los clusters.
Paso 5. Plan de ejecución
1. Enfocarse primiordialmente en el Cluster “rojo” con mayores regulaciones estrictas y más vigilancia.
2. Estrategia de arresto más rápido.
3. Informar a los policias de los lugares con mayores riesgos y poner más vigilancia.
Revisar presencia de datos anormales -boxplot(bd)
Se deternmino que hay datos anormales en Rape (Fuera del limite superior)
No se eliminan al ser cercanos a los demás datos
bd1<-bd
rownames(bd1)<-bd1$Xbd1 <- subset(bd1, select = -c (X))
summary(bd1)## 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
#Se asume que se pueden dejar los valores "fuera de lo normal"
#K, means clusteringbd2 <- bd1
bd2 <- as.data.frame(scale(bd2))segmentos <- kmeans(bd2, 4)
segmentos## K-means clustering with 4 clusters of sizes 13, 16, 8, 13
##
## Cluster means:
## Murder Assault UrbanPop Rape
## 1 -0.9615407 -1.1066010 -0.9301069 -0.96676331
## 2 -0.4894375 -0.3826001 0.5758298 -0.26165379
## 3 1.4118898 0.8743346 -0.8145211 0.01927104
## 4 0.6950701 1.0394414 0.7226370 1.27693964
##
## Clustering vector:
## Alabama Alaska Arizona Arkansas California
## 3 4 4 3 4
## Colorado Connecticut Delaware Florida Georgia
## 4 2 2 4 3
## Hawaii Idaho Illinois Indiana Iowa
## 2 1 4 2 1
## Kansas Kentucky Louisiana Maine Maryland
## 2 1 3 1 4
## Massachusetts Michigan Minnesota Mississippi Missouri
## 2 4 1 3 4
## Montana Nebraska Nevada New Hampshire New Jersey
## 1 1 4 1 2
## New Mexico New York North Carolina North Dakota Ohio
## 4 4 3 1 2
## Oklahoma Oregon Pennsylvania Rhode Island South Carolina
## 2 2 2 2 3
## South Dakota Tennessee Texas Utah Vermont
## 1 3 4 2 1
## Virginia Washington West Virginia Wisconsin Wyoming
## 2 2 1 1 2
##
## Within cluster sum of squares by cluster:
## [1] 11.952463 16.212213 8.316061 19.922437
## (between_SS / total_SS = 71.2 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
asignacion <- cbind(bd1, cluster= segmentos$cluster)
head(asignacion,10)## Murder Assault UrbanPop Rape cluster
## Alabama 13.2 236 58 21.2 3
## Alaska 10.0 263 48 44.5 4
## Arizona 8.1 294 80 31.0 4
## Arkansas 8.8 190 50 19.5 3
## California 9.0 276 91 40.6 4
## Colorado 7.9 204 78 38.7 4
## Connecticut 3.3 110 77 11.1 2
## Delaware 5.9 238 72 15.8 2
## Florida 15.4 335 80 31.9 4
## Georgia 17.4 211 60 25.8 3
write.csv(asignacion, "datos_con_cluster.csv")Instalar Paquetes y librerías.
#install.packages("factoextra")
#install.packages("ggplot2")
library(factoextra)## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(ggplot2)
library(cluster)
fviz_cluster(segmentos, data = bd2,
palette=c("red", "blue", "black", "darkgreen"),
ellipse.type = "euclid",
star.plot = T,
repel = T,
ggtheme = theme())library(cluster)
library(data.table)
set.seed(123)
optimizacion <- clusGap(bd2, FUN = kmeans, nstart = 25, K.max = 10, B = 50)
plot(optimizacion, xlab = "Numero de clusters k")Para la realización de los cluster vistos previamente, fue necesario instalar varias librerías y paquetes. Para hacerlo posible fue necesario utilizar la cofiiciación de K-Means clustering, visto en el paso 2. Cada uno de los cluster se decidió que sean identificados por diferentes colores que fueron seleccionados por nosotros.Cada uno de estos circulos o “Clusters” representan ciertos estados de Estados Unidos con la finalidad de que determinen los arrestos que se hacen y ver en cuales de ellos se tienen un mayor numero.
En los Clusters que se extrajeron podemos ver que los que se encuentran más abajo y a la izquierda son aquellos que cuentan con mayores arrestos y los de más arriba y hacia la derecha los que cuentan con menos arrestos. Texas por ejemeplo es uno de los Estados con mayores arrestos ubicado en el cluster izquierdo de abajo.
Con R Studio podemos hacer que de una exhaustiva y complicada base de datos se extraiga la información de manera más gráfica y fácil de entender. En este caso nos permitió tener la información graficamente para poder mostrar de manera más fácil la posición que cada estado tiene de acuerdo a los arrestos que cada uno de ellos tiene.