Claves del Éxito de políticas efectivas de Gobierno del Dato

Los principales ingredientes que deben conducir a las organizaciones en la aceptación del modelo de gobierno se muestran a continuación:

Liderazgo y sponsorización de la iniciativa.

  • IT debe liderar o en organizaciones en el que el área de data analytics tome protagonismo individual como entidad propia deben liderar la interlocución del proceso de gobierno de datos. Normalmente las organizaciones poseen un área de Business Intelligence que puede aportar los criterios de calidad de dato necesario en el modelo de gobierno. Una tarea debe ser convocar a los busniness owner, mantener el diccionario, glosario de negocio y preservar los KPI’s visibles para que los responsables de datos puedan constatar la validez o la significación del dato que están consumiendo.
  • Enfocarse en los datos críticos. No todos los datos de la compañía son igual de importantes. Por ese motivo, es necesario exponerlos en el diccionario y priorizar su impacto en negocio en el foco en poder establecer criterios de calidad muy elevados ya que son un activo fundamental en el proceso de negocio en el que se encuentran.
  • Debemos ser capaces de rentabilizar el proyecto a través de los artefactos que hemos generado, el linaje, diccionario, reglas de calidad de negocio, deben imponerse en los proyectos de datos de la empresa y, por tanto, debemos enfatizar su uso  e implementar política que se acuerda en el comité de gobierno del dato de la compañía.
  • Medir los objetivos KPI’s y el grado de cumplimiento de la compañía. Una de las responsabilidades de los nuevos roles con responsabilidad en el programa de gobierno de datos, debe tener como objetivo que los valores de calidad y el cumplimiento de las políticas sea efectivamente prolífero y por tanto deben definirse dashboards que permita motorizar la monitorización de los objetivos individuales.
  • Desde la implementación a través de los planes de remediación debemos celebrar los pequeños quick wins traducidos en una mejora de la calidad, una mayor transparencia de la información, mejor flujo y control del dato gracias a la  figura del responsable de mantener los datos, así como un proceso de mejora continua de uno de los activos más valiosos de la compañía.

En este proceso la figura del CDO es vital. Sus tareas para la compañía son:

  • Liderar el programa de gobierno del dato
  • Operacionalizar los procesos, políticas y estándar definidos por el equipo de gobierno
  • Comunicar a los Stakehoders
  • Alinear a los data owners en la definición de reglas de negocio
  • Impulsar las iniciativas de mejora de calidad
  • Definir el diccionario y el glosario de negocio
  • Facilitar y apoyar el proyecto MDM
  • Establecer herramientas de gobierno
  • Auditar y comunicar los KPi’ de objetivo individual de los data owner.

La tarea más importante y probablemente la más difícil consiste en convencer de las ventajas del empoderamiendo de los datos a los stakeholders. Es importante que existe un control riguroso sobre la estructura, el mantenimiento, los valores atípicos para que la decisión de negocio sustentada en el dato pueda ser lo más efectiva posible. Una vez que estos representantes de negocios establezcan las directrices de los propios datos, es posible establecer las políticas, reglas de negocio y calidad que permitan garantizar la mejor explotación de la información posible.

Data Policies

Es importante considerar en qué punto se encuentra mi organización. ¿Hay una política de gobierno de datos activa ¿no? Esta será el estado completamente inmaduro, donde la calidad del dato es desconocida, no existe un programa de mantenimiento de la información, en definitiva, la peor situación. En muchas organizaciones no existe gobierno, pero tal vez sí alguna iniciativa que mejore la calidad. En cualquier caso, los planes de remediación son reactivos por lo que en la mayoría de los casos las inconsistencias de los datos se alargan en el tiempo. El primer estado de madurez interesante posee una cierta organización que acomete problemas de calidad del dato y ha definido roles y responsabilidad por lo que se pueden identificar las persona que velarán por la garantía de calidad del dato. El ultimo nivel sería un sistema pensando en la mejora continua de la calidad, tanto en la detección prematura de los problemas, como en la organización optimizada para minimizar el tiempo de fallo e incluso, poder prevenirlos de manera transparente al proceso de negocio que se esté evaluando.  El esquema de los estados se muestra en la figura 

