Introducción

La metodología CRISP-DM (Cross Industry Standard Process for Data Mining) es un enfoque estándar para proyectos de minería de datos y ciencia de datos. Consta de seis fases principales que guían el proceso de principio a fin.

A continuación se explican las fases y se muestra un ejemplo práctico usando R.

1. Comprensión del Negocio

En esta fase se busca entender los objetivos y requerimientos del negocio. Es clave traducir el problema empresarial en un problema de análisis de datos.

Ejemplo:
Supongamos que una tienda desea predecir si un cliente realizará una compra, basándose en su historial de navegación en el sitio web.

# No se requiere código en esta fase
cat("Objetivo: predecir la probabilidad de compra según historial de navegación.")
## Objetivo: predecir la probabilidad de compra según historial de navegación.

2. Comprensión de los Datos

Aquí se recolectan los datos iniciales, se exploran y se evalúa su calidad.

# Cargamos un conjunto de datos de ejemplo
data("iris")
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
# Resumen estadístico
summary(iris)
##   Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
##  Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
##  1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
##  Median :5.800   Median :3.000   Median :4.350   Median :1.300  
##  Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
##  3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
##  Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
##        Species  
##  setosa    :50  
##  versicolor:50  
##  virginica :50  
##                 
##                 
## 

En este ejemplo usamos el dataset iris como muestra, que incluye medidas de flores.

3. Preparación de los Datos

Incluye selección, limpieza, construcción de variables y formateo.

# Seleccionamos solo dos especies para un problema binario
iris_bin <- subset(iris, Species != "setosa")
iris_bin$Species <- droplevels(iris_bin$Species)

# Visualizamos la estructura
str(iris_bin)
## 'data.frame':    100 obs. of  5 variables:
##  $ Sepal.Length: num  7 6.4 6.9 5.5 6.5 5.7 6.3 4.9 6.6 5.2 ...
##  $ Sepal.Width : num  3.2 3.2 3.1 2.3 2.8 2.8 3.3 2.4 2.9 2.7 ...
##  $ Petal.Length: num  4.7 4.5 4.9 4 4.6 4.5 4.7 3.3 4.6 3.9 ...
##  $ Petal.Width : num  1.4 1.5 1.5 1.3 1.5 1.3 1.6 1 1.3 1.4 ...
##  $ Species     : Factor w/ 2 levels "versicolor","virginica": 1 1 1 1 1 1 1 1 1 1 ...

4. Modelado

En esta fase se seleccionan y aplican técnicas de modelado.

# Ajustamos un modelo de regresión logística
modelo <- glm(Species ~ Sepal.Length + Sepal.Width, data=iris_bin, family="binomial")
summary(modelo)
## 
## Call:
## glm(formula = Species ~ Sepal.Length + Sepal.Width, family = "binomial", 
##     data = iris_bin)
## 
## Coefficients:
##              Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  -13.0460     3.0974  -4.212 2.53e-05 ***
## Sepal.Length   1.9024     0.5169   3.680 0.000233 ***
## Sepal.Width    0.4047     0.8628   0.469 0.639077    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 138.63  on 99  degrees of freedom
## Residual deviance: 110.33  on 97  degrees of freedom
## AIC: 116.33
## 
## Number of Fisher Scoring iterations: 4

5. Evaluación

Se evalúa el modelo para verificar si cumple los objetivos del negocio.

# Predicciones
predicciones <- predict(modelo, type = "response")
# Convertimos a clase
clase_pred <- ifelse(predicciones > 0.5, "virginica", "versicolor")

# Matriz de confusión
table(Predicho=clase_pred, Real=iris_bin$Species)
##             Real
## Predicho     versicolor virginica
##   versicolor         38        13
##   virginica          12        37

6. Despliegue

Se implementa el modelo en producción o se entregan los resultados.

cat("El modelo está listo para integrarse en una aplicación web o sistema de recomendación.")
## El modelo está listo para integrarse en una aplicación web o sistema de recomendación.

Conclusión

Este ejemplo muestra cómo se aplica la metodología CRISP-DM en un proyecto de ciencia de datos, con un flujo estructurado y adaptable a diferentes industrias y problemas.