Today no one can deny the power of data and the benefits that understanding and analyzing it brings. Among other things, using data effectively lets us predict future behaviour or reduce the impact that a specific event may have. For this reason, the use of Artificial Intelligence is increasingly common across a range of business contexts. Even though each business is different, the theory behind these machine learning and deep learning techniques continues to advance and thanks to this, a world of possibilities opens up for us to adapt them to the needs of each client.
Herramienta de aprendizaje automático de Dataiku
Dataiku is a project that began in 2013 and has been named Leader in the Gartner 2021 Magic Quadrant for Data Science and Machine-Learning platforms for two consecutive years. It offers some interesting facilities for applying Machine Learning (ML) and Deep Learning (DL) algorithms to our projects through the ML interface tool.
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 has been growing and improving in a variety of ways and is now considered a valuable data science tool due to its friendly interface and ease of customisation. Among the many available options for personalizing the data flow, in this article, we will focus on the Machine Learning aspect.
There are 2 ways to implement custom algorithms in Dataiku’s projects, via notebooks (Jupiter notebook and R Markdown) or by adding an algorithm script to the ML tool.
While using notebooks directly can be quicker, integrating algorithms within the Machine Learning tool lets us use the visual ML tool capabilities like feature preprocessing and model interpretability.
Focusing on the last option, algorithms can be imported from the project library, the global instance library, a library imported in a code environment or a plugin. The algorithm must be scikit-learnt compatible - meaning that it must include a fit and predict method (for classifiers a class attribute and a predict probability are also needed). This level of customisation is part of what gives Dataiku the ability to cover such a broad spectrum of use cases.
Procesos avanzados
Another advantage of adding these algorithms via the Machine Learning tool is the possibility of using advanced methods to manage imbalanced data and calibrate the model’s probabilities.
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.
The two methods offered by Dataiku are isotonic regression and Platt scaling. While Platt scaling is simpler and most effective when the distortion in the predicted probabilities is sigmoid-shaped, isotonic regression presents more complexity, requires more data, can correct any monotonic distortion but it is more prone to overfitting. In the end, the correct choice of calibrator depends on the data structure.
Mejores prácticas
When dealing with machine learning models in Dataiku, there are a few guidelines that we recommend you keep in mind for optimal results.
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.