Categoría: data science

  • Z-Score para la Detección de Outliers

    El Z-Score (Puntuación Z o Puntuación Estándar) es uno de los métodos estadísticos más utilizados para detectar valores atípicos (outliers) en variables numéricas. Su funcionamiento se basa en medir cuántas desviaciones estándar se encuentra una observación respecto a la media del conjunto de datos.

    A diferencia del Método del Rango Intercuartílico (IQR), el Z-Score utiliza la media y la desviación estándar como referencia, por lo que resulta especialmente adecuado cuando los datos siguen una distribución aproximadamente normal. Gracias a su sencillez y sólido fundamento estadístico, es una técnica ampliamente utilizada tanto en análisis exploratorio como en procesos de preparación de datos y control de calidad.

    Dentro de la fase de Data Preparation, el Z-Score permite identificar observaciones que presentan una desviación significativa respecto al comportamiento general de los datos y facilita la toma de decisiones sobre su tratamiento antes del entrenamiento de modelos de Machine Learning.

    ¿Qué es el Z-Score?

    El Z-Score es una medida estadística que indica la distancia entre una observación y la media de una distribución, expresada en unidades de desviación estándar. Un valor de Z-Score responde a preguntas como:

    • ¿Qué tan lejos está un dato de la media?
    • ¿Es una observación habitual?
    • ¿Podría tratarse de un valor atípico?

    Cuando el valor absoluto del Z-Score supera un determinado umbral, la observación puede considerarse un posible outlier.

    Objetivos del Z-Score

    El método persigue varios objetivos.

    • Detectar valores atípicos.
    • Medir la desviación respecto a la media.
    • Estandarizar variables numéricas.
    • Facilitar comparaciones entre variables con distintas escalas.
    • Mejorar la calidad del conjunto de datos.
    • Ayudar en la preparación para el modelado.

    Preguntas que debe responder

    Antes de aplicar el Z-Score conviene responder varias preguntas.

    Sobre los datos

    • ¿La variable sigue una distribución aproximadamente normal?
    • ¿Existen valores muy alejados de la media?
    • ¿Qué porcentaje representan?

    Sobre los valores detectados

    • ¿Corresponden a errores?
    • ¿Representan casos reales?
    • ¿Deben eliminarse?

    Sobre el modelado

    • ¿El algoritmo utilizado es sensible a los valores extremos?
    • ¿Conviene aplicar otro método más robusto?
    • ¿Es necesario combinar varias técnicas?

    Resultado esperado

    Al finalizar el análisis mediante Z-Score debería disponerse de:

    • La media de la variable.
    • La desviación estándar.
    • El Z-Score de cada observación.
    • Los posibles valores atípicos detectados.
    • Un informe con las observaciones extremas.
    • Una estrategia documentada de tratamiento.

    El objetivo del método es identificar observaciones anómalas, no eliminarlas automáticamente.

    Flujo de trabajo

    Una estrategia habitual consiste en seguir el siguiente flujo.

    1. Seleccionar la variable numérica.
    2. Calcular la media.
    3. Calcular la desviación estándar.
    4. Obtener el Z-Score de cada observación.
    5. Definir un umbral.
    6. Identificar los valores que superan dicho umbral.
    7. Analizar el origen de los outliers.
    8. Decidir el tratamiento adecuado.
    9. Validar el impacto sobre el conjunto de datos.

    ¿Cómo funciona?

    El Z-Score mide la distancia entre un valor y la media utilizando la desviación estándar como unidad de medida.

    Su fórmula es:

    $$
    z = \frac{x – \mu}{\sigma}
    $$

    Donde:

    • x es el valor observado.
    • μ es la media.
    • σ es la desviación estándar.

    El resultado indica cuántas desviaciones estándar separan una observación de la media.

    Por ejemplo:

    • Z = 0 → el valor coincide con la media.
    • Z = 1 → una desviación estándar por encima.
    • Z = -2 → dos desviaciones estándar por debajo.

    Cuanto mayor sea el valor absoluto del Z-Score, más inusual será la observación.

    Interpretación del Z-Score

    El valor del Z-Score permite interpretar fácilmente la posición de una observación.

    Z-ScoreInterpretación
    0Coincide con la media
    ±1Valor habitual
    ±2Poco frecuente
    ±3 o superiorPosible outlier

    En Ciencia de Datos suele utilizarse el criterio de |Z| > 3 como umbral para detectar valores atípicos. En algunos contextos más restrictivos también puede utilizarse: |Z| > 2.5

    Ejemplo práctico

    Consideremos la siguiente variable.

    Edad
    21
    23
    24
    25
    26
    27
    28
    105

    La mayoría de observaciones se concentra alrededor de la media. La edad de 105 años obtiene un Z-Score muy elevado y es detectada como posible outlier. Antes de eliminarla, deberá comprobarse si corresponde realmente a un error.

    Elección del umbral

    El umbral depende del nivel de sensibilidad deseado.

    UmbralInterpretación
    |Z| > 2Detección muy sensible
    |Z| > 2.5Uso intermedio
    |Z| > 3Criterio más utilizado
    |Z| > 3.5Solo anomalías muy extremas

    En la mayoría de proyectos de Machine Learning se utiliza 3.

    Z-Score vs Método IQR

    Ambos métodos son muy populares para detectar valores atípicos.

    Z-ScoreMétodo IQR
    Basado en media y desviación estándarBasado en cuartiles
    Adecuado para distribuciones normalesAdecuado para distribuciones asimétricas
    Sensible a los propios outliersRobusto frente a valores extremos
    Fácil interpretación estadísticaMuy resistente a distribuciones sesgadas
    Puede verse afectado por valores extremosPoco afectado por los propios outliers

    Cuando los datos presentan fuerte asimetría suele preferirse el método IQR.

    ¿Cuándo utilizar el Z-Score?

    Resulta especialmente recomendable cuando:

    • Las variables siguen una distribución aproximadamente normal.
    • Se trabaja con datos numéricos.
    • Se necesita comparar diferentes variables.
    • Se realiza análisis exploratorio.
    • Se preparan datos para algoritmos sensibles a outliers.
    • Se requiere una medida estadística fácilmente interpretable.

    Ventajas y desventajas

    VentajasDesventajas
    Muy fácil de calcularSensible a los propios outliers
    Fácil interpretaciónRequiere una distribución aproximadamente normal
    Muy utilizado en estadísticaNo funciona bien con distribuciones muy sesgadas
    Permite comparar escalas diferentesSolo analiza una variable cada vez
    Amplio soporte en PythonNo detecta anomalías multivariantes

    Limitaciones

    Aunque resulta muy útil, presenta varias limitaciones.

    • Depende de la media y la desviación estándar.
    • Los propios outliers pueden modificar la media.
    • No funciona adecuadamente con distribuciones muy asimétricas.
    • Solo detecta anomalías univariantes.
    • No considera relaciones entre variables.
    • No sustituye a métodos multivariantes como Isolation Forest o LOF.

    En estos casos suele recurrirse al Modified Z-Score, que utiliza la mediana y la desviación absoluta mediana (MAD), siendo mucho más robusto frente a valores extremos.

    Implementación en Python

    Python ofrece varias formas de calcular el Z-Score.

    Utilizando SciPy

    from scipy.stats import zscore
    
    df["zscore"] = zscore(df["salario"])

    Detectar outliers

    outliers = df[
        abs(df["zscore"]) > 3
    ]

    Contar el número de outliers

    print(len(outliers))

    Calcular manualmente el Z-Score

    media = df["salario"].mean()
    
    desviacion = df["salario"].std()
    
    df["zscore"] = (
        df["salario"] - media
    ) / desviacion
    

    Eliminar valores atípicos

    df_limpio = df[
        abs(df["zscore"]) <= 3
    ]

    Visualizar la distribución

    import matplotlib.pyplot as plt
    
    plt.hist(df["zscore"], bins=30)
    plt.xlabel("Z-Score")
    plt.ylabel("Frecuencia")
    plt.show()
    

    Estos ejemplos muestran la implementación básica del método. En proyectos reales suele combinarse con técnicas gráficas y con otros métodos de detección para obtener resultados más robustos.

    Buenas prácticas

    Para utilizar correctamente el Z-Score se recomienda:

    • Verificar previamente si la distribución es aproximadamente normal.
    • Analizar siempre el origen de los valores detectados antes de eliminarlos.
    • Utilizar el valor absoluto del Z-Score para detectar tanto valores extremos positivos como negativos.
    • Complementar el análisis con histogramas, diagramas de caja y estadísticas descriptivas.
    • Comparar los resultados con métodos más robustos, como IQR o Modified Z-Score, cuando existan distribuciones asimétricas.
    • Documentar los criterios utilizados para identificar y tratar los outliers.
    • Evaluar el impacto del tratamiento sobre el rendimiento del modelo.
    • Mantener una copia del conjunto de datos original para garantizar la trazabilidad del proceso.
  • Método del Rango Intercuartílico (IQR)

    El Método del Rango Intercuartílico (Interquartile Range, IQR) es una de las técnicas estadísticas más utilizadas para detectar valores atípicos (outliers) en variables numéricas. Su popularidad se debe a su simplicidad, facilidad de interpretación y robustez frente a valores extremos, ya que basa sus cálculos en los cuartiles en lugar de utilizar la media y la desviación estándar.

    Dentro de la fase de Data Preparation, el método IQR permite identificar observaciones que se encuentran significativamente alejadas del comportamiento habitual de los datos. Es especialmente útil durante el Análisis Exploratorio de Datos (EDA) y en los procesos iniciales de limpieza de datos, donde ayuda a detectar errores de captura, anomalías o casos excepcionales que pueden afectar al rendimiento de los modelos de Machine Learning.

    Aunque se trata de una técnica relativamente sencilla, constituye una herramienta fundamental en Ciencia de Datos y suele ser el primer método aplicado antes de recurrir a algoritmos más complejos como Isolation Forest, Local Outlier Factor (LOF) o One-Class SVM.

    ¿Qué es el Método del Rango Intercuartílico (IQR)?

    El método IQR es una técnica estadística que identifica valores atípicos utilizando la dispersión de la parte central de la distribución de los datos.

    En lugar de analizar todos los valores, únicamente considera el 50 % central de la distribución, comprendido entre el primer y el tercer cuartil.

    Los conceptos fundamentales son:

    • Primer cuartil (Q1): 25 % de los datos quedan por debajo.
    • Segundo cuartil (Q2): mediana.
    • Tercer cuartil (Q3): 75 % de los datos quedan por debajo.
    • Rango intercuartílico (IQR): diferencia entre Q3 y Q1.

    Este enfoque hace que el método sea mucho menos sensible a valores extremos que otras técnicas basadas en la media.

    Objetivos del método IQR

    • Detectar valores atípicos.
    • Analizar la dispersión de los datos.
    • Mejorar la calidad del conjunto de datos.
    • Facilitar el análisis exploratorio.
    • Identificar errores de captura.
    • Ayudar a decidir el tratamiento de los outliers.

    Preguntas que debe responder

    Antes de aplicar el método IQR conviene responder varias preguntas.

    Sobre los datos

    • ¿Existen valores extremos?
    • ¿Qué porcentaje representan?
    • ¿En qué variables aparecen?

    Sobre el análisis

    • ¿Los valores extremos corresponden a errores?
    • ¿Son observaciones reales?
    • ¿Conviene conservarlos?

    Sobre el modelado

    • ¿Los algoritmos utilizados son sensibles a los outliers?
    • ¿Es necesario tratarlos antes del entrenamiento?
    • ¿Qué impacto tendrán sobre el modelo?

    Responder a estas preguntas evita eliminar observaciones que puedan resultar valiosas.

    Resultado esperado

    Al finalizar el análisis mediante IQR debería disponerse de:

    • Valores Q1 y Q3.
    • Valor del IQR.
    • Límites inferior y superior.
    • Registros identificados como outliers.
    • Un informe de los valores extremos detectados.
    • Una estrategia de tratamiento documentada.

    El objetivo del método no es eliminar automáticamente los valores extremos, sino identificarlos para facilitar su análisis.

    Flujo de trabajo

    Una estrategia habitual consiste en seguir el siguiente flujo.

    1. Seleccionar la variable numérica.
    2. Calcular Q1.
    3. Calcular Q3.
    4. Obtener el IQR.
    5. Calcular los límites inferior y superior.
    6. Detectar los valores situados fuera de esos límites.
    7. Analizar el origen de los outliers.
    8. Decidir el tratamiento adecuado.
    9. Validar el impacto sobre el conjunto de datos.

    ¿Cómo funciona?

    El método utiliza los cuartiles para definir un rango considerado normal.

    El procedimiento consiste en:

    1. Ordenar los datos.
    2. Calcular Q1.
    3. Calcular Q3.
    4. Obtener el Rango Intercuartílico.

    La fórmula es:

    IQR = Q3 − Q1

    Posteriormente se calculan dos límites.

    Límite inferior:

    Q1 − 1.5 × IQR

    Límite superior:

    Q3 + 1.5 × IQR

    Cualquier observación situada fuera de estos límites se considera un posible outlier. Es importante destacar que el factor 1.5 es una convención ampliamente aceptada, aunque puede modificarse según el contexto del problema.

    Interpretación del IQR

    El valor del IQR proporciona información sobre la dispersión del conjunto de datos.

    • IQR pequeño indica poca variabilidad.
    • IQR grande indica una elevada dispersión.
    • Valores fuera de los límites representan posibles observaciones atípicas.

    No todos los outliers detectados deben eliminarse.

    Ejemplo conceptual

    Supongamos los siguientes salarios.

    Salario (€)
    24.000
    26.000
    28.000
    31.000
    33.000
    35.000
    38.000
    250.000

    El salario de 250.000 € aparece claramente alejado del resto. Aplicando el método IQR se identifica automáticamente como un posible valor atípico.

    Sin embargo, antes de eliminarlo conviene comprobar si corresponde realmente al salario de un director ejecutivo o a un error de captura.

    Ejemplo práctico

    Consideremos la siguiente variable.

    Edad
    20
    22
    23
    24
    25
    26
    27
    120

    Después de calcular los cuartiles:

    • Q1 = 22.5
    • Q3 = 26.5
    • IQR = 4

    Los límites serían:

    • Inferior = 16.5
    • Superior = 32.5

    La edad de 120 años queda fuera del límite superior y se identifica como un posible outlier.

    ¿Por qué utilizar 1.5 × IQR?

    El factor 1.5 fue propuesto por el estadístico John Tukey como una regla práctica para identificar observaciones inusuales sin asumir una distribución normal de los datos. En algunos casos también se utilizan otros factores.

    FactorInterpretación
    1.5 × IQROutliers moderados
    3 × IQROutliers extremos

    En proyectos de Ciencia de Datos suele utilizarse el factor 1.5.

    Método IQR vs Z-Score

    Ambos métodos son muy utilizados, aunque presentan diferencias importantes.

    Método IQRZ-Score
    Basado en cuartilesBasado en media y desviación estándar
    No requiere normalidadFunciona mejor con distribuciones normales
    Muy robusto frente a outliersSensible a valores extremos
    Adecuado para distribuciones sesgadasMenos recomendable con fuerte asimetría
    Fácil interpretaciónMayor fundamento estadístico

    La elección depende de la naturaleza de los datos.

    ¿Cuándo utilizar el método IQR?

    Resulta especialmente recomendable cuando:

    • Se trabaja con variables numéricas.
    • Existen distribuciones asimétricas.
    • Se realiza análisis exploratorio.
    • Se desconoce la distribución de los datos.
    • Se desea una técnica robusta y sencilla.
    • Se necesitan identificar rápidamente posibles anomalías.

    Es uno de los primeros métodos que suelen aplicarse durante Data Preparation.

    Ventajas y desventajas

    VentajasDesventajas
    Muy fácil de aplicarSolo funciona con variables numéricas
    Robusto frente a valores extremosAnaliza una variable cada vez
    No requiere normalidadNo detecta relaciones multivariantes
    Muy utilizado en estadísticaPuede detectar demasiados outliers en distribuciones muy sesgadas
    Excelente para EDAEl factor 1.5 puede no ser adecuado en todos los casos

    Limitaciones

    Aunque resulta muy útil, el método presenta algunas limitaciones.

    • Solo analiza variables individualmente.
    • No considera relaciones entre variables.
    • Puede generar falsos positivos.
    • No detecta anomalías contextuales.
    • No resulta adecuado para datos de alta dimensionalidad.
    • No sustituye a métodos multivariantes.

    Por ello, suele combinarse con otras técnicas cuando los datos son complejos.

    Implementación en Python

    Python permite implementar el método IQR de forma muy sencilla mediante Pandas.

    Calcular los cuartiles

    Q1 = df["salario"].quantile(0.25)
    Q3 = df["salario"].quantile(0.75)

    Calcular el IQR

    IQR = Q3 - Q1

    Calcular los límites

    limite_inferior = Q1 - 1.5 * IQR
    limite_superior = Q3 + 1.5 * IQR

    Detectar los outliers

    outliers = df[
        (df["salario"] < limite_inferior) |
        (df["salario"] > limite_superior)
    ]

    Contar el número de outliers

    print(len(outliers))

    Visualizar mediante Boxplot

    import matplotlib.pyplot as plt
    
    plt.boxplot(df["salario"])
    plt.show()
    

    Eliminar los valores atípicos

    df_limpio = df[
        (df["salario"] >= limite_inferior) &
        (df["salario"] <= limite_superior)
    ]

    Estos ejemplos representan la implementación básica del método IQR. En proyectos reales, la detección suele combinarse con una revisión manual o con reglas de negocio antes de decidir si los valores identificados deben eliminarse, transformarse o conservarse.

    Buenas prácticas

    Para utilizar correctamente el método IQR se recomienda:

    • Analizar siempre el origen de los valores detectados antes de eliminarlos.
    • Aplicar el método únicamente sobre variables numéricas.
    • Complementar el análisis con visualizaciones como histogramas y diagramas de caja.
    • No asumir que todos los outliers son errores; algunos pueden representar eventos relevantes para el negocio.
    • Combinar el IQR con otros métodos cuando existan múltiples variables o relaciones complejas.
    • Documentar los criterios utilizados para detectar y tratar los valores atípicos.
    • Validar el efecto del tratamiento sobre el rendimiento del modelo.
    • Conservar una copia del conjunto de datos original para garantizar la trazabilidad.
  • Introducción a la Detección y Tratamiento de Outliers

    La Detección y Tratamiento de Outliers (Valores Atípicos) constituye una de las tareas más importantes dentro de la fase de Data Preparation (Preparación de los Datos). Su objetivo consiste en identificar observaciones que presentan un comportamiento significativamente diferente al resto de los datos y decidir la estrategia más adecuada para gestionarlas.

    Los outliers pueden aparecer por múltiples causas: errores de captura, fallos en sensores, problemas durante la integración de datos o simplemente porque representan casos reales pero poco frecuentes. Por este motivo, no todos los valores atípicos deben eliminarse automáticamente. En muchos proyectos, precisamente esos valores contienen la información más valiosa.

    En este artículo se presenta una visión conceptual sobre la detección y tratamiento de outliers. En artículos posteriores se estudiarán de forma individual las principales técnicas de detección y tratamiento.

    ¿Qué son los outliers?

    Un outlier o valor atípico es una observación cuyo valor se aleja considerablemente del comportamiento general del conjunto de datos.

    Estos valores pueden ser:

    • Mucho mayores que el resto.
    • Mucho menores que el resto.
    • Observaciones con combinaciones inusuales de variables.
    • Casos poco frecuentes pero legítimos.

    Los outliers no siempre representan errores.

    En muchos casos corresponden a:

    • Fraudes.
    • Enfermedades poco frecuentes.
    • Clientes con un comportamiento excepcional.
    • Eventos extremos.
    • Cambios importantes en un proceso.

    Por ello, antes de tratarlos es imprescindible comprender su origen.

    Objetivos de la detección y tratamiento de outliers

    Esta actividad persigue diversos objetivos.

    Entre los principales destacan:

    • Identificar observaciones anómalas.
    • Mejorar la calidad del conjunto de datos.
    • Reducir el ruido.
    • Mejorar el rendimiento de los modelos.
    • Evitar sesgos estadísticos.
    • Detectar errores de captura.
    • Descubrir eventos excepcionales de interés.

    Preguntas que debe responder

    Antes de tratar los valores atípicos conviene responder varias preguntas.

    Sobre los datos

    • ¿Existen valores atípicos?
    • ¿Cuántos outliers hay?
    • ¿Qué porcentaje representan?
    • ¿En qué variables aparecen?

    Sobre su origen

    • ¿Son errores de medición?
    • ¿Se produjeron durante la captura de datos?
    • ¿Son casos reales del negocio?
    • ¿Representan fenómenos poco frecuentes?

    Sobre el tratamiento

    • ¿Conviene eliminarlos?
    • ¿Es mejor transformarlos?
    • ¿Deben mantenerse?
    • ¿Afectan al algoritmo utilizado?

    Responder correctamente a estas preguntas evita eliminar información importante.

    Resultado esperado

    Al finalizar esta fase debería disponerse de:

    • Un informe de los outliers detectados.
    • Una clasificación según su origen.
    • Una estrategia de tratamiento documentada.
    • Un conjunto de datos preparado para el modelado.
    • Una justificación de las decisiones tomadas.

    El objetivo no consiste en eliminar todos los valores atípicos, sino en tratarlos adecuadamente según el contexto.

    Flujo de trabajo

    Una estrategia habitual sigue el siguiente flujo.

    1. Analizar las variables.
    2. Detectar posibles outliers.
    3. Validar si representan errores o casos reales.
    4. Seleccionar el método de tratamiento.
    5. Aplicar la transformación correspondiente.
    6. Validar el impacto sobre el conjunto de datos.
    7. Documentar todas las decisiones.

    Este proceso puede repetirse varias veces durante la preparación de los datos.

    ¿Cómo funciona?

    La detección de outliers consiste en buscar observaciones cuyo comportamiento difiere significativamente del resto.

    Para ello pueden utilizarse distintos enfoques.

    • Métodos estadísticos.
    • Métodos basados en distancias.
    • Métodos basados en densidad.
    • Algoritmos de Machine Learning.
    • Inspección visual.

    Una vez detectados, se decide la estrategia más adecuada para gestionarlos.

    Tipos de outliers

    • Outliers globales: Son observaciones claramente alejadas del resto del conjunto de datos.
    • Outliers contextuales: Solo son atípicos dentro de un determinado contexto. Ejemplo: Una temperatura de 35 °C puede ser normal en verano y extraordinaria en invierno.
    • Outliers colectivos: Un grupo de observaciones forma un patrón anómalo. Ejemplo: Una serie de transacciones consecutivas con un comportamiento inusual. Este tipo es frecuente en detección de fraude y análisis de series temporales.

    ¿Por qué aparecen los outliers?

    Los valores atípicos pueden tener diferentes orígenes.

    • Errores humanos.
    • Errores de captura.
    • Fallos en sensores.
    • Problemas durante la integración de datos.
    • Cambios reales del negocio.
    • Eventos excepcionales.
    • Errores de conversión de unidades.
    • Casos legítimos poco frecuentes.

    Comprender el origen resulta mucho más importante que aplicar automáticamente una técnica de eliminación.

    Métodos de detección de outliers

    Existen numerosos métodos para detectar valores atípicos.

    MétodoTipoVariables
    Inspección visualExploratorioTodas
    BoxplotEstadísticoNuméricas
    Rango Intercuartílico (IQR)EstadísticoNuméricas
    Z-ScoreEstadísticoDistribuciones aproximadamente normales
    Modified Z-ScoreEstadísticoMás robusto frente a outliers
    Isolation ForestMachine LearningGrandes conjuntos de datos
    Local Outlier Factor (LOF)Basado en densidadDatos complejos
    DBSCANClusteringDatos espaciales
    One-Class SVMMachine LearningDetección de anomalías

    Cada uno de estos métodos se desarrollará en un artículo independiente.

    Estrategias de tratamiento

    Una vez detectados los outliers existen varias estrategias.

    EstrategiaCuándo utilizarla
    MantenerlosCasos reales del negocio
    EliminarlosErrores evidentes
    ImputarlosDatos erróneos recuperables
    Transformar la variableDistribuciones muy sesgadas
    WinsorizaciónLimitar valores extremos
    Escalado robustoReducir el impacto sin eliminarlos

    No existe una estrategia universal.

    Detección vs Tratamiento de Outliers

    Aunque suelen aparecer conjuntamente, representan actividades diferentes.

    Detección de OutliersTratamiento de Outliers
    Identifica valores atípicosDecide cómo gestionarlos
    Analiza el comportamientoModifica o conserva los datos
    No altera el conjunto de datosProduce un nuevo conjunto preparado
    Es una fase analíticaEs una fase de transformación

    Primero se detectan; después se decide el tratamiento.

    ¿Cuándo utilizar la detección de outliers?

    Es recomendable aplicar esta tarea cuando:

    • Se trabaja con variables numéricas.
    • Existen distribuciones muy dispersas.
    • Se sospecha de errores de captura.
    • Se entrenan modelos sensibles a valores extremos.
    • Se realiza análisis exploratorio.
    • Se integran múltiples fuentes de datos.

    En prácticamente cualquier proyecto de Ciencia de Datos resulta conveniente analizar la presencia de outliers.

    Ventajas y desventajas

    VentajasDesventajas
    Mejora la calidad del datasetPuede eliminar información valiosa
    Reduce el ruidoRequiere conocimiento del negocio
    Facilita el entrenamientoAlgunos métodos son sensibles a la distribución
    Mejora determinadas métricasNo existe un método universal
    Permite detectar anomalías realesPuede requerir validación manual

    Limitaciones

    La detección y tratamiento de outliers presenta algunas limitaciones.

    • No todos los métodos funcionan con cualquier distribución.
    • Algunos algoritmos detectan demasiados falsos positivos.
    • Un mismo valor puede ser normal en un contexto y anómalo en otro.
    • La eliminación automática puede reducir la capacidad predictiva.
    • El tratamiento depende tanto del algoritmo como del problema de negocio.

    Por ello, siempre debe combinarse el análisis estadístico con el conocimiento del dominio.

    Relación con la fase de Data Preparation

    La detección y tratamiento de outliers suele realizarse después de la limpieza básica del conjunto de datos.

    Un flujo habitual sería:

    1. Corrección de tipos de datos.
    2. Eliminación de duplicados.
    3. Tratamiento de valores nulos.
    4. Detección de outliers.
    5. Tratamiento de outliers.
    6. Transformación de variables.
    7. Ingeniería de Características.
    8. Escalado y normalización.
    9. Selección de variables.

    Este orden evita que los valores extremos distorsionen transformaciones posteriores.

    Relación con los algoritmos de Machine Learning

    No todos los algoritmos se ven afectados por los outliers de la misma forma.

    Muy sensiblesPoco sensibles
    Regresión LinealRandom Forest
    K-Nearest Neighbors (KNN)XGBoost
    K-MeansLightGBM
    PCACatBoost
    Support Vector Machine (SVM)Árboles de Decisión

    Esta diferencia influye en la necesidad de tratar los valores atípicos antes del entrenamiento. En algunos casos, detectar el outlier constituye el propio objetivo del proyecto.

    Buenas prácticas

    Para detectar y tratar correctamente los outliers se recomienda:

    • Analizar siempre el origen de los valores atípicos antes de modificarlos.
    • Combinar métodos estadísticos con conocimiento del dominio.
    • Comparar diferentes técnicas de detección en lugar de depender de una sola.
    • Documentar los criterios utilizados para identificar y tratar los outliers.
    • Validar el impacto del tratamiento sobre el rendimiento del modelo.
    • Evitar eliminar automáticamente observaciones sin justificar la decisión.
    • Mantener una copia del conjunto de datos original para facilitar la trazabilidad.
    • Seleccionar la estrategia de tratamiento en función del algoritmo de Machine Learning que se utilizará posteriormente.

  • Deduplicación de Datos

    La Deduplicación de Datos (Data Deduplication) es una técnica de preparación de datos cuyo objetivo consiste en identificar y eliminar registros duplicados o redundantes dentro de un conjunto de datos. Su finalidad es garantizar que cada entidad, registro o evento esté representado una única vez cuando así lo requiera el problema de negocio.

    Aunque frecuentemente se utiliza como sinónimo de Tratamiento de Datos Duplicados, ambos conceptos no son exactamente iguales. La deduplicación constituye una estrategia específica dentro del tratamiento de datos duplicados y se centra exclusivamente en la identificación y eliminación de registros repetidos.

    En proyectos de Ciencia de Datos y Machine Learning, una deduplicación adecuada mejora la calidad del conjunto de datos, reduce el sesgo, disminuye el coste computacional y evita que determinados registros tengan un peso desproporcionado durante el entrenamiento de los modelos.

    ¿Qué es la deduplicación de datos?

    La deduplicación de datos es el proceso mediante el cual se detectan y eliminan registros que representan la misma información dentro de un conjunto de datos.

    Dependiendo del contexto, la deduplicación puede realizarse sobre:

    • Filas completas.
    • Claves primarias.
    • Identificadores únicos.
    • Combinaciones de columnas.
    • Registros muy similares mediante técnicas de comparación difusa (Fuzzy Matching).

    El objetivo es conservar una única representación válida de cada entidad.

    Objetivos de la deduplicación de datos

    La deduplicación persigue diversos objetivos. Entre los principales destacan:

    • Eliminar información redundante.
    • Mejorar la calidad del conjunto de datos.
    • Reducir el tamaño del dataset.
    • Evitar sesgos durante el entrenamiento.
    • Mejorar la eficiencia computacional.
    • Facilitar el análisis de los datos.
    • Obtener una representación única de cada entidad.

    Preguntas que debe responder

    Antes de aplicar un proceso de deduplicación conviene responder varias preguntas.

    Sobre los duplicados

    • ¿Existen registros duplicados?
    • ¿Qué porcentaje representan?
    • ¿Son duplicados exactos o aproximados?
    • ¿Se repiten filas completas o solo determinadas columnas?

    Sobre el negocio

    • ¿Los registros representan la misma entidad?
    • ¿Corresponden a eventos diferentes?
    • ¿La duplicidad es un error o una característica del negocio?

    Sobre la estrategia

    • ¿Qué criterio se utilizará para conservar un registro?
    • ¿Debe mantenerse el primero, el último o el más completo?
    • ¿Será necesario fusionar información?
    • ¿Se requiere una revisión manual?

    Responder a estas preguntas evita eliminar información válida.

    Resultado esperado

    Al finalizar la deduplicación debería disponerse de:

    • Un conjunto de datos sin registros redundantes.
    • Una única representación para cada entidad cuando corresponda.
    • Menor volumen de datos.
    • Mayor consistencia de la información.
    • Un proceso documentado y reproducible.
    • Un conjunto de datos preparado para las siguientes tareas de Data Preparation.

    El resultado esperado es un conjunto de datos más limpio y representativo.

    Flujo de trabajo

    Una estrategia habitual de deduplicación sigue el siguiente flujo.

    1. Analizar el conjunto de datos.
    2. Detectar registros duplicados.
    3. Clasificar los tipos de duplicados.
    4. Definir las reglas de deduplicación.
    5. Seleccionar el registro que debe conservarse.
    6. Eliminar o fusionar los registros redundantes.
    7. Validar la calidad del resultado.
    8. Documentar el proceso.

    Este flujo puede repetirse cuando se incorporan nuevas fuentes de datos.

    ¿Cómo funciona?

    La deduplicación compara registros utilizando uno o varios criterios.

    Los más habituales son:

    • Igualdad exacta entre filas.
    • Igualdad en una clave única.
    • Igualdad en un conjunto de atributos.
    • Similitud entre textos.
    • Distancias entre registros.

    Una vez identificados los duplicados, se aplica una regla para decidir cuál conservar.

    Las reglas más habituales son:

    • Conservar el primer registro.
    • Conservar el último registro.
    • Conservar el registro más reciente.
    • Conservar el registro más completo.
    • Fusionar la información.

    Tipos de duplicados

    Duplicados exactos.

    Todos los valores son idénticos. Normalmente basta con eliminar uno de ellos. Ejemplo:

    ClienteCiudadEdad
    AnaMadrid34
    AnaMadrid34

    Duplicados basados en una clave

    Comparten un identificador único. Se conserva un único registro. Ejemplo:

    IDNombre
    1001Ana López
    1001Ana López

    Duplicados parciales

    Solo coinciden algunos atributos. Estos casos suelen requerir algoritmos de similitud. Ejemplo:

    NombreCiudad
    Ana LópezMadrid
    Ana L.Madrid

    Duplicados aproximados

    Los registros contienen pequeñas diferencias. La detección requiere técnicas de comparación difusa. Ejemplo:

    Nombre
    José García
    Jose Garcia
    J. García

    Ejemplo conceptual

    Supongamos una empresa que integra clientes procedentes de:

    • CRM.
    • Tienda online.
    • Aplicación móvil.

    Un mismo cliente aparece tres veces.

    La deduplicación identifica que todos los registros corresponden a la misma persona y conserva únicamente uno.

    Ejemplo práctico

    Consideremos el siguiente conjunto de datos.

    ClienteProductoFecha
    JuanPortátil10/01
    JuanPortátil10/01
    JuanRatón15/01

    Los dos primeros registros son duplicados exactos. El tercero representa una compra diferente y debe mantenerse.

    Estrategias de deduplicación

    Dependiendo del problema pueden aplicarse diferentes estrategias.

    EstrategiaCuándo utilizarla
    Eliminar duplicados exactosRegistros completamente iguales
    Deduplicación por claveExiste un identificador único
    Deduplicación por varias columnasNo existe una clave única
    Fusión de registrosInformación complementaria
    Comparación difusaExisten errores tipográficos o variaciones de escritura

    La estrategia adecuada depende del origen de los datos y de las reglas del negocio.

    Deduplicación vs Tratamiento de Datos Duplicados

    Aunque ambos conceptos están relacionados, presentan diferencias.

    DeduplicaciónTratamiento de Datos Duplicados
    Elimina registros duplicadosAnaliza y gestiona cualquier tipo de duplicidad
    Es una técnica específicaEs un proceso más amplio
    Busca reducir redundanciaPuede eliminar, fusionar o conservar registros
    Tiene un enfoque técnicoCombina criterios técnicos y de negocio

    La deduplicación constituye una de las principales herramientas dentro del tratamiento de datos duplicados.

    ¿Cuándo utilizar la deduplicación?

    Es recomendable aplicar esta técnica cuando:

    • Se integran múltiples fuentes de datos.
    • Existen errores de importación.
    • Se detectan registros repetidos.
    • Se construyen Data Warehouses.
    • Se desarrollan sistemas CRM.
    • Se preparan datos para Machine Learning.

    No debe aplicarse cuando los registros repetidos representan eventos distintos del negocio.

    Ventajas y desventajas

    VentajasDesventajas
    Reduce redundanciaPuede eliminar información válida
    Mejora la calidad del datasetRequiere conocer el dominio del negocio
    Reduce el coste computacionalLos duplicados aproximados son difíciles de detectar
    Favorece modelos más robustosPuede requerir algoritmos complejos
    Facilita el análisis estadísticoAlgunos casos necesitan revisión manual

    Limitaciones

    La deduplicación presenta algunas limitaciones.

    • No siempre existe una clave única.
    • Los duplicados parciales son difíciles de identificar.
    • Los errores tipográficos pueden impedir detectar coincidencias.
    • Las reglas de deduplicación dependen del negocio.
    • La eliminación automática puede provocar pérdida de información.

    Por ello, es recomendable validar siempre el resultado obtenido.

    Técnicas de deduplicación

    Existen diferentes técnicas para identificar registros duplicados.

    TécnicaDescripción
    Comparación exactaTodos los valores coinciden
    Claves únicasComparación mediante identificadores
    Comparación por varias columnasSe utilizan atributos relevantes
    Fuzzy MatchingCompara registros similares
    Record LinkageIdentifica entidades repetidas entre distintas fuentes

    Las técnicas más avanzadas resultan especialmente útiles cuando los datos proceden de sistemas diferentes.

    Relación con la fase de Data Preparation

    La deduplicación suele realizarse en las primeras etapas de la preparación de los datos.

    El flujo habitual es:

    1. Conversión de tipos de datos.
    2. Detección de registros duplicados.
    3. Deduplicación.
    4. Tratamiento de valores nulos.
    5. Tratamiento de valores atípicos.
    6. Transformación de variables.
    7. Ingeniería de Características.
    8. Escalado y codificación.
    9. División del conjunto de datos.

    Realizar la deduplicación al principio evita aplicar transformaciones sobre registros que posteriormente serán eliminados.

    Implementación en Python

    Pandas proporciona funciones muy útiles para realizar procesos de deduplicación.

    Detectar registros duplicados

    duplicados = df.duplicated()
    print(duplicados)

    Contar registros duplicados

    total = df.duplicated().sum()
    print(total)

    Mostrar únicamente los duplicados

    duplicados = df[df.duplicated()]
    print(duplicados)

    Detectar duplicados según determinadas columnas

    duplicados = df[
        df.duplicated(
            subset=["cliente_id"]
        )
    ]

    Eliminar duplicados exactos

    df = df.drop_duplicates()

    Conservar únicamente el primer registro

    df = df.drop_duplicates(
        subset="cliente_id",
        keep="first"
    )

    Conservar únicamente el último registro

    df = df.drop_duplicates(
        subset="cliente_id",
        keep="last"
    )

    Eliminar todos los registros repetidos

    df = df.drop_duplicates(
        subset="cliente_id",
        keep=False
    )

    Deduplicación mediante comparación difusa

    from rapidfuzz import fuzz
    
    similitud = fuzz.ratio(
        "Jose Garcia",
        "José García"
    )
    
    print(similitud)
    

    En proyectos de integración de datos también es frecuente utilizar bibliotecas como recordlinkage, RapidFuzz o Dedupe, que permiten detectar duplicados aproximados cuando existen diferencias tipográficas, abreviaturas o errores de escritura.

    Buenas prácticas

    Para aplicar correctamente la deduplicación se recomienda:

    • Analizar siempre el origen de los registros duplicados.
    • Definir reglas de negocio antes de eliminar información.
    • Diferenciar entre duplicados técnicos y eventos legítimos.
    • Utilizar claves únicas siempre que sea posible.
    • Validar manualmente los casos ambiguos.
    • Documentar los criterios utilizados para conservar o eliminar registros.
    • Conservar una copia del conjunto de datos original.
    • Automatizar el proceso mediante pipelines reproducibles cuando forme parte de un flujo de producción.
  • Tratamiento de Datos Duplicados

    El Tratamiento de Datos Duplicados es una de las tareas fundamentales dentro de la fase de Data Preparation (Preparación de los Datos). Su objetivo consiste en identificar, analizar y gestionar los registros duplicados presentes en un conjunto de datos para garantizar que la información utilizada durante el entrenamiento de un modelo sea consistente, representativa y libre de redundancias innecesarias.

    Los registros duplicados pueden introducir sesgos, alterar las distribuciones estadísticas, incrementar el coste computacional y afectar negativamente al rendimiento de numerosos algoritmos de Machine Learning. Sin embargo, no todos los duplicados deben eliminarse automáticamente. En muchos proyectos, la duplicidad puede representar un hecho real del negocio y conservarla resulta imprescindible.

    Por ello, el tratamiento de datos duplicados no consiste únicamente en eliminar filas repetidas, sino en comprender por qué existen, determinar si son válidas y decidir la estrategia más adecuada para gestionarlas.

    ¿Qué es el tratamiento de datos duplicados?

    El tratamiento de datos duplicados es el proceso mediante el cual se identifican y gestionan registros que representan la misma información o la misma entidad dentro de un conjunto de datos.

    Dependiendo del contexto, las acciones pueden incluir:

    • Detectar registros duplicados.
    • Analizar su origen.
    • Eliminar duplicados exactos.
    • Consolidar registros similares.
    • Mantener duplicados cuando representen eventos distintos.
    • Documentar las decisiones tomadas.

    El objetivo es obtener un conjunto de datos coherente sin eliminar información relevante.

    Objetivos del tratamiento de datos duplicados

    Esta actividad persigue varios objetivos.

    Entre los principales destacan:

    • Mejorar la calidad del conjunto de datos.
    • Eliminar información redundante.
    • Reducir sesgos durante el entrenamiento.
    • Disminuir el tamaño del conjunto de datos.
    • Evitar cálculos repetidos.
    • Mejorar la eficiencia computacional.
    • Garantizar la integridad de la información.

    Preguntas que debe responder

    Antes de eliminar registros duplicados conviene responder varias preguntas.

    Sobre la existencia de duplicados

    • ¿Existen registros duplicados?
    • ¿Qué porcentaje del conjunto representan?
    • ¿Son duplicados exactos o parciales?

    Sobre el negocio

    • ¿Representan realmente la misma entidad?
    • ¿Cada registro corresponde a una transacción distinta?
    • ¿Los duplicados son un error del sistema?

    Sobre el impacto

    • ¿Pueden afectar al entrenamiento?
    • ¿Introducen sesgos?
    • ¿Distorsionan las métricas?
    • ¿Es necesario eliminarlos o consolidarlos?

    Responder estas preguntas evita eliminar información válida.

    Resultado esperado

    Al finalizar el tratamiento de datos duplicados debería disponerse de:

    • Un conjunto de datos libre de duplicados innecesarios.
    • Un informe con el número de registros duplicados detectados.
    • Una estrategia documentada de tratamiento.
    • Un conjunto de datos consistente.
    • Un menor volumen de información redundante.
    • Una mayor calidad para el modelado.

    El resultado esperado no es necesariamente eliminar todos los duplicados, sino conservar únicamente aquellos que aporten información válida.

    Flujo de trabajo

    Una forma habitual de abordar esta tarea consiste en seguir el siguiente flujo.

    1. Analizar el conjunto de datos.
    2. Detectar registros duplicados.
    3. Clasificar el tipo de duplicado.
    4. Comprender el origen de la duplicidad.
    5. Evaluar su impacto sobre el negocio.
    6. Decidir la estrategia de tratamiento.
    7. Aplicar la transformación correspondiente.
    8. Validar el resultado obtenido.
    9. Documentar el proceso.

    Este flujo debe adaptarse siempre al contexto del proyecto.

    ¿Cómo funciona?

    El tratamiento comienza comparando registros del conjunto de datos.

    Dependiendo del criterio utilizado pueden detectarse:

    • Filas completamente idénticas.
    • Registros con la misma clave primaria.
    • Registros con atributos similares.
    • Duplicados aproximados.

    Una vez identificados, se decide si:

    • Se eliminan.
    • Se fusionan.
    • Se conservan.
    • Se corrigen.

    La decisión depende tanto de criterios técnicos como del conocimiento del dominio.

    Tipos de datos duplicados

    Duplicados exactos

    Todos los campos contienen exactamente la misma información. Este tipo suele eliminarse. Ejemplo:

    IDNombreCiudad
    101AnaMadrid
    101AnaMadrid

    Duplicados parciales

    Solo algunos atributos coinciden. Pueden requerir consolidación o revisión manual. Ejemplo:

    IDNombreCiudad
    101Ana LópezMadrid
    101Ana L.Madrid

    Duplicados de negocio

    Representan diferentes eventos asociados a la misma entidad. Aunque el cliente aparece repetido, ambos registros son correctos y no deben eliminarse. Ejemplo:

    ClienteFechaCompra
    101Enero120 €
    101Febrero95 €

    Duplicados generados por integración

    Aparecen al combinar múltiples fuentes de datos. Un mismo cliente puede aparecer varias veces con información ligeramente diferente. Ejemplo:

    • CRM.
    • ERP.
    • Aplicación móvil.

    Estrategias de tratamiento

    Dependiendo del problema, pueden aplicarse diferentes estrategias.

    EstrategiaCuándo utilizarla
    Eliminar duplicados exactosErrores de importación
    Fusionar registrosInformación complementaria
    Mantener registrosEventos diferentes
    Revisar manualmenteCasos ambiguos
    Utilizar reglas de negocioSistemas complejos

    No existe una estrategia universal.

    Tratamiento de datos duplicados vs Deduplicación

    Aunque ambos conceptos suelen utilizarse como sinónimos, existe una diferencia conceptual.

    Tratamiento de Datos DuplicadosDeduplicación
    Analiza y gestiona duplicadosElimina duplicados
    Incluye varias estrategiasSe centra principalmente en la eliminación
    Considera el contexto del negocioPrioriza reducir redundancia
    Puede conservar registros repetidosNormalmente elimina registros repetidos

    La deduplicación constituye una de las posibles estrategias dentro del tratamiento de datos duplicados.

    Beneficios

    Gestionar correctamente los datos duplicados ofrece numerosas ventajas.

    • Mejora la calidad del conjunto de datos.
    • Reduce sesgos.
    • Disminuye el tamaño del dataset.
    • Reduce tiempos de entrenamiento.
    • Facilita el análisis exploratorio.
    • Mejora la fiabilidad de las métricas.
    • Incrementa la confianza en los modelos.

    ¿Cuándo utilizar el tratamiento de datos duplicados?

    Esta tarea resulta recomendable cuando:

    • Se integran múltiples fuentes de información.
    • Existen procesos manuales de captura.
    • Se importan datos desde diferentes sistemas.
    • Se detectan inconsistencias.
    • Se trabaja con grandes volúmenes de datos.
    • Se observan registros repetidos durante el análisis exploratorio.

    En la práctica, forma parte de casi cualquier proyecto de Ciencia de Datos.

    Ventajas y desventajas

    VentajasDesventajas
    Mejora la calidad del datasetPuede eliminar información válida si se aplica incorrectamente
    Reduce redundanciaRequiere conocer el dominio del negocio
    Reduce el coste computacionalAlgunos duplicados son difíciles de identificar
    Facilita el modeladoLa consolidación puede ser compleja
    Disminuye sesgosPuede requerir revisión manual

    Limitaciones

    Aunque resulta fundamental, presenta algunas limitaciones.

    • No siempre es sencillo distinguir un duplicado real de un evento legítimo.
    • Los duplicados parciales requieren criterios específicos.
    • La integración de múltiples sistemas puede generar ambigüedades.
    • La eliminación automática puede provocar pérdida de información.
    • Algunas técnicas requieren conocimiento experto del dominio.

    Por ello, las decisiones deben apoyarse tanto en criterios técnicos como en reglas de negocio.

    Relación con la fase de Data Preparation

    El tratamiento de datos duplicados constituye una de las primeras tareas dentro de Data Preparation.

    Un flujo habitual sería:

    1. Corregir tipos de datos.
    2. Detectar registros duplicados.
    3. Tratar duplicados.
    4. Gestionar valores nulos.
    5. Detectar valores atípicos.
    6. Transformar variables.
    7. Ingeniería de Características.
    8. Escalado y codificación.
    9. División del conjunto de datos.

    Eliminar duplicados antes del resto de transformaciones evita realizar operaciones innecesarias sobre registros redundantes.

    Implementación en Python

    Pandas proporciona herramientas sencillas para detectar y gestionar registros duplicados.

    Detectar registros duplicados

    duplicados = df.duplicated()
    print(duplicados)

    Contar el número de duplicados

    total_duplicados = df.duplicated().sum()
    print(total_duplicados)

    Mostrar únicamente los registros duplicados

    duplicados = df[df.duplicated()]
    print(duplicados)

    Detectar duplicados según determinadas columnas

    duplicados = df[df.duplicated(
        subset=["cliente_id"]
    )]

    Eliminar duplicados exactos

    df = df.drop_duplicates()

    Conservar el último registro

    df = df.drop_duplicates(
        subset="cliente_id",
        keep="last"
    )

    Eliminar todos los registros repetidos

    df = df.drop_duplicates(
        subset="cliente_id",
        keep=False
    )

    Comprobar el resultado

    print(df.shape)

    En proyectos complejos también pueden emplearse bibliotecas como recordlinkage, RapidFuzz o Dedupe para detectar duplicados aproximados mediante técnicas de comparación difusa (fuzzy matching).

    Buenas prácticas

    Para tratar correctamente los datos duplicados se recomienda:

    • Analizar siempre el origen de la duplicidad antes de eliminar registros.
    • Diferenciar entre duplicados técnicos y duplicados de negocio.
    • Definir criterios claros para identificar registros repetidos.
    • Revisar manualmente los casos ambiguos cuando sea necesario.
    • Documentar todas las decisiones tomadas durante el proceso.
    • Validar el impacto de la eliminación sobre las métricas y el modelo.
    • Conservar una copia del conjunto de datos original antes de aplicar modificaciones.
    • Automatizar el proceso mediante pipelines reproducibles cuando forme parte de un flujo de producción.

  • Feedback (Retroalimentación)

    La fase de Feedback (Retroalimentación) representa el proceso mediante el cual se recopila información sobre el comportamiento del modelo una vez desplegado en producción con el objetivo de mejorar continuamente su rendimiento, adaptarlo a nuevos datos y mantener su utilidad a lo largo del tiempo.

    Tradicionalmente, algunas metodologías de Ciencia de Datos finalizan en la fase de Deployment. Sin embargo, las metodologías modernas y las prácticas de MLOps consideran que el ciclo de vida de un modelo no termina cuando se despliega, sino que continúa mediante un proceso continuo de monitorización, evaluación y mejora.

    Durante esta fase se analizan las predicciones realizadas por el modelo, el comportamiento de los usuarios, los cambios en los datos y las métricas de rendimiento para decidir si es necesario ajustar, reentrenar o sustituir el modelo existente.

    La retroalimentación convierte la Ciencia de Datos en un proceso iterativo y de mejora continua, permitiendo que los modelos evolucionen junto con el negocio y los datos.

    ¿Qué es Feedback?

    Feedback es la fase de la metodología de Ciencia de Datos en la que se recopila, analiza y utiliza información procedente del funcionamiento del modelo en producción para mejorar su rendimiento futuro.

    La retroalimentación puede proceder de diferentes fuentes.

    • Resultados reales obtenidos.
    • Predicciones realizadas por el modelo.
    • Comentarios de los usuarios.
    • Métricas de rendimiento.
    • Monitorización de la infraestructura.
    • Cambios en los datos.
    • Cambios en el negocio.

    Toda esta información permite iniciar un nuevo ciclo de mejora del modelo.

    Objetivos del Feedback

    La retroalimentación persigue diversos objetivos.

    Entre los principales destacan:

    • Detectar degradaciones del modelo.
    • Identificar cambios en los datos.
    • Mejorar continuamente el rendimiento.
    • Validar el impacto del modelo sobre el negocio.
    • Detectar nuevas oportunidades de mejora.
    • Decidir cuándo reentrenar el modelo.
    • Mantener el modelo actualizado.

    Preguntas que debe responder

    Una correcta fase de Feedback debería responder preguntas como las siguientes.

    Sobre el rendimiento

    • ¿El modelo mantiene el rendimiento esperado?
    • ¿Ha disminuido la precisión?
    • ¿Se están produciendo más errores que durante la evaluación?
    • ¿Existen patrones de fallo repetitivos?

    Sobre los datos

    • ¿Han cambiado las distribuciones de las variables?
    • ¿Han aparecido nuevas categorías?
    • ¿Existe Data Drift?
    • ¿Los datos actuales representan el mismo problema?

    Sobre el modelo

    • ¿Existe Model Drift?
    • ¿Debe reentrenarse el modelo?
    • ¿Es necesario modificar las variables utilizadas?
    • ¿Conviene entrenar un nuevo algoritmo?

    Sobre el negocio

    • ¿El modelo sigue aportando valor?
    • ¿Han cambiado los objetivos del negocio?
    • ¿Los usuarios confían en las predicciones?
    • ¿Existen nuevas necesidades analíticas?

    Responder a estas preguntas permite mantener el modelo alineado con la realidad del negocio.

    Resultado esperado

    Al finalizar la fase de Feedback debería disponerse de:

    • Un informe de rendimiento del modelo.
    • Indicadores de calidad en producción.
    • Identificación de problemas detectados.
    • Información sobre Data Drift y Model Drift.
    • Recomendaciones de mejora.
    • Decisión sobre reentrenamiento.
    • Nuevos requisitos para futuras versiones del modelo.
    • Retroalimentación para iniciar un nuevo ciclo metodológico.

    El resultado esperado no es únicamente una evaluación del modelo, sino un conjunto de acciones que permitan mejorar continuamente el sistema.

    Flujo de trabajo

    Una forma habitual de abordar la fase de Feedback consiste en seguir el siguiente flujo.

    1. Monitorizar el modelo en producción.
    2. Recopilar nuevas predicciones.
    3. Obtener los resultados reales cuando estén disponibles.
    4. Comparar predicciones y resultados.
    5. Analizar métricas de rendimiento.
    6. Detectar cambios en los datos.
    7. Detectar degradaciones del modelo.
    8. Recoger comentarios de usuarios o expertos.
    9. Decidir si el modelo debe mantenerse o reentrenarse.
    10. Iniciar un nuevo ciclo de mejora si es necesario.

    Este proceso convierte el desarrollo de modelos en una actividad continua.

    ¿Cómo funciona?

    El funcionamiento general puede resumirse del siguiente modo.

    1. El modelo realiza predicciones en producción.
    2. Se almacenan las predicciones realizadas.
    3. Con el tiempo se conocen los resultados reales.
    4. Se comparan ambos resultados.
    5. Se calculan nuevamente las métricas.
    6. Se analiza si el rendimiento ha cambiado.
    7. Se toman decisiones sobre el mantenimiento del modelo.

    Este ciclo puede repetirse diariamente, semanalmente o mensualmente según el proyecto.

    Principales fuentes de Feedback

    La retroalimentación puede obtenerse desde diferentes fuentes.

    • Datos reales obtenidos posteriormente.
    • Usuarios finales.
    • Expertos del dominio.
    • Sistemas de monitorización.
    • Registros de producción.
    • KPIs del negocio.
    • Métricas del modelo.
    • Incidencias detectadas.

    Cuantas más fuentes se utilicen, mejor será la comprensión del comportamiento del modelo.

    Tipos de Feedback

    Existen diferentes formas de obtener retroalimentación.

    TipoDescripción
    Feedback automáticoComparación automática entre predicción y resultado real
    Feedback humanoOpiniones o correcciones realizadas por usuarios o expertos
    Feedback operacionalMétricas de rendimiento del sistema
    Feedback del negocioIndicadores empresariales asociados al modelo

    Todos ellos pueden combinarse para mejorar el modelo.

    Ejemplo conceptual

    Supongamos un modelo que predice el abandono de clientes. Durante los primeros meses obtiene excelentes resultados.

    Sin embargo, seis meses después:

    • Cambian las promociones de la empresa.
    • Cambian los hábitos de los clientes.
    • Aparecen nuevos productos.

    Como consecuencia:

    • El modelo comienza a fallar con mayor frecuencia.

    La fase de Feedback permite detectar esta situación y desencadenar un nuevo entrenamiento.

    Ejemplo práctico

    Imaginemos un sistema de detección de fraude. Durante el primer año:

    IndicadorValor inicialValor actual
    Accuracy98 %95 %
    Recall94 %81 %
    Falsos negativos120480
    Casos nuevos de fraudeBajoAlto

    La degradación observada indica que el modelo necesita actualizarse.

    Feedback vs Evaluation

    Aunque ambas fases evalúan el modelo, tienen objetivos diferentes.

    EvaluationFeedback
    Se realiza antes del despliegueSe realiza después del despliegue
    Evalúa modelos candidatosEvalúa el modelo en producción
    Utiliza datos de pruebaUtiliza datos reales
    Decide si desplegarDecide si mantener o actualizar
    Forma parte del desarrolloForma parte del mantenimiento

    Evaluation valida el modelo antes de producción; Feedback garantiza que siga siendo útil una vez desplegado.

    Beneficios

    Una correcta estrategia de Feedback aporta numerosas ventajas.

    • Mantiene actualizado el modelo.
    • Detecta degradaciones rápidamente.
    • Mejora continuamente el rendimiento.
    • Incrementa la confianza de los usuarios.
    • Facilita el mantenimiento predictivo del modelo.
    • Reduce el riesgo de decisiones incorrectas.
    • Favorece la mejora continua del proyecto.

    ¿Cuándo utilizar Feedback?

    La retroalimentación comienza inmediatamente después del despliegue.

    Debe mantenerse durante todo el ciclo de vida del modelo.

    Resulta especialmente importante cuando:

    • Los datos cambian con frecuencia.
    • El entorno de negocio evoluciona.
    • Se trabaja con datos en tiempo real.
    • El impacto económico del modelo es elevado.
    • Se requiere alta precisión.

    En la práctica, todo modelo en producción debería contar con un proceso de Feedback.

    Ventajas y desventajas

    VentajasDesventajas
    Permite mejorar continuamente el modeloRequiere monitorización permanente
    Detecta problemas antes de que afecten al negocioIncrementa la complejidad operativa
    Facilita el reentrenamiento oportunoPuede necesitar infraestructura adicional
    Incrementa la vida útil del modeloRequiere almacenar predicciones y resultados reales
    Favorece decisiones basadas en datosAlgunos resultados reales tardan en conocerse

    Limitaciones

    Aunque resulta muy valiosa, la fase de Feedback presenta algunas limitaciones.

    • No siempre es posible conocer el resultado real inmediatamente.
    • Algunos problemas de negocio cambian demasiado rápido.
    • Puede ser difícil obtener retroalimentación de los usuarios.
    • No todos los modelos requieren el mismo nivel de monitorización.
    • El proceso de mejora continua implica costes adicionales.

    Por ello, el nivel de retroalimentación debe adaptarse al valor y criticidad del modelo.

    Relación con Data Drift y Model Drift

    La fase de Feedback está estrechamente relacionada con dos conceptos fundamentales.

    Data Drift

    Se produce cuando cambian las características de los datos de entrada.

    Por ejemplo:

    • Cambia la distribución de edades de los clientes.
    • Aparecen nuevas categorías.
    • Se modifican los hábitos de compra.

    Model Drift

    Se produce cuando disminuye la capacidad predictiva del modelo.

    Las causas pueden incluir:

    • Cambios en el negocio.
    • Evolución del comportamiento de los usuarios.
    • Aparición de nuevos patrones.

    La retroalimentación permite detectar ambos fenómenos.

    Relación con MLOps

    El Feedback constituye uno de los pilares fundamentales de MLOps.

    Dentro de un flujo MLOps suele automatizarse:

    • Monitorización del modelo.
    • Recopilación de métricas.
    • Detección de Drift.
    • Alertas automáticas.
    • Reentrenamiento.
    • Despliegue de nuevas versiones.

    Gracias a MLOps, la retroalimentación puede convertirse en un proceso prácticamente automático.

    Buenas prácticas

    Para implementar correctamente una estrategia de Feedback se recomienda:

    • Monitorizar el rendimiento del modelo de forma continua.
    • Registrar tanto las predicciones como los resultados reales cuando estén disponibles.
    • Definir umbrales que activen alertas o procesos de reentrenamiento.
    • Supervisar indicadores de Data Drift y Model Drift.
    • Recoger retroalimentación de usuarios y expertos del dominio cuando sea relevante.
    • Versionar modelos, datos y métricas para facilitar comparaciones históricas.
    • Automatizar el ciclo de mejora mediante prácticas de MLOps siempre que sea posible.
    • Revisar periódicamente si el modelo sigue alineado con los objetivos del negocio.
  • Deployment (Despliegue)

    La fase de Deployment (Despliegue) constituye la etapa final de la metodología de la Ciencia de Datos. Su objetivo consiste en poner el modelo desarrollado a disposición de los usuarios, aplicaciones o procesos de negocio para que pueda generar predicciones y aportar valor en un entorno real.

    Aunque el entrenamiento del modelo suele considerarse el núcleo de un proyecto de Machine Learning, un modelo únicamente genera impacto cuando puede utilizarse de forma efectiva en producción. El despliegue implica mucho más que guardar un modelo entrenado; incluye la integración con sistemas existentes, la automatización de predicciones, el monitoreo del rendimiento, la gestión de versiones, la seguridad y el mantenimiento continuo del sistema.

    En la práctica, el Deployment representa el paso que transforma un prototipo analítico en una solución operativa capaz de apoyar la toma de decisiones de una organización.

    ¿Qué es Deployment?

    Deployment es el proceso mediante el cual un modelo entrenado y evaluado se integra en un entorno de producción para realizar predicciones sobre nuevos datos.

    Esta fase puede incluir:

    • Publicación del modelo.
    • Integración con aplicaciones.
    • Creación de APIs.
    • Automatización de procesos.
    • Monitoreo del rendimiento.
    • Gestión de versiones.
    • Actualización periódica del modelo.
    • Supervisión de la calidad de las predicciones.

    El objetivo es garantizar que el modelo funcione correctamente en condiciones reales.

    Objetivos del Deployment

    La fase de despliegue persigue varios objetivos.

    Entre los principales destacan:

    • Poner el modelo en producción.
    • Automatizar las predicciones.
    • Integrar el modelo con otros sistemas.
    • Garantizar disponibilidad y escalabilidad.
    • Supervisar el rendimiento del modelo.
    • Detectar degradaciones del rendimiento.
    • Facilitar futuras actualizaciones del modelo.

    Preguntas que debe responder

    Antes de finalizar esta fase deberían responderse preguntas como las siguientes.

    Sobre la implementación

    • ¿Dónde se ejecutará el modelo?
    • ¿Será una API, una aplicación o un proceso batch?
    • ¿Cómo accederán los usuarios al modelo?
    • ¿Qué infraestructura será necesaria?

    Sobre el rendimiento

    • ¿El tiempo de respuesta es aceptable?
    • ¿El modelo soporta la carga esperada?
    • ¿Es escalable?

    Sobre el mantenimiento

    • ¿Cómo se actualizará el modelo?
    • ¿Cómo se monitorizará su rendimiento?
    • ¿Cómo se detectará el Model Drift?
    • ¿Cómo se gestionarán las versiones?

    Sobre el negocio

    • ¿El modelo aporta el valor esperado?
    • ¿Está integrado en el flujo operativo?
    • ¿Cumple los requisitos legales y de seguridad?
    • ¿Existe un plan de mantenimiento?

    Responder a estas preguntas garantiza un despliegue controlado y sostenible.

    Resultado esperado

    Al finalizar la fase de Deployment debería disponerse de:

    • Un modelo operativo en producción.
    • Un sistema capaz de realizar predicciones.
    • Integración con aplicaciones o procesos.
    • Documentación del despliegue.
    • Sistema de monitorización.
    • Gestión de versiones.
    • Procedimientos de actualización.
    • Plan de mantenimiento.
    • Indicadores de rendimiento en producción.

    El resultado esperado no es únicamente un modelo entrenado, sino una solución funcional que genere valor para el negocio.

    Flujo de trabajo

    Un flujo de trabajo habitual durante el despliegue es el siguiente.

    1. Seleccionar el modelo final.
    2. Serializar el modelo entrenado.
    3. Preparar el entorno de producción.
    4. Crear el servicio de inferencia.
    5. Integrar el modelo con otros sistemas.
    6. Realizar pruebas funcionales.
    7. Desplegar el modelo.
    8. Monitorizar su funcionamiento.
    9. Detectar degradaciones del rendimiento.
    10. Actualizar el modelo cuando sea necesario.
    11. Documentar el proceso.

    El Deployment no finaliza con la puesta en producción; continúa durante todo el ciclo de vida del modelo.

    ¿Cómo funciona?

    El funcionamiento general puede resumirse en los siguientes pasos.

    1. El usuario o una aplicación envía nuevos datos.
    2. El sistema aplica el mismo preprocesamiento utilizado durante el entrenamiento.
    3. El modelo realiza la predicción.
    4. La respuesta se devuelve al sistema solicitante.
    5. La predicción queda registrada para su posterior monitorización.

    Este proceso puede ejecutarse en tiempo real o por lotes.

    Estrategias de despliegue

    Existen diferentes formas de desplegar un modelo.

    EstrategiaDescripciónCasos de uso
    BatchPredicciones periódicas sobre grandes volúmenes de datosInformes, forecasting
    Tiempo realPredicciones inmediatas mediante APIsRecomendaciones, fraude
    StreamingProcesamiento continuo de eventosIoT, sensores
    EmbebidoModelo integrado en una aplicaciónAplicaciones móviles
    Edge ComputingModelo ejecutado cerca del dispositivoVehículos autónomos, IoT

    La estrategia elegida dependerá de los requisitos del proyecto.

    Componentes habituales del Deployment

    Una solución de Machine Learning en producción suele incluir varios componentes.

    • Modelo entrenado.
    • Pipeline de preprocesamiento.
    • API de inferencia.
    • Base de datos.
    • Sistema de monitorización.
    • Registro de predicciones.
    • Sistema de alertas.
    • Infraestructura de despliegue.
    • Gestión de versiones.

    Todos estos elementos forman parte del ciclo de vida del modelo.

    Ejemplo conceptual

    Supongamos un modelo que predice el abandono de clientes.

    El despliegue podría consistir en:

    • Publicar una API REST.
    • Integrarla con el CRM.
    • Calcular diariamente la probabilidad de abandono.
    • Mostrar el resultado a los comerciales.

    El modelo pasa de ser un experimento a convertirse en una herramienta de negocio.

    Ejemplo práctico

    Imaginemos un sistema de detección de fraude. El flujo podría ser:

    PasoAcción
    Cliente realiza una compraSe envían los datos al modelo
    API recibe la solicitudSe ejecuta el preprocesamiento
    Modelo genera una predicciónSe calcula la probabilidad de fraude
    Sistema recibe la respuestaSe aprueba o bloquea la transacción
    Registro de resultadosSe almacenan las predicciones para monitorización

    Todo este proceso puede ejecutarse en pocos milisegundos.

    Deployment vs Modeling

    Aunque ambas fases forman parte del ciclo de vida del proyecto, tienen objetivos diferentes.

    ModelingDeployment
    Entrena modelosPublica modelos
    Ajusta hiperparámetrosGestiona la inferencia
    Evalúa algoritmosIntegra el modelo con aplicaciones
    Produce modelos candidatosProduce un servicio operativo
    Se centra en el aprendizajeSe centra en la operación

    El modelado crea el modelo; el despliegue lo convierte en una solución utilizable.

    Beneficios

    Una correcta estrategia de despliegue aporta numerosas ventajas.

    • Automatiza la toma de decisiones.
    • Genera valor para el negocio.
    • Reduce tiempos de respuesta.
    • Facilita la integración con aplicaciones.
    • Permite escalar el uso del modelo.
    • Favorece la monitorización continua.
    • Simplifica futuras actualizaciones.

    ¿Cuándo realizar Deployment?

    El despliegue debe comenzar únicamente cuando:

    • El modelo ha superado la fase de Evaluation.
    • Se han definido los requisitos de producción.
    • Existe una infraestructura adecuada.
    • Se dispone de un plan de mantenimiento.
    • El negocio ha aprobado el modelo.

    Nunca debería desplegarse un modelo sin haber sido evaluado previamente.

    Ventajas y desventajas

    VentajasDesventajas
    Permite utilizar el modelo en producciónRequiere infraestructura
    Automatiza procesosIncrementa la complejidad del proyecto
    Facilita la integración empresarialNecesita mantenimiento continuo
    Permite monitorizar el rendimientoPuede requerir escalabilidad
    Genera valor realExige medidas de seguridad y control

    Limitaciones

    Aunque representa el objetivo final del proyecto, el despliegue presenta algunas limitaciones.

    • El rendimiento puede degradarse con el tiempo.
    • Los datos de producción pueden diferir de los utilizados durante el entrenamiento.
    • Requiere monitorización continua.
    • Puede necesitar reentrenamientos periódicos.
    • Depende de la infraestructura disponible.
    • La integración con sistemas existentes puede resultar compleja.

    Por ello, el despliegue debe entenderse como el inicio del ciclo operativo del modelo y no como el final del proyecto.

    Monitoreo del modelo en producción

    Una vez desplegado, el modelo debe supervisarse continuamente.

    Algunos aspectos que conviene monitorizar son:

    • Precisión del modelo.
    • Latencia de respuesta.
    • Consumo de recursos.
    • Disponibilidad del servicio.
    • Distribución de los datos de entrada.
    • Model Drift.
    • Data Drift.
    • Errores de inferencia.

    La monitorización permite detectar cuándo un modelo necesita ser actualizado.

    Relación con MLOps

    El Deployment es uno de los pilares fundamentales de MLOps. MLOps automatiza tareas como:

    • Despliegue continuo.
    • Versionado de modelos.
    • Reentrenamiento automático.
    • Monitorización.
    • Integración continua (CI/CD).
    • Auditoría.
    • Gestión del ciclo de vida del modelo.

    En proyectos empresariales modernos, Deployment y MLOps suelen desarrollarse conjuntamente.

    Buenas prácticas

    Para desarrollar correctamente la fase de Deployment se recomienda:

    • Desplegar únicamente modelos que hayan superado la fase de Evaluation.
    • Conservar el pipeline completo de preprocesamiento junto con el modelo.
    • Versionar tanto el modelo como los datos utilizados para entrenarlo.
    • Automatizar el despliegue mediante herramientas de integración y entrega continua cuando sea posible.
    • Implementar monitorización para detectar Data Drift, Model Drift y degradaciones del rendimiento.
    • Registrar todas las predicciones y errores para facilitar auditorías y análisis posteriores.
    • Diseñar mecanismos de reentrenamiento y actualización periódica del modelo.
    • Proteger los servicios mediante autenticación, autorización y medidas de seguridad adecuadas.
  • Evaluation (Evaluación)

    La fase Evaluation (Evaluación) de la metodología de la Ciencia de Datos en la que se determina si el modelo desarrollado durante la etapa de Modeling cumple tanto los requisitos técnicos como los objetivos de negocio establecidos al inicio del proyecto.

    Aunque durante el modelado se comparan distintos algoritmos utilizando métricas de rendimiento, la evaluación va un paso más allá. Su propósito no consiste únicamente en medir la precisión de un modelo, sino en responder a una pregunta fundamental: ¿es este modelo adecuado para resolver el problema de negocio?

    En esta fase se analizan aspectos como la capacidad de generalización, la robustez, la interpretabilidad, el coste computacional, el cumplimiento de los requisitos del proyecto y el impacto esperado sobre el negocio. En muchos casos, la evaluación conduce a volver a fases anteriores para recopilar nuevos datos, preparar mejor la información o entrenar nuevos modelos.

    La evaluación representa el último control de calidad antes del despliegue en producción.

    ¿Qué es Evaluation?

    La evaluación es el proceso mediante el cual se analiza el rendimiento de uno o varios modelos con el objetivo de decidir si alguno de ellos está preparado para ser desplegado en un entorno real.

    Esta fase incluye actividades como:

    • Evaluación mediante métricas.
    • Comparación entre modelos.
    • Validación del rendimiento.
    • Análisis del sobreajuste.
    • Interpretación de resultados.
    • Verificación del cumplimiento de los objetivos de negocio.
    • Identificación de riesgos antes del despliegue.

    El resultado es una decisión fundamentada sobre si el modelo debe pasar a producción o requiere nuevas iteraciones.

    Objetivos

    La evaluación persigue varios objetivos. Entre los principales destacan:

    • Validar el rendimiento del modelo.
    • Verificar la capacidad de generalización.
    • Detectar sobreajuste o infraajuste.
    • Comparar distintos modelos.
    • Evaluar el impacto sobre el negocio.
    • Confirmar que se cumplen los objetivos definidos.
    • Determinar si el modelo está preparado para producción.

    Preguntas que debe responder

    Al finalizar esta fase deberían responderse preguntas como las siguientes.

    Sobre el rendimiento

    • ¿El modelo alcanza el nivel de precisión esperado?
    • ¿Generaliza correctamente sobre datos no vistos?
    • ¿Existe sobreajuste?
    • ¿Existe infraajuste?
    • ¿Las métricas son suficientemente buenas?

    Sobre el negocio

    • ¿El modelo responde al problema planteado?
    • ¿Generará valor para la organización?
    • ¿Su rendimiento es suficiente para justificar su implantación?
    • ¿Los errores del modelo son aceptables?

    Sobre la robustez

    • ¿El modelo es estable?
    • ¿Produce resultados consistentes?
    • ¿Se comporta correctamente con nuevos datos?
    • ¿Tolera pequeñas variaciones en los datos?

    Sobre la implementación

    • ¿Puede desplegarse en producción?
    • ¿Cumple los requisitos de tiempo de respuesta?
    • ¿Es suficientemente interpretable?
    • ¿Debe entrenarse nuevamente?

    Responder estas preguntas permite decidir si el proyecto puede avanzar hacia la fase de Deployment.

    Resultado esperado

    Al finalizar la evaluación debería disponerse de:

    • Modelo seleccionado.
    • Comparativa entre modelos.
    • Métricas finales.
    • Validación del rendimiento.
    • Análisis de errores.
    • Confirmación del cumplimiento de los objetivos del negocio.
    • Recomendación de despliegue o nueva iteración.
    • Documentación de las conclusiones.

    El resultado esperado es una decisión fundamentada sobre el futuro del modelo.

    Flujo de trabajo

    Una forma habitual de desarrollar esta fase consiste en seguir el siguiente flujo.

    1. Evaluar el modelo sobre datos de prueba.
    2. Calcular las métricas correspondientes.
    3. Comparar distintos modelos candidatos.
    4. Analizar errores y casos problemáticos.
    5. Detectar sobreajuste o infraajuste.
    6. Evaluar la interpretabilidad.
    7. Analizar el impacto sobre el negocio.
    8. Validar el cumplimiento de los objetivos iniciales.
    9. Decidir si el modelo pasa a producción o requiere nuevas iteraciones.
    10. Documentar los resultados.

    La evaluación suele implicar tanto criterios técnicos como criterios de negocio.

    ¿Cómo funciona?

    La evaluación combina análisis cuantitativo y cualitativo. Durante esta fase se realizan actividades como:

    • Cálculo de métricas.
    • Comparación entre modelos.
    • Validación cruzada.
    • Inspección de errores.
    • Interpretación del modelo.
    • Revisión con expertos del dominio.
    • Evaluación del impacto empresarial.

    No basta con obtener una alta precisión; el modelo debe ser útil y fiable para el caso de uso específico.

    Principales actividades

    Las tareas más habituales incluyen:

    • Evaluación mediante métricas.
    • Comparación de algoritmos.
    • Análisis de errores.
    • Evaluación de la capacidad de generalización.
    • Interpretación del modelo.
    • Validación con expertos.
    • Revisión de requisitos del negocio.
    • Decisión de despliegue.

    Métricas habituales

    Las métricas utilizadas dependen del tipo de problema.

    Tipo de problemaMétricas habituales
    ClasificaciónAccuracy, Precision, Recall, F1-Score, ROC-AUC, Log Loss
    RegresiónMAE, MSE, RMSE, R²
    ClusteringSilhouette Score, Davies-Bouldin Index
    Sistemas de recomendaciónPrecision@K, Recall@K, MAP, NDCG, RMSE
    Series temporalesMAE, RMSE, MAPE, SMAPE

    La elección de la métrica debe estar alineada con los objetivos del proyecto.

    Ejemplo conceptual

    Supongamos un modelo para detectar fraude.

    El modelo obtiene:

    • Accuracy del 99 %.

    A primera vista parece excelente.

    Sin embargo:

    • Solo detecta el 40 % de los fraudes.

    En este caso el modelo probablemente no sea útil para el negocio.

    La evaluación permite descubrir este tipo de situaciones.

    Ejemplo práctico

    Imaginemos tres modelos entrenados para clasificar clientes.

    ModeloAccuracyRecallROC-AUC
    Regresión Logística0.900.820.91
    Random Forest0.930.890.95
    XGBoost0.940.910.97

    Aunque XGBoost obtiene mejores métricas, la decisión final también dependerá de:

    • Tiempo de entrenamiento.
    • Interpretabilidad.
    • Recursos necesarios.
    • Coste de despliegue.
    • Requisitos del negocio.

    Evaluation vs Modeling

    Aunque ambas fases están relacionadas, tienen objetivos claramente diferentes.

    ModelingEvaluation
    Construye modelosAnaliza los modelos
    Entrena algoritmosValida resultados
    Ajusta hiperparámetrosDecide si el modelo es adecuado
    Produce modelos candidatosSelecciona el modelo final
    Se centra en el aprendizajeSe centra en la toma de decisiones

    Modeling responde a cómo construir el modelo, mientras que Evaluation responde a si el modelo debe utilizarse.

    Beneficios

    Una correcta evaluación aporta numerosas ventajas.

    • Reduce el riesgo de desplegar modelos inadecuados.
    • Detecta sobreajuste.
    • Facilita la comparación objetiva entre modelos.
    • Mejora la confianza en las predicciones.
    • Permite justificar las decisiones tomadas.
    • Incrementa la calidad del proyecto.
    • Favorece modelos más robustos.

    ¿Cuándo realizar Evaluation?

    La evaluación comienza una vez entrenados los modelos.

    También puede repetirse cuando:

    • Se entrenan nuevos modelos.
    • Cambian los datos.
    • Se modifican los hiperparámetros.
    • Cambian los requisitos del negocio.
    • Se incorporan nuevas métricas.

    En proyectos iterativos es habitual volver repetidamente a esta fase.

    Ventajas y desventajas

    VentajasDesventajas
    Permite seleccionar el mejor modeloPuede requerir múltiples iteraciones
    Reduce riesgos antes del despliegueDepende de disponer de buenos datos de evaluación
    Favorece decisiones objetivasUna única métrica puede ser insuficiente
    Detecta problemas ocultosPuede aumentar la duración del proyecto
    Mejora la calidad finalRequiere experiencia para interpretar resultados

    Limitaciones

    Aunque resulta imprescindible, presenta algunas limitaciones.

    • Ninguna métrica resume completamente el comportamiento del modelo.
    • Los resultados dependen de la calidad del conjunto de prueba.
    • Un buen rendimiento histórico no garantiza un buen rendimiento futuro.
    • Algunos criterios de negocio son difíciles de cuantificar.
    • Puede ser necesario realizar varias iteraciones antes de obtener un modelo aceptable.

    La evaluación debe combinar siempre métricas técnicas y conocimiento del dominio.

    Buenas prácticas

    Para desarrollar correctamente la fase de Evaluation se recomienda:

    • Utilizar métricas adecuadas al tipo de problema y al objetivo del negocio.
    • Evaluar el modelo con datos que no hayan participado en el entrenamiento.
    • Comparar varios modelos antes de seleccionar uno.
    • Analizar los errores y no limitarse a una única métrica.
    • Combinar criterios técnicos con criterios de negocio.
    • Validar los resultados con expertos del dominio cuando sea necesario.
    • Documentar las métricas, decisiones y justificaciones.
    • Asegurar que el modelo mantiene un equilibrio entre rendimiento, interpretabilidad y coste de implementación.
  • Modeling (Modelado)

    La fase de Modeling (Modelado) representa el punto en el que los datos preparados se transforman en conocimiento mediante la construcción de modelos analíticos y de Machine Learning. Después de comprender el problema de negocio, recopilar los datos, analizarlos y prepararlos, llega el momento de entrenar algoritmos capaces de aprender patrones y realizar predicciones sobre nuevos datos.

    Durante esta fase se seleccionan los algoritmos más adecuados, se entrenan diferentes modelos, se ajustan sus hiperparámetros y se comparan sus resultados utilizando métricas de evaluación apropiadas. El objetivo no consiste únicamente en obtener el modelo con mayor precisión, sino en desarrollar una solución robusta, interpretable y alineada con los objetivos del proyecto.

    El modelado suele ser un proceso iterativo. Es habitual entrenar varios modelos, comparar su rendimiento y regresar a fases anteriores cuando los resultados no son satisfactorios.

    ¿Qué es Modeling?

    Modeling es la fase de la metodología de Ciencia de Datos en la que se construyen y entrenan modelos utilizando los datos preparados para resolver el problema definido durante el Business Understanding.

    Dependiendo del tipo de problema, el modelado puede implicar:

    • Clasificación.
    • Regresión.
    • Clustering.
    • Sistemas de recomendación.
    • Series temporales.
    • Detección de anomalías.
    • Procesamiento del Lenguaje Natural (NLP).
    • Visión por computador.
    • Aprendizaje profundo (Deep Learning).

    El resultado es uno o varios modelos candidatos que posteriormente serán evaluados.

    Objetivos del Modeling

    La fase de modelado persigue varios objetivos.

    Entre los principales destacan:

    • Construir modelos predictivos.
    • Descubrir patrones en los datos.
    • Comparar diferentes algoritmos.
    • Ajustar hiperparámetros.
    • Evaluar el rendimiento de los modelos.
    • Seleccionar el mejor modelo para el problema.
    • Generar predicciones fiables.

    Preguntas que debe responder

    Al finalizar esta fase deberían responderse preguntas como las siguientes.

    Sobre el algoritmo

    • ¿Qué algoritmo se adapta mejor al problema?
    • ¿Es un problema supervisado o no supervisado?
    • ¿El modelo cumple los objetivos del negocio?

    Sobre el entrenamiento

    • ¿El modelo ha aprendido correctamente?
    • ¿Existe sobreajuste (Overfitting)?
    • ¿Existe infraajuste (Underfitting)?
    • ¿Es necesario ajustar hiperparámetros?

    Sobre el rendimiento

    • ¿Qué métricas se utilizarán?
    • ¿El rendimiento es suficientemente bueno?
    • ¿Cómo se comporta con datos no vistos?
    • ¿Es estable el modelo?

    Sobre el negocio

    • ¿El modelo aporta valor?
    • ¿Puede implementarse en producción?
    • ¿Es suficientemente interpretable?
    • ¿Cumple los requisitos del proyecto?

    Resultado esperado

    Al finalizar la fase de Modeling debería disponerse de:

    • Uno o varios modelos entrenados.
    • Comparativa entre algoritmos.
    • Hiperparámetros optimizados.
    • Métricas de rendimiento.
    • Predicciones sobre datos de prueba.
    • Modelo seleccionado para evaluación final.
    • Documentación del proceso de entrenamiento.

    Este conjunto de resultados servirá como entrada para la fase de Evaluación.

    Flujo de trabajo

    Un flujo de trabajo habitual durante la fase de modelado es el siguiente.

    1. Seleccionar el algoritmo adecuado.
    2. Dividir los datos en entrenamiento y prueba (si no se ha realizado previamente).
    3. Entrenar un modelo inicial.
    4. Obtener predicciones.
    5. Evaluar el rendimiento.
    6. Ajustar hiperparámetros.
    7. Comparar diferentes algoritmos.
    8. Validar el modelo mediante técnicas apropiadas.
    9. Seleccionar el mejor modelo.
    10. Documentar todo el proceso.

    Este proceso suele repetirse varias veces hasta obtener un modelo satisfactorio.

    ¿Cómo funciona?

    El modelado consiste en permitir que un algoritmo aprenda patrones presentes en los datos.

    De forma simplificada, el proceso sigue estos pasos:

    1. El algoritmo recibe los datos de entrenamiento.
    2. Aprende relaciones entre las variables.
    3. Construye un modelo matemático.
    4. Utiliza dicho modelo para realizar predicciones sobre nuevos datos.
    5. Se compara el resultado con los valores reales.
    6. Se evalúa su rendimiento mediante métricas específicas.

    El aprendizaje dependerá tanto del algoritmo seleccionado como de la calidad de los datos.

    Selección del algoritmo

    La elección del algoritmo depende del problema que se desea resolver.

    Tipo de problemaAlgoritmos habituales
    ClasificaciónLogistic Regression, Decision Tree, Random Forest, XGBoost, SVM
    RegresiónLinear Regression, Random Forest Regressor, XGBoost Regressor
    ClusteringK-Means, DBSCAN, Agglomerative Clustering
    Sistemas de recomendaciónKNN, Matrix Factorization, SVD
    Series temporalesARIMA, Prophet, LSTM
    Deep LearningRedes neuronales, CNN, RNN, Transformers

    No existe un algoritmo universalmente superior.

    Entrenamiento del modelo

    Durante el entrenamiento el algoritmo aprende a partir del conjunto de entrenamiento.

    Dependiendo del algoritmo pueden aprenderse:

    • Relaciones lineales.
    • Fronteras de decisión.
    • Árboles de decisión.
    • Patrones complejos.
    • Representaciones latentes.

    El objetivo es generalizar correctamente sobre datos nuevos.

    Ajuste de hiperparámetros

    Muchos algoritmos poseen parámetros configurables.

    Algunos ejemplos son:

    • Número de árboles.
    • Profundidad máxima.
    • Número de vecinos.
    • Learning rate.
    • Número de épocas.
    • Batch size.

    El ajuste de estos hiperparámetros puede mejorar significativamente el rendimiento del modelo.

    Validación del modelo

    Antes de seleccionar un modelo es necesario validar su comportamiento.

    Las técnicas más utilizadas incluyen:

    • Hold-Out Validation.
    • Train/Test Split.
    • K-Fold Cross Validation.
    • Stratified K-Fold.
    • Leave-One-Out Cross Validation.

    Estas estrategias permiten estimar la capacidad de generalización del modelo.

    Ejemplo conceptual

    Supongamos un proyecto para predecir el abandono de clientes.

    Después de preparar los datos podrían entrenarse varios modelos.

    • Regresión Logística.
    • Random Forest.
    • XGBoost.

    Posteriormente se comparan utilizando ROC-AUC.

    El modelo con mejor equilibrio entre rendimiento e interpretabilidad será el candidato para pasar a la siguiente fase.

    Ejemplo práctico

    Imaginemos un proyecto de predicción del precio de viviendas. Podrían entrenarse los siguientes modelos.

    ModeloRMSE
    Regresión Lineal35.200 €
    Random Forest18.700 €
    XGBoost16.900 €

    En este caso XGBoost obtiene el menor error.

    No obstante, antes de seleccionarlo también deberían evaluarse:

    • Tiempo de entrenamiento.
    • Interpretabilidad.
    • Robustez.
    • Complejidad del modelo.

    Modeling vs Evaluation

    Aunque están estrechamente relacionadas, ambas fases tienen objetivos distintos.

    ModelingEvaluation
    Construye modelosValida el modelo seleccionado
    Entrena algoritmosEvalúa si cumple los objetivos del negocio
    Ajusta hiperparámetrosAnaliza el rendimiento final
    Compara modelosDecide si el modelo está preparado para producción
    Produce modelos candidatosProduce una decisión final

    El modelado construye soluciones; la evaluación decide si esas soluciones son aceptables.

    Beneficios

    Una correcta fase de modelado aporta numerosas ventajas.

    • Permite automatizar decisiones.
    • Descubre patrones ocultos.
    • Genera predicciones.
    • Facilita la toma de decisiones.
    • Permite comparar algoritmos.
    • Optimiza el rendimiento mediante ajuste de hiperparámetros.
    • Constituye la base de sistemas inteligentes.

    ¿Cuándo realizar Modeling?

    El modelado debe comenzar únicamente cuando:

    • Los datos han sido preparados.
    • Los problemas de calidad se han resuelto.
    • Existe una variable objetivo (en aprendizaje supervisado).
    • Se dispone de un conjunto de entrenamiento adecuado.

    No resulta recomendable entrenar modelos sobre datos sin preparar.

    Ventajas y desventajas

    VentajasDesventajas
    Permite generar modelos predictivosRequiere datos de calidad
    Automatiza la toma de decisionesPuede consumir muchos recursos computacionales
    Descubre relaciones complejasExiste riesgo de sobreajuste
    Permite comparar algoritmosAlgunos modelos son difíciles de interpretar
    Puede mejorar continuamenteEl ajuste de hiperparámetros puede ser costoso

    Limitaciones

    La fase de modelado presenta diversas limitaciones.

    • Depende completamente de la calidad de los datos.
    • No existe un algoritmo óptimo para todos los problemas.
    • Algunos modelos requieren grandes cantidades de datos.
    • Puede ser necesario entrenar múltiples modelos.
    • Los resultados pueden variar con nuevos datos.
    • El mejor modelo según una métrica no siempre es el mejor para el negocio.

    Por ello, el rendimiento técnico debe complementarse con una evaluación desde la perspectiva del problema empresarial.

    Buenas prácticas

    Para desarrollar correctamente la fase de Modeling se recomienda:

    • Comenzar con modelos sencillos antes de utilizar algoritmos complejos.
    • Comparar siempre varios modelos en lugar de asumir que uno será el mejor.
    • Utilizar técnicas de validación adecuadas, como la validación cruzada.
    • Ajustar los hiperparámetros de forma sistemática y evitar búsquedas aleatorias sin criterio.
    • Evitar el sobreajuste mediante regularización, selección de características o más datos cuando sea posible.
    • Registrar las métricas, hiperparámetros y versiones utilizadas para garantizar la reproducibilidad.
    • Evaluar tanto el rendimiento técnico como la interpretabilidad y el impacto sobre el negocio.
    • Mantener un pipeline reproducible que incluya el preprocesamiento y el entrenamiento del modelo.

  • Data Preparation (Preparación de los Datos)

    La Data Preparation (Preparación de los Datos) es una de las fases más críticas dentro de la metodología de la Ciencia de Datos. Su objetivo consiste en transformar los datos obtenidos durante las fases anteriores en un conjunto de datos limpio, consistente y adecuado para el entrenamiento de modelos de Machine Learning.

    Aunque suele percibirse como una etapa previa al modelado, en la práctica representa una de las actividades que más tiempo consume en un proyecto de Ciencia de Datos. Diversos estudios estiman que entre el 60 % y el 80 % del tiempo de un proyecto puede dedicarse a la preparación de los datos.

    Durante esta fase se corrigen problemas detectados en Data Understanding, se limpian los datos, se transforman variables, se crean nuevas características, se integran diferentes fuentes de información y se construye el conjunto de datos final que será utilizado durante el modelado.

    Una preparación adecuada mejora la calidad de los modelos, reduce el riesgo de sobreajuste y facilita la interpretación de los resultados.

    ¿Qué es Data Preparation?

    Data Preparation es el proceso mediante el cual los datos originales se transforman en un conjunto de datos listo para ser utilizado por algoritmos de Machine Learning.

    Esta fase incluye tareas como:

    • Limpieza de datos.
    • Tratamiento de valores nulos.
    • Eliminación de duplicados.
    • Corrección de errores.
    • Transformación de variables.
    • Codificación de variables categóricas.
    • Escalado de variables.
    • Ingeniería de Características.
    • Integración de diferentes fuentes.
    • Selección de variables.
    • Reducción de dimensionalidad.
    • División del conjunto de datos para entrenamiento y evaluación.

    El objetivo es garantizar que el modelo reciba datos consistentes, representativos y de alta calidad.

    Objetivos de Data Preparation

    La preparación de los datos persigue varios objetivos.

    Entre los principales destacan:

    • Mejorar la calidad de los datos.
    • Eliminar errores e inconsistencias.
    • Reducir el ruido.
    • Facilitar el aprendizaje del modelo.
    • Incrementar la capacidad predictiva.
    • Construir nuevas variables útiles.
    • Reducir el coste computacional.
    • Obtener un conjunto de datos listo para el modelado.

    Preguntas que debe responder

    Antes de finalizar esta fase deberían responderse preguntas como las siguientes.

    Sobre la calidad de los datos

    • ¿Se han tratado todos los valores nulos?
    • ¿Se han eliminado los registros duplicados?
    • ¿Se han corregido los errores detectados?
    • ¿Se han tratado los valores atípicos?

    Sobre las variables

    • ¿Todas las variables tienen el formato adecuado?
    • ¿Las variables categóricas están codificadas?
    • ¿Las variables numéricas necesitan escalado?
    • ¿Existen variables redundantes?

    Sobre la Ingeniería de Características

    • ¿Es necesario crear nuevas variables?
    • ¿Existen interacciones relevantes?
    • ¿Se han generado variables derivadas?
    • ¿Conviene reducir la dimensionalidad?

    Sobre el conjunto final

    • ¿El conjunto de datos está preparado para el algoritmo elegido?
    • ¿Existe fuga de información (Data Leakage)?
    • ¿Se han separado correctamente entrenamiento y prueba?
    • ¿Los datos mantienen coherencia con el problema de negocio?

    Responder afirmativamente a estas preguntas indica que el conjunto de datos está listo para pasar a la fase de modelado.

    Resultado esperado

    Al finalizar Data Preparation debería disponerse de:

    • Un conjunto de datos limpio.
    • Variables correctamente tipificadas.
    • Valores nulos tratados.
    • Registros duplicados eliminados.
    • Variables categóricas codificadas.
    • Variables numéricas escaladas cuando sea necesario.
    • Nuevas características creadas.
    • Variables irrelevantes eliminadas.
    • Datos preparados para entrenamiento.
    • Conjuntos de entrenamiento, validación y prueba correctamente definidos.
    • Un proceso de preparación completamente documentado y reproducible.

    El resultado esperado es un dataset listo para alimentar algoritmos de Machine Learning.

    Flujo de trabajo

    Una forma habitual de abordar esta fase consiste en seguir el siguiente flujo de trabajo.

    1. Revisar los problemas detectados durante Data Understanding.
    2. Limpiar errores e inconsistencias.
    3. Tratar valores nulos.
    4. Eliminar registros duplicados.
    5. Corregir formatos y tipos de datos.
    6. Tratar valores atípicos.
    7. Transformar variables.
    8. Codificar variables categóricas.
    9. Escalar o normalizar variables cuando sea necesario.
    10. Realizar Ingeniería de Características.
    11. Seleccionar variables relevantes.
    12. Reducir la dimensionalidad si procede.
    13. Dividir los datos en entrenamiento, validación y prueba.
    14. Validar el conjunto de datos final.
    15. Documentar todas las transformaciones realizadas.

    Este flujo puede repetirse varias veces hasta obtener un conjunto de datos adecuado para el modelado.

    ¿Cómo funciona?

    La preparación de los datos transforma progresivamente los datos originales.

    Durante esta fase se aplican numerosas técnicas de preprocesamiento.

    Entre las más habituales se encuentran:

    • Limpieza de datos.
    • Imputación de valores nulos.
    • Eliminación de duplicados.
    • Tratamiento de valores extremos.
    • Conversión de tipos de datos.
    • Escalado.
    • Normalización.
    • Codificación.
    • Ingeniería de Características.
    • Selección de variables.
    • Reducción de dimensionalidad.

    El conjunto de datos resultante suele diferir considerablemente del conjunto original.

    Principales actividades

    La fase de Data Preparation engloba un gran número de tareas.

    Entre las más habituales destacan:

    • Data Cleaning.
    • Tratamiento de valores nulos.
    • Tratamiento de valores atípicos.
    • Eliminación de duplicados.
    • Conversión de formatos.
    • Escalado y normalización.
    • Codificación de variables categóricas.
    • Ingeniería de Características.
    • Integración de datos.
    • Selección de características.
    • Reducción de dimensionalidad.
    • División del conjunto de datos.

    Muchas de estas técnicas se desarrollan posteriormente en artículos específicos.

    Ejemplo conceptual

    Supongamos un conjunto de datos de clientes.

    Durante Data Understanding se detectó:

    • Valores nulos.
    • Clientes duplicados.
    • Variables categóricas.
    • Fechas almacenadas como texto.
    • Ingresos con valores extremos.

    Durante Data Preparation podrían realizarse las siguientes acciones:

    • Imputar los valores nulos.
    • Eliminar registros duplicados.
    • Convertir las fechas al tipo datetime.
    • Codificar el género mediante One-Hot Encoding.
    • Escalar los ingresos.
    • Crear una variable denominada “Antigüedad del cliente”.

    El resultado es un conjunto mucho más adecuado para entrenar un modelo.

    Ejemplo práctico

    Imaginemos un proyecto de predicción del abandono de clientes.

    Durante la preparación podrían aplicarse las siguientes transformaciones.

    Problema detectadoAcción realizada
    Valores nulosImputación mediante mediana
    Variables categóricasOne-Hot Encoding
    Variables muy sesgadasTransformación logarítmica
    Escalas muy diferentesStandardScaler
    Variables redundantesEliminación
    Nuevas variablesRatio de compras por mes

    Cada transformación mejora la calidad del conjunto de datos.

    Data Preparation vs Data Understanding

    Aunque ambas fases están estrechamente relacionadas, tienen objetivos diferentes.

    Data UnderstandingData Preparation
    Analiza los datosTransforma los datos
    Detecta problemasCorrige problemas
    Explora informaciónConstruye el conjunto final
    No modifica los datosGenera nuevos datos preparados
    Produce un diagnósticoProduce un dataset listo para modelar

    La comprensión identifica qué debe hacerse; la preparación ejecuta dichas acciones.

    ¿Cuándo realizar Data Preparation?

    Esta fase comienza inmediatamente después de Data Understanding.

    También puede repetirse cuando:

    • Se incorporan nuevas variables.
    • Cambian las fuentes de datos.
    • Se detectan nuevos problemas.
    • Cambia el algoritmo utilizado.
    • Se actualiza el conjunto de datos.

    En proyectos iterativos suele repetirse varias veces.

    Limitaciones

    Aunque resulta imprescindible, presenta algunas limitaciones.

    • No puede compensar una recopilación de datos deficiente.
    • Algunas transformaciones eliminan información.
    • Existe riesgo de introducir Data Leakage.
    • No todas las técnicas son adecuadas para todos los algoritmos.
    • Algunas decisiones dependen del conocimiento del dominio.
    • Puede aumentar considerablemente la complejidad del flujo de trabajo.

    Por ello, todas las transformaciones deben documentarse y validarse cuidadosamente.