""

Algoritmos personalizados y procesos avanzados con Dataiku

Hoy nadie puede negar el poder de los datos y los beneficios que trae su comprensión y análisis. Entre otras cosas, el uso efectivo de los datos nos permite predecir el comportamiento futuro o reducir el impacto que pueda tener un evento específico. Por esta razón, el uso de la Inteligencia Artificial es cada vez más común en una gran variedad de contextos comerciales. Aunque cada negocio es diferente, la teoría detrás de estas técnicas de machine learning y deep learning sigue avanzando y gracias a ello se nos abre un mundo de posibilidades para adaptarlas a las necesidades de cada cliente.

Herramienta de aprendizaje automático de Dataiku 

Dataiku es un proyecto que comenzó en 2013 y ha sido nombrado Líder en la plataforma Gartner 2021 Magic Quadrant for Data Science and Machine-Learning por dos años consecutivos. Ofrece algunas facilidades interesantes para aplicar algoritmos de Machine Learning (ML) Deep Learning (DL) a nuestros proyectos a través de la herramienta de interfaz ML.

Esta herramienta incluye algoritmos listos para entrenar de Scikit-Learn, Tensorflow y XGBoost que también permiten cierto grado de personalización. Las características incluyen la modificación de los parámetros del modelo, los hiperparámetros y la métrica de evaluación, además de ofrecer automáticamente, después de entrenar un modelo, un análisis de dependencias parciales y subpoblaciones.  

Si bien la herramienta ML es una forma recomendada de aplicar algoritmos preinstalados en la plataforma de manera rápida y sencilla, muchas veces es necesario incorporar algoritmos más complejos, ya sea que no estén instalados o que hayan sido diseñados específicamente para las necesidades del proyecto. Aquí es donde suelen aparecer los algoritmos personalizados. 

Algoritmos personalizados 

Dataiku ha estado creciendo y mejorando en una variedad de formas y ahora se considera una valiosa herramienta de ciencia de datos debido a su interfaz amigable y su facilidad de personalización. Entre las muchas opciones disponibles para personalizar el flujo de datos, en este artículo nos centraremos en el aspecto de Machine Learning aspect.

Hay 2 formas de implementar algoritmos personalizados en los proyectos de Dataiku, a través de cuadernos (Jupiter notebook y R Markdown) o agregando un script con el algoritmo a la herramienta ML.

Si bien el uso directo de notebooks puede ser más rápido, la integración de algoritmos dentro de la herramienta Machine Learning nos permite usar las capacidades de la herramienta visual ML, como el preprocesamiento de características y la interpretabilidad del modelo.

Centrándonos en la última opción, los algoritmos se pueden importar desde la biblioteca del proyecto, la biblioteca de instancia global, una biblioteca importada en un entorno de código o un plugin. El algoritmo debe ser compatible con scikit-learnt, lo que significa que debe incluir un método de ajuste y predicción (para los clasificadores, también se necesita un atributo de clase y una probabilidad de predicción). Este nivel de personalización es parte de lo que le da a Dataiku la capacidad de cubrir un espectro tan amplio de casos de uso.

Procesos avanzados 

Otra ventaja de agregar estos algoritmos a través de la herramienta Machine Learning es la posibilidad de utilizar métodos avanzados para administrar datos no balanceados y calibrar las probabilidades del modelo.

Estrategia de ponderación: 

En la mayoría de los casos, los datos de los clientes no están balanceados, lo que sesgará la predicción de nuestro modelo hacia las clases comunes. Para evitar eso, la herramienta ML tiene 4 métodos integrados: 

  • Sin ponderación: cada fila del conjunto de datos se considera por igual, por lo que suponemos que los datos están balanceados. 

  • Pesos de clase: los pesos se definen como inversamente proporcionales a la cardinalidad de su clase de destino. 

  • Ponderaciones de muestra: una columna positiva del conjunto de datos define las ponderaciones de fila. 

  • Pesos de clase y de muestra: en este método, el producto del peso de clase y el peso de muestra se utiliza como peso de fila. 

Calibración de probabilidad: 

En otros casos, dependiendo del problema específico, se necesitan clasificadores probabilísticos donde no solo se devuelva la etiqueta de clase más probable, sino también la probabilidad de la misma. En este escenario, el proceso de calibración de probabilidad es realmente útil para obtener la verdadera probabilidad de un evento ajustando las probabilidades previstas a las frecuencias de clase reales.  

Los dos métodos que ofrece Dataiku son la regresión isotónica y el escalado de Platt. Mientras que el escalado de Platt es más simple y efectivo cuando la distorsión en las probabilidades predichas tiene forma sigmoidea, la regresión isotónica presenta más complejidad, requiere más datos y puede corregir cualquier distorsión monótona pero es más propensa al sobreajuste. Al final, la elección correcta del calibrador depende de la estructura de datos.

Mejores prácticas 

Cuando se trata de modelos de aprendizaje automático en Dataiku , hay algunas pautas que le recomendamos que tenga en cuenta para obtener resultados óptimos.

  • Es muy recomendable crear entornos de código específicos para cada proyecto para abordar el problema de administrar dependencias y versiones de bibliotecas de software. 

  • También es importante, como un buen paso de preprocesamiento, comprender los datos antes de aplicar el modelo para elegir la solución que mejor se adapte al problema, y ​​también es posible agregar código personalizado en Python para ese proceso. 

  • Es recomendable definir las clases y funciones de Python en la biblioteca del proyecto Python e instanciarlas en las ventanas de código. 

  • También es recomendable definir algoritmos personalizados en la biblioteca de Python del proyecto o en la biblioteca de Python global en lugar de en las ventanas de código del modelo. 

Más información 

Si bien hemos abordado los aspectos más destacados del uso de Dataiku para facilitar el aprendizaje automático avanzado y la integración del aprendizaje profundo, hay muchos más detalles por descubrir que quedan fuera del alcance de este artículo. Si tiene más preguntas o desea obtener más información sobre el uso efectivo de Dataiku en su organización, comuníquese con nosotros para programar un horario conveniente.

EspañolEnglish