Es importante considerar en qué punto se encuentra mi organización. ¿Hay una política de gobierno de datos activa ¿no? Esta será el estado completamente inmaduro, donde la calidad del dato es desconocida, no existe un programa de mantenimiento de la información, en definitiva, la peor situación. En muchas organizaciones no existe gobierno, pero tal vez sí alguna iniciativa que mejore la calidad. En cualquier caso, los planes de remediación son reactivos por lo que en la mayoría de los casos las inconsistencias de los datos se alargan en el tiempo. El primer estado de madurez interesante posee una cierta organización que acomete problemas de calidad del dato y ha definido roles y responsabilidad por lo que se pueden identificar las persona que velarán por la garantía de calidad del dato. El ultimo nivel sería un sistema pensando en la mejora continua de la calidad, tanto en la detección prematura de los problemas, como en la organización optimizada para minimizar el tiempo de fallo e incluso, poder prevenirlos de manera transparente al proceso de negocio que se esté evaluando.  El esquema de los estados se muestra en la figura 

Ilustración 5 Estado de madurez del gobierno del dato

Los beneficios esperados de un proceso de negocio son:

  • Identificar de manera rápida dónde están los datos más relevantes.
  • Aumentar la confianza y garantizar la veracidad de los datos.
  • Proporcionar una visión unificada de los datos a nivel corporativo.
  • Detectar proactivamente los problemas de calidad datos.
  • Promover un sistema de mejora continua de la calidad de dato.

Dentro de los modelos de negocios más relevantes, surgen una serie de nuevos conceptos que debemos dominar si estamos implementando alguna iniciativa de este tipo como puede verse en la figura 1:






Elementos de una iniciativa de Data Governance
  • Business taxonomy. Definir los roles dentro de las organizaciones.
  • Business domains. Definición de dominios de información.
  • Business Glossary: Definición de los conceptos claves de negocio dentro de cada uno de los dominios.
  • Data dictionary: Creación de diccionario de datos, significado de ellos, relación con los términos de negocio e importancia de negocio.
  • Data Policies: Definición de las políticas, estándares y reglas de validación de dato. 
  • KPI’s & monitoring: Establecimiento de KPI’s y sistemas que permitan evaluar las políticas/estándares de calidad del dato

Las organizaciones deben asumir que un proyecto de Gobierno de Datos requiere de roles y responsabilidades dentro de cada uno de los departamentos de la compañía. Es, por tanto, labor de los comités de dirección decidir cómo deben proveer de recursos necesarios para afrontar todas las necesidades del proyecto:

  • Data Governance Leader: Creador de estrategia de gobierno de datos y encargado de su implementación y la coordinación del equipo
  • Data Owner: Responsable de un dominio de información
  • Data Stewards: Responsable de mejorar y mantener la calidad de dato de los elementos definidos en el diccionario.
  • Data Producer: Responsables de crear y capturar datos

Un buen procedimiento de trabajo, conducido a través de gestión y metodologías de proyecto Agile puede simplificar y potenciar el delivery de soluciones de este tipo en un proceso de mejora

Potencia los datos de tu compañía

Gartner a través de un estudio realizado en diferentes compañías durante 2018, muestra como las organizaciones consideran estratégico implementar y adoptar programas data analytics en un 81% de las encuestas y Machine Learning en un 22% de los casos. Asimismo, según el Data literacy program España tiene una alfabetización de datos en torno al 70%, es decir, es necesario el impulso del dato como activo que soporte la correcta toma de decisiones en contraposición a las decisiones arbitrarias o basadas en la intuición.

Este hecho indica que las organizaciones deben asumir una nueva figura como el Chief Data Officer (CDO) que impulse el programa de alfabetización, defina la estrategia y gestione un hub de datos con el objetivo de establecer un lenguaje común sobre el dato y maximice el ROI de cada una de las iniciativas acometidas. Un aspecto de vital importancia en la estrategia de datos es el modelo de gobierno del dato basado en responsabilidades, sin el cual, los business outcomes que podemos concluir pueden carecer de significancia y precisión. Un apartado muy relevante será el diseño de nuevas plataformas Data o Big Data través de nuevas tecnologías de procesamiento de la información.

La existencia de un hub de data debe ser el revulsivo que posibilite la creación de soluciones data analytics y debe estar formado por grupo multidiscuplinar con el de trabajo, donde data engineers and Data Science tienen gran relevancia, y las figuras de los Stakeholder o BRM (business relationships manager). Este equipo, a través de metodología Agile debe proveer a negocio de soluciones que den respuesta a las problemáticas planteadas. Las técnicas derivadas de la inteligencia Artificial como Machine o Deel Learning pueden tener gran impacto en negocio. R y Python se han establecido como lenguajes de ciencia de datos que pueden aportar mucho valor a los procesos de la compañía. Debido a ello, se incluirán ejemplos de algunos de los algoritmos más utilizados

https://www.linkedin.com/in/manuelproy/

¿Cómo debe ser mi arquitectura Big Data?

Como ya es sabido, las tecnologías de datos convencionales no pueden abordar muchas de las problemáticas que se dan en la actualidad. El problema del volumen en ciertas ocasiones es caro y lento en ciertas bases de datos relacionales, los eventos en Streaming debido a la ausencia de velocidad de lectura y procesamiento, la variedad, los datos desestructurados tanto de redes sociales como de Iot devices, la veracidad si son datos confiables o no, y por supuesto el gran valor del dato.

Probablemente deberíamos remontarnos al año 2004 donde se sientan las bases de lo que hoy conocemos como Big Data [1].

Map Reduce Approximation

A partir de los datos originales es importante saber cómo queremos mapear la tabla que contiene la información. Normalmente se hace un hash sobre un campo usado frecuentemente en las consultas de dicha información. En ese momento se crean sistema clave valor, genera cada uno de los resultados en el nodo que son agrupados en la fase de reduce.  Este simple concepto posee numerosas características y es utilizado en los frameworks como hadoop.

En este sentido las gigantes tecnológicas han establecido debido a su problemática a la hora de operar con grandes volúmenes de datos, soluciones tecnológicas y arquitecturas que permiten la manipulación de ingentes cantidades de información. En este campo destacan dos aproximaciones la arquitectura Kappa y Lambda.

Arquitectura Lambda

Se trata de un patrón de diseño de software y que emplea diferentes sistemas de almacenamientos como bases de datos relacionales y NoSQL y se caracteriza por procesar toda la información en tiempo real y toda la información se trata del mismo modo. Es decir, únicamente existe un flujo de datos por lo que el dato no se bifurca lo que conlleva una mayor coherencia del dato. Este hecho representa una ventaja frente a la arquitectura lambda. Esta arquitectura de muestra en la siguiente figura.

Por un lado, la ingesta del dato ya sea en “streaming” o no, es procesada a través del “hot layer” y el motor de gestión de información de “streaming”. Toda la información relevante, se almacenaría en sistemas de bases de datos NoSQL o bien en los datalakes.

  • Sólo hay que reprocesar cuando cambia el código
  • Kappa architecture can be used to develop data systems that are online learners and
  • Puede ser desplegado con memoria fija
  • Escalable horizontalmente

Contras

  • Limitaciones para realizar machine learning cuando el tiempo de entrenamiento es elevado.
  • La ausencia de “batch” obliga a incorporar un sistema de reproceso o reconciliación de datos

Este tipo de aproximaciones ha sido empleado por empresas como Linkedin

                                                             ii.      Arquitectura Lambda.

En este tipo de arquitecturas aparecen dos flujos diferentes, la denominada “hot layer”, que procesa la información de “streaming” en tiempo real y la “cold layer”, que procesa la información en forma de lotes o batch.

Ilustración 17 Arquitectura Lambda

En este sentido en cada flujo se realizan un tipo de tareas. Por este motivo, es una arquitectura, sin bien más compleja, también es más completa pudiendo abordar cualquier problema analítico.  En ciertas tareas como entrenamientos de modelo de machine learning, este tipo de arquitecturas pueden combinar de manera sencilla un algoritmo entrenado con dato en “streaming” para poder consumir tener modelos de inteligencia artificial en tiempo real. También puede realizar macroprocesamiento de dato histórico para combinarlo con el dato del “hot layer” en tiempo real.

Pros

  • Es posible tratar gran volumen de información histórica y el tolerante a fallos
  • Gran rendimiento y versatilidad
  • Totalmente escalable

Contras

  • El modelo es complejo de migrar o reorganizar
  • El reproceso de información puede no ser beneficioso

¿Por qué es necesario adoptar modelos de gobierno del dato?

Los principales analistas de tendecias del futuro de las compañías indican que los procesos Data Analytics cobrarán gran relevancia en la toma de decisiones de negocio. Antes de abordar este reto, es necesario considerar un proceso de vital relevancia, que impactará en los modelos analíticos y, por tanto, su precisión puede afectar a las propias conclusiones a las que se llegan.

Data Governance

Los beneficios esperados de un proceso de negocio son:

  • Identificar de manera rápida dónde están los datos más relevantes.
  • Aumentar la confianza y garantizar la veracidad de los datos.
  • Proporcionar una vision unificada de los datos a nivel corporativo.
  • Detectar proativamente los problemas de calidad datos.
  • Promover un sistema de mejora continua de la calidad de dato.

Dentro de los modelos de negocios más relevantes, surgen una serie de nuevos conceptos que debemos dominar si estamos implementando alguna iniciativa de este tipo:

  • Business taxonomy. Definir los roles dentro de las organización.
  • Business domains. Definición de dominios de información.
  • Business Glossary: Definición de los conceptos claves de negocio dentro de cada unos de los dominios.
  • Data dictionary: Creación de diccionario de datos, significado de ellos, relación con los términos de negocio e importancia de negocio.
  • Data Policies: Definición de las políticas, estandares  y reglas de validación de dato.  KPI’s & monitoring: Establecimiento de KPI’s y sistemas que permitan evaluar las politicas/estandares
Key Concepts of Data Governance

Las organizaciones deben asumir que un proyecto de Gobierno de Datos requiere de roles y responsabilidades dentro de cada uno de los departamentos de la compañía. Es por tanto, labor de los comiteés de dirección quien deben proveer de recursos necesarios para afrontar todas las necesaidades del proyecto:

  • Data Governance Leader: Creador de estartegia de gobierno de datos y encargado de su implementación
  • Data Owner. Responsable de un dominio de información
  • Data Stewards. Responsable de mejorar y mantener la calidad de dato de los elementos definidos en el diccionarios.
  • Data Producer. Responsables de crear y capturar datos
Data Governance lifecycle

¿Cómo de robusto es mi modelo Machine Learning?: Cross-Validation Folder

¿En qué consiste cross validation folder? Uno de los métodos más importantes que deben emplearse en la operacionalización del modelo de Machine Learning es Cross-Vallidation folder. Esta técnica permite evaluar como va a ser de robusto mi modelo predictivo, a través de la evaluación de este usando diferentes subconjuntos de datos, que se representan a través de las carpetas que dan nombre a la técnica. Es absolutamente eficaz para evitar fenómenos de sobre ajuste que sobreestiman los accurassy de los datos entrenados, pero cuando se emplea en otro subconjunto de datos el modelo ajustado pierde eficacia. Para solventar la caustica que acabamos de sugerir, se recomienda encarecidamente el suso de este método estadística.

>>> train_predictors <- predictors[train_set,]
>>> require(caret)    
>>> classes <-  cs_data[, "Status"]   
>>> predictors <- cs_data[,  -match(c("Status",   "Seniority", "Time", "Age", "Expenses",       >>>    "Income",   "Assets", "Debt", "Amount", "Price",  "Finrat",   "Savings"), 
>>> 
>>> colnames(cs_data))]        
>>> train_set <- createDataPartition(classes,   p = 0.8,  list = FALSE)   
>>> str(train_set)  
>>> train_classes <- classes[train_set]
>>> test_predictors <- predictors[-train_set,
]
>>> test_classes <- classes[-train_set]
>>> set.seed(seed)
>>> cv_splits <- createFolds(classes,
k = 10, returnTrain = TRUE)
>>> str(cv_splits)
>>> require
>>> set.seed(seed)
>>> 
>>> cs_data_train <- cs_data[train_set,
]
>>> cs_data_test <- cs_data[-train_set,
]
>>> glmnet_grid <- expand.grid(alpha =
c(0,  .1,  .2, .4, .6, .8, 1),
                          
lambda = seq(.01, .2, length = 20))
>>> glmnet_ctrl <- trainControl(method
= "cv", number = 10)
>>> glmnet_fit <- train(Status ~ ., data
= cs_data_train, >>>    method= "glmnet", >>>                preProcess= c("center", "scale"),tuneGrid = glmnet_grid,   trControl = glmnet_ctrl) 

>>>   trControl= glmnet_ctrl)
glmnet_fit

En este punto, es importante analizar el resultado y comparar los indicadores estadísticos que te tenemos a lo largos de todos los conjuntos de datos o carpetas.

>>> glmnet 
>>>   alpha 
lambda  Accuracy   Kappa      
>>>   0.0 0.01    0.8021427  0.4613907413
>>>   0.0   0.02    0.7998916  0.4520486081
>>>   0.0   0.03    0.7976412  0.4402614685
>>>   0.0   0.04    0.7987633  0.4407093800
>>>   0.0   0.05    0.7982015  0.4355350784
>>>   0.0   0.06    0.7979182  0.4313111542
>>>   0.0 0.07    0.7953893  0.4205306747
>>>   0.0   0.08    0.7931413  0.4105376360
>>>   0.0   0.09    0.7922978  0.4050557210
>>>   0.0   0.10    0.7892072  0.3920192662

Como Podemos ver en este ejemplo los valores de las precisiones son muy similares en cada una de las carpetas por lo que se puede garantizar cuan de robusto es el modelo de datos que estamos implementando.

Optimización de la hiperparametrización de modelos Machine Learning

Una vez seleccionado e implementado un algoritmo, es importante buscar la combinación de parámetros del modelo que permita maximizar el accuraccy el mismo, para que la efectividad del modelo sea lo más elevada posible.  Esta etapa es fundamental si se pretender obtener un modelo completamente optimizado y combinaría con la fase de Cross-Validation que comentaremos en entradas futuras.

#import libraries for pre-processing

>>>import
warnings

>>>warnings.simplefilter(action=’ignore’, category=FutureWarning)

>>>import pandas as pd

>>>from pandas.plotting import scatter_matrix

>>>import seaborn as sns

>>>import matplotlib.pyplot as plt

>>>%matplotlib inline

>>>import numpy as np

>>>from dateutil.parser import parse

>>>from datetime import datetime

>>>from scipy.stats import norm

# import all what you need for machine learning

>>>import sklearn

>>>from sklearn.model_selection import cross_val_predict

>>>from sklearn.model_selection import cross_val_score

>>>from sklearn.model_selection import cross_validate

>>>from sklearn.model_selection import train_test_split

>>>from sklearn.linear_model import LinearRegression

>>>from sklearn.ensemble import RandomForestRegressor

>>>from sklearn.tree import DecisionTreeRegressor

>>>from sklearn.model_selection import RandomizedSearchCV

>>>from sklearn.model_selection import GridSearchCV

>>>from sklearn.linear_model import LinearRegression

>>>from sklearn.preprocessing import RobustScaler

>>>from sklearn.model_selection import GridSearchCV
>>>param_grid = [
>>>{'n_estimators': [10, 25], 'max_features': [5, 10], 
>>> 'max_depth': [10, 50, None], 'bootstrap': [True, False]}
>>>]
>>>grid_search_forest = GridSearchCV(forest, param_grid, cv=10, >>>scoring='neg_mean_squared_error')
>>>grid_search_forest.fit(x_train, y_train)

Esta función permite obtener la combinación de parámetros óptima para el modelo de Machine learning que estamos aplicando (Fuente Kaggle)

Principios básicos sobre preparación de Datos para Data Science.

Antes de poder abordar la problemática de negocio planteada surgen una serie de necesidades derivadas la calidad de datos habituales en las compañías. La primera suele ser el porcentaje de nulos debido a que impide el uso de muchos algoritmos de Machine Learning. Este aspecto debe ser abordado de forma obligatoria. Otro punto importante en la existencia de variables categóricas donde, a través del uso de técnicas de codificación, podemos disponer de matrices de tipo numéricas que permiten la aplicación de los algoritmos necesarios para la resolución del problema de negocio. El número de observaciones es muy relevante e interesa que sea lo más elevado posible. El método de modelar y realizar predicciones sin sobreajuste, consiste en separar los datos para entrenemiento y, entrenar el modelo con los datos de entrenamiento para así encontrar la precisión de este con los datos etiquetados de prueba, donde podremos validar la calidad de la aproximación.

  • Nulos.

En este punto se pueden tomar las siguientes decisiones. La primera es eliminar la información de los registros que tengasn un determinado atributo nulo, pero, en este caso perderíamos información.

#R

>>>  final[complete.cases(final),]

#Python

>>> df.dropna(axis='columns')
 

Para no perder la información, se puede substituir lalos registros por un determinado valor, 0 o valor medio o cualquier criterio que permita conservar los registros e información total.

Por valor 0

#R

>>> df.m[is.na(df.m)] <- 0
 

#Python

>>>  DataFrame.fillna()

Por valor medio

#R

>>> sub2['income'].fillna((sub2['income'].mean()), inplace=True)

#Python

>>> for(i in 1:ncol(data)){
>>>   data[is.na(data[,i]), i] <- mean(data[,i], na.rm = TRUE)
>>> }
  • Categorias

Hay dos formas de codificar un campo categórico. El primer remplaza cada valor por un numero

#R

>>> library(data.table)
>>> library(mltools)
>>> customers_1h <- one_hot(as.data.table(customers))

#Python

>>> df['categorical']= pd.Categorical(df['categorical'])
  • Split/train

Esta técnica es la última que se aplica antes de aplicar el modelo de Machine Learning. Normalmente se separan 2/3 de la información para entrenamiento y el tercio restante en validar la información. Los acuraccy de los dos subconjunto de datos debe ser similar in order to avoid overfitting troubles.

#R

>>> dfs <- floor(0.75 * nrow(df))
>>> train <- mtcars[dfs, ]
>>> test <- mtcars[-dfs, ]

#Python

>>> from sklearn.model_selection import train_test_split
>>> xTrain, xTest, yTrain, yTest = train_test_split(x, y, test_size = >>> >>> 0.2, random_state = 0)

¿Es veraderamente necesatio apostar por los Datalakes?

Las empresas en la actuales están tomando conciencia del enorme valor que tiene el dato y su propio impacto en las decisiones de negocio. Efectivamente, antes de poder abordar cualquier análisis, ya sea avanzado o no, el primer paso que debemos afrontar es, ¿Dónde guardo el dato? Es obvio que los datos operacionales están en los sistemas transaccionales y se suelen explotar a través de las técnicas de business intelligence en los Data Mart y/o Datawarehouse. La tecnología principal está basada en bases de datos relacionales y los elementos analíticos convencionales. En este punto, el volumen de información que se genera crece de manera desorbitada y, en muchos casos, no está en forma estructurada. Logs, datos de redes sociales Iot y la propia telemetría que se va generando, plantean dificultades en el contexto de la base de datos relaciones. Por ese motivo han surgido nuevas tecnologías de almacenamiento a un coste razonable y con escalabilidad completa dentro de los proveedores de Cloud.

De alguna forma, podemos asemejar un dato estructurado con una estantería de biblioteca donde se colocan los libros con unas determinadas reglas de manera ordenada. Un Data lake, sería mas parecido a un trastero donde los datos entran y las restricciones de las bases de datos relacionales desaparecerán. En este sentido, se pierden constrains, control de tipos de datos y normalmente son datos que no suelen estar gobernados. Además, los datos no deben almacenarse con estructura fija y, por tanto, simplifica el proceso de ETL.  Sin embargo, los procesos analíticos pueden arrojar resultado de gran valor y por tanto dichos datos, deben incluirse en el catálogo de datos. Hay que destacar que otra de las ventajas del datalake es lo bien integrado que están con los entornos data analytics, y también con los sistemas de macroporcesamiento de la información o big data. El lago es un elemento de gran relevancia en arquitecturas lambda y Kappa como comentaré en entradas posteriores.

Las principales ventajas son:

  • Almacenamiento ilimitado.
  • Soporta dato estructurado y no estructurado
  • Permite gran flexibilidad.
  • Integra con herramientas de advanced analytics con Jupyter Notebook
  • Soporta almacenamiento serializados y preparados (avro, orc, parquet) para la realización de Map Reduce de los clusters de Spark y Hadoop.

Un datalake no reemplaza a los sistemas informacionales analíticos convencionales. Los complementa e incrementa las posibilidades analíticas de las compañías que lo adoptan y, por tanto, pude dar respuesta a las necesidades analíticas más comprometidas desde el punto de vista del volumen de datos y de la falta de estructura de estos. Por ese motivo considero que los lagos de datos son una perfecta solución para complementar y potenciar los pocesos analíticos de la compañía que facilitan la toma de decisiones.

Machine Learning project steps

  1. Data Discovery. Esta fase es fundamentes y no se le da la importancia que requieren en muchos proyectos de Machine learning. La observación de la calidad del dato es un fantástico punto de inicio. Viaulaizar un perfilado puede ser muy relevante en etapas posteriores y, por tanto, de esta fase deben destacarse los registros a modificar en el siguiente proceso.
  2. Data preparation: Esta etapa normalmente representa el 70 % del tiempo en proyectos de este tipo. Es importante remarcar que esta etapa es crítica e impacta al resto de proceso de análisis. E definitiva debemos enfocarnos en manipular nulos, normalizar las variables categóricas y prepara el data set sea modelado con la menos intervención posible durante la etapa de Modelling.
    1. NULL management : Es innegable que esta problemática puede ser abordada desde difierentes puntos de vistas. La aproximación más simplificada invia a eliminar los registros que tengan nulos en etiquetas y en atributos. Este hecho nos hace perder información y, por tanto, debe considerarse en especial en los que el volumen de información sea limitado. Otra escuela aboga por inferir el valor del campo en base a los valores medios o reemplazando por 0. Si el caso anterior se planteaba la perdida de información ahora estamos alterando los valores de los predictores y, por este motivo, afectamos al modelo. Esta es una de las soluciones más utilizadas.
    2. Category values manipulation: Un punto importante en los problemas de regresión, clasificación y Deep learing (Keras por ejemplo) debemos entrenar los modelo con campos enteros o numéricos. Por ello, en la fase de exploración debemos recogerlos para codificar los loiterales que podamos encontrar, siempre y cuando, los valores sean limitados. En los casos de texto libre es posible que la única solución fuer el suprimir dicho campo.
      1. One hot encoding: Este campo pivota la información de los literales categóricos. Como se puede comprobar, si el número de valores es muy elevado puede disparar el número de campos del dataframe y, por tanto, es un riesgo a tener en cuenta.
      2. Codificación: El cambio más natural consiste en asignar un valor entero a cada una de las categorías. Este es el método recomendado cuando el número de posibles valores fuera muy elevado.
    3. Traint/Test Split Los modelos de ML suelen tener el riesgo de ovefitting. Un método interesante para evitarlo, es reservar un porcentaje de registros para entrenar el modelo y probarlo con el conjunto de test. Si el accuraccy de train y test es similar difícilmente vayamos a experimentar overfitting. Este paso, por tanto, es de vital importancia.
    4. ML Modeling: Según la problemática objetivo y dependiendo de lo que queramos predecir, se selecciona el algoritmo a aplicar. Normalmente se crear el modelo y se aplica contra el conjunto de datos de enteramiento. Una vez aplicado y evaludado es posible predecir las etiquetas de cualquier elemento de datos de entrada.
    5. Hiperparametrización: na vez elegido el algoritmo es imperante buscar la combinación de parámetros que maximice el accuracy y minimice el error. Por tanto, se suele programas un grid de parámetros y se elige la combinación óptima.
    6. Cross Validation: En este caso, una vez entrenado el modelo de machine Learning, se crean diferentes subconjuntos de datos completamente etiquetados. Se debe verificar que el acurracy de los conjuntos son similares entre si y con el valor del training. Una vez validado, el modelo esta listo para ser validado.
    7. Evaluation: Validación de modelo completo.
    8. Go Live: Puesta en producción
Machine Learning project steps

Ciclo de vida en soluciones Machine Learning

Una de las claves del éxito de las aplicaciones de analítica avanzada es precisamente el ciclo de vida de la solución a la problemática planteada. La estrategia corporativa debe contemplar la incorporación de los agentes necesarios para acometer la iniciativa Data Analytics y, por tanto, debe existir una estrategia a alto nivel que impulse y comunique la necesidad y la importancia e impacto que estas técnicas pueden ejercer en el negocio.

Desde el punto de vista estratégico:

  • Identificar los Stakeholders: Definir los stakeholders dentro de las áreas de negocio que, junto con la figura del CDO pueden acotar el alcance y encontrar el requerimiento y posible solución que de respuesta a la problemática planteada.
  • Una vez creada la petición, el CDO debe validar junto con su equipo de desarrollo la viabilidad, tanto técnica como funcional y, confirmar si es posible la implementación de la solución.
  • Una vez confirmada es necesario crear KPI objetivos que permitan evaluar la mejora de la solución a la problemática actual.
  • El equipo de desarrollo junto al CDO debe crear el modelo que pueda sustentar y posibilitar dar respuesta a la solución original. Esta solución se puede potenciar a través del uso de metodología ágiles, e ir generando iteraciones con los stakeholders.
  • Una vez definido el modelo adecuado, se debe promocionar al entorno de pruebas para que, en fases posteriores, la solución pueda ser correspondientemente validada. Una vez validada se despegará en entornos de producción
  • Comunicación de resultados. Comunicar a negocio los puntos clave de la solución propuesta.

Para tener más detalle de los pasos necesarios a acometer desde el punto de vista Data analytics, se muestra un esquema del workflow que debe llevarse a cabo en este tipo de iniciativas.

Cada una de las tareas debe llevarse a cabo de manera secuencial

  • Business requirements: Entender las necesidades de negocio
  • Viability Check: Estudiar la viabilidad de la solución
  • Data Acquisition: Incorporar los datos necesarios al problema
  • Advanced Analysis Solution: Búsqueda de la solución
  • Data Governance: Incluir nuevos datos den catálogo
  • Solution Validation: Validar la solución
Diseña un sitio como este con WordPress.com
Comenzar