Saltar al contenido

El Testing y la Ciencia de Datos… Una relación inminentemente necesaria

La Ciencia de Datos y la Inteligencia Artificial son campos  que ganan cada día más terreno en innumerables ámbitos donde el hombre toma ventaja de ello,  concentrando así las  mayores y más grandes  inversiones en el mercado global. Negocios, e incluso gobiernos del mundo entero, que tienen como parte de su visión el crecimiento y conquista de nuevos mercados, han incluido  en su roadmap como tarea obligada,  objetivos claramente relacionados con la recolección,  manejo y aprovechamiento los  datos.

Aunque estos conceptos guardan una estrecha relación, dado que ambos dependen y trabajan en función de los  datos, es importante conocer la diferencia esencial   entre ellos, a fin de pondéralos a ambos en su justa medida:  La ciencia de datos va de capturar, análisis y obtención de información de grandes cantidades de datos, mientras que la inteligencia artificial implica proporcionar datos a las máquinas para capacitarlos.

Ahora bien, el impacto de estas tecnologías en la economía global , las considerables inversiones y apuestas en estos campos, y la implicación que conlleva el uso de las mismas sobre atributos de seguridad altamente sensibles, son razones suficientes y necesarias para que el testing en ciencia de datos se haga presente.

Seguramente, si has estado relacionado con el análisis de datos y machine learning (al menos teóricamente) habrás escuchado de una de las buenas prácticas para evaluar un modelo de aprendizaje es el “cross-validation (validación cruzada)”, es decir, procurar un segmento de la data como data de pruebas, con la cual se prueba el buen funcionamiento del modelo y se evalúa que tan bien funciona de acuerdo a un criterio o métrica previamente definida.

Tal como se describe en el apartado anterior, no es nada alejado de lo que hemos concebido hasta el momento como parte de un proceso de Pruebas de Calidad de Software. Pues si, en el campo de la ciencia de datos y la Inteligencia artificial las Pruebas de Calidad de Datos están presentes.

Recientemente tuve la oportunidad de participar en un proyecto de ciencia de datos para una entidad gubernamental (lo cual da fe de que las inversiones en éste campo siguen en aumento), lo que ha permitido poner en práctica toda ésta teoría y comprobar la capacidad y el increíble poder que tienen éstas tecnologías para la predicción de patrones y comportamientos  dado un conjunto de datos.

Así también pude evidenciar que el aseguramiento de la  calidad de un set de datos desde etapas tempranas, invocando al “shift left testing” es garantía de resultados limpios y fiables  para un modelo de aprendizaje.

En función de lo anterior, te presento algunos lineamientos que desde mi experiencia, y la buena teoría son aplicables a las pruebas de calidad de datos en la ciencia de datos:

1.-En primer lugar, entrevistar a las partes interesadas del desarrollo empresarial y analítico para comprender el problema y el contexto del negocio.

2.-Experimentar y recrear los procesos existentes para alcanzar un mayor nivel de comprensión del problema ganado con el punto anterior.

3.-Asegurar que el proceso de extracción de la data  (ETL) esté limpio de obstáculos que puedan crear brechas entre la data original y a data extraída. Esto está relacionado con las pruebas y el acondicionamiento de las herramientas de extracción de datos.

4.-Los cambios simples en los datos pueden afectar negativamente el rendimiento de los modelos analíticos. Separar un conjunto de datos de pruebas  conocido ayudará a validar el flujo de datos, la aplicación y los cambios de visualización de datos, evitando variaciones en las pruebas a causa de cambios en los datos. Con un conjunto de datos de pruebas, se  puede definir pruebas de rendimiento y funcionales para validar y comparar los resultados.

5.-Implementar modelos en tecnologías alternativas para comparar resultados: lenguajes, motores de análisis.

6.-Considerar en el plan el involucramiento de expertos en la materia (del negocio)  para que utilicen visualizaciones de datos y brinden sus comentarios. Este último paso es necesario para determinar si las visualizaciones son efectivas para explorar los datos y responder preguntas: ¿Es la visualización fácil de usar? ¿Están disponibles las dimensiones correctas para profundizar en los datos? ¿La visualización ayuda con éxito a responder las preguntas para las que fue diseñada?

7.-Sugerir mejoras y recomendar una posible investigación adicional, es decir, siempre como agentes y promotores de la calidad, es tarea obligada agregar valor.

Es importante destacar que un equipo de pruebas de análisis de datos requiere nociones en modelado, algoritmos de análisis, computación numérica,  lenguajes para análisis y ciencia de datos.

Así también, resulta útil conocer las dimensiones de la  calidad inherentes de los datos, previstas en buenas prácticas y estándares como ISO 25012, las cuales  debemos considerar en todo proyecto que involucre la utilización de datos, tales como : exactitud, completitud, consistencia, credibilidad y actualidad.

En este sentido uno, una de las misiones principales de un equipo de pruebas en la ciencia de datos es prevenir y erradicar dos de los errores más conocidos en este campo. el overfitting (sobreajuste) y el underfitting (subajuste).

Con el underfitting (subajuste) lo que ocurre es que el modelo sólo se ajusta a aprender los casos particulares que le enseñamos y será incapaz de reconocer nuevos datos de entrada. El conjunto de datos de entrada muchas veces introduce muestras atípicas (o anómalas) o con ruido en alguna de sus dimensiones, o muestras que pueden no ser del todo representativas.

Por el contrario, con el overfitting (sobreajuste) el algoritmo considera como válidos sólo los datos idénticos a los de nuestro conjunto de entrenamiento, siendo incapaz de distinguir entradas buenas como fiables si se salen un poco de los rangos ya preestablecidos.

A fin de evitar que estos errores afecten lo menos posible al modelo, como equipo de pruebas debemos procurar:
1.- Cantidad suficiente de muestras.
2.- Clases variadas y equilibradas en cantidad, aplicando por ejemplo métodos de penalización.
3.- Como mencioné en el apartado anterior, siempre, subdividir nuestro conjunto de datos y mantener una porción del mismo para probar el modelo.

Finalmente, concluyo con esta experiencia que el testing siempre será un proceso que suma valor a los productos, y en el caso de la ciencia de datos, es la dupla perfecta para generar resultados extraordinarios disminuyendo porcentaje de errores y por ende el costo de nuestros modelos.

Con 💙

María Gabriela Tenreiro 💻

¿Qué piensas?