Salta al contenido principal

Mejorando el workflow

Sitio: STRATIO Training & Certification
Curso: Práctica Generative AI Data Processing (14.6)
Libro: Mejorando el workflow
Imprimido por: Invitado
Día: jueves, 17 de julio de 2025, 23:49

1. Primer uso de DataWrangler

Primer uso de DataWrangler

Lo primero que vamos a hacer es sustituir la transformación que teníamos para renombrar la columna Id a Id_external por un DataWrangler:

Para ello añadimos una transformación DataWrangler que se encuentra en el apartado "Others"

Una vez hecho estos conectamos nuestra caja por la izquierda a la entrada de ClientExternalInfo y a la derecha a JoinDB. Podemos eliminar ya el paso de renombrado de columna que usábamos anteriormente. También podemos renombrar nuestra nueva transformación a "RenameColum" quedándonos así:

En estos cambios es normal que el Debug nos empiece a dar errores pues no corresponden los nombres de los campos, transformaciones, etc. Entramos a nuestra configuración del nuevo paso de DataWrangler y seleccionamos la columna ID:

Al hacer eso si desplegamos el menú lateral derecho de acciones nos aparecerán todas las transformaciones que podemos hacer sobre esa columna:

La que nos interesa es RenameColumn, hacemos click sobre ella y nos aparece un formulario que rellenamos:

Al aplicarlo veremos en la tabla de datos como ha cambiado el nombre de nuestra columna:

Recordar que si nos equivocamos siempre podemos eliminar la transformación o editarla en el menú lateral derecho de histórico:

Finalmente nos queda reconfigurar la transformación JoinDB para indicarle el nombre de nuestro nuevo paso que hemos conectado a dicha transformación:

Una vez hecho esto nuestro Debug debería dejar de generar errores.

2. Simplificando los filtros y la adición de columnas

Simplificando los filtros y la adición de columnas

En esta parte vamos a simplificar la parte donde aplicamos filtros y añadimos las columnas con los valores "verde, rojo, amarillo":

Podemos eliminar los pasos de Filter y AddColumns antes de proceder a añadir las nuevas cajas o eliminarlas a posteriori como prefiramos.

La idea es sustituir cada conjunto de transformación Filter+AddColumn por un solo paso de tipo Datawrangler.

Para ello añadimos un nuevo paso DataWrangler y lo conectamos por la izquierda con el paso JoinDB del que llegaban los datos al primer filtro y por la derecha al paso Union. Le ponemos a esta caja el nombre de RiesgoRojo.

En este paso de transformación vamos a añadir primero el filtro y luego la adición de la columna que incluye la etiqueta "Rojo". En este caso queremos aplicar estas dos transformaciones al conjunto completo de datos y por lo tanto no seleccionamos ninguna columna. DataWrangler nos permite realizar algunas acciones sin realizar esta selección entre ellas Filter (el icono del embudo en la parte superior) y AddColumn (el icono +):

Primero añadimos el filtro apareciéndonos un formulario para configurarlo:

Como vemos tenemos que incluir una condición para el filtro. en nuestro caso la condición para los de la etiqueta "Rojo" era:

LegalCase = 1 OR PoliceReport = 1

Por lo tanto la usamos en nuestra configuración:

Al aplicarla ya podemos ver en nuestra tabla de datos como se han seleccionado aquellas filas que cumplen dicha condición (tendremos que buscar las columnas desplazándonos en la tabla a la derecha):

El siguiente paso es añadir la columna con la etiqueta "Rojo", para ello hacemos click en el icono + para añadir una columna apareciéndonos de nuevo un formulario a rellenar:

Como vemos nos pide una Expresión (en nuestro caso el valor de la columna 'rojo') y un alias (el nombre de la columna en nuestro caso Riesgo):

Una vez aplicamos podremos ver en la tabla como se ha añadido la columna (a la derecha del todo de la tabla):

recordar que en el menu lateral derecho podemos borrar y editar todas estas transformaciones que añadimos:

Lo siguiente que deberemos hacer es añadir otras dos transformaciones DataWrangler para configurarlas de forma similar para la etiqueta Amarillo y la Etiqueta Verde. Para facilitar las condiciones reescritas para cada caso serían:

Amarillo: 

(LegalCase=0 AND PoliceReport=0) AND (ContactAudit = 1 OR FraudSuspicion = 1)

(LegalCase=0 AND PoliceReport=0 AND ContactAudit = 0 AND FraudSuspicion = 0) AND Credit_amount <= 4000

Una vez hecho esto deberíamos tener la estructura de la siguiente manera:

Y con todo funcionando correctamente como antes de realizar todos estos cambios.

3. Uso de DataAnalysis

Uso de DataAnalysis

En esta ocasión en vez de utilizar Discovery para ver el informe de datos vamos a utilizar una transformación llamada DataAnalysis que se encuentra en el apartado de AI:

Añadimos dicha transformación y la conectamos a la Union de los datos de todas las cajas de DataWrangler que hicimos en el paso anterior. Para ver los datos finales de este análisis conectamos nuestro paso a una salida de tipo Crossdata para almacenarlos en nuestro virtualizador quedándonos una estructura de la siguiente manera:

Procedemos a configurar nuestra transformación DataAnalysis. Para ello indicamos que queremos utilizar la columna Riesgo como objeto de nuestro análisis y que el tipo de análisis es "ML exploratory analysis" dejando todo el resto de parámetros por defecto:

Recordar configurar el apartado Writer para poner nombre a la tabla donde queremos almacenar los datos del análisis (por ejemplo analisis_datos_USERNAME). Si abrimos la consola de debug:

Seleccionando la transformación DataAnalysis vemos los resultados de este paso aplicados a una muestra de los datos:

Finalmente ejecutamos nuestro workflow y mediante el catálogo de Rocket en nuestro proyecto realizamos una consulta para ver el resultado final:

SELECT * FROM default.analisis_datos_USERNAME

Veremos en el resultado unos datos del tipo:

{"frequencies":[X,Y,Z],"values":["amarillo","rojo","verde"]}

Comparamos los valores X, Y y Z obtenidos aquí con los mostrados en el gráfico de Discovery del punto anterior que realizamos en esta práctica e incluimos en la documentación a entregar los valores obtenidos de X,Y y Z.