¡Participa de la Maratón Behind the Code, la competencia de programación más desafiante! Inscríbete aqui

Visualización de datos con Data Refinery

Data Refinery es un rol de IBM Watson y viene con IBM Watson Studio en la IBM Cloud pública y con IBM Watson Knowledge Catalog ejecutándose en las instalaciones usando IBM Cloud Pak for Data. Proporcione una herramienta de preparación de datos de autoservicio a los científicos de datos, ingenieros de datos y analistas de negocios. Con él, puede transformar rápidamente grandes cantidades de datos brutos en información de calidad consumible y lista para la analítica. Data Refinery facilita la exploración, la preparación y la entrega de datos en los que las personas de su organización pueden confiar.

Objetivos de aprendizaje

En este tutorial, aprenderá a:

1.Cargar datos en la plataforma IBM Cloud Pak for Data para su uso con Data Refinery

2.Transformar un conjunto de datos de muestra, ya sea introduciendo el código R de la línea de comando o seleccionando las operaciones del menú

3.Trazar un perfil de los datos

4.Visualizar los datos con tablas y gráficos

Requisitos previos

Tiempo estimado

Completar este tutorial debería llevar unos 45 minutos.

1. Datos de carga

Cargar los datos del archivo german_credit_data.csv en Data Refinery

Cargar los assets a utilizar desde el dashboard

  • Haga clic en el archivo german_credit_data.csv recién añadido.

Confirmar el nombre de los datos a utilizar

  • Debería poder ver los datos como se muestra a continuación. Haga clic en Refine.

 Refinar los datos seleccionados previamente

  • Data Refinery se lanzará y abrirá la pestaña Data. También mostrará el panel de información con detalles del flujo de Data Refinery y dónde se colocará la salida del flujo. Continúe y haga clic en la X a la derecha del panel Information para cerrarlo.

Menú de previsualización de los datos refinados

2. Ajustar los datos

Empezaremos en la pestaña Data, donde se manejan, moldean y ajustan los datos. A medida que va ajustando sus datos, IBM Data Refinery realiza un seguimiento de los pasos de su flujo de datos. Usted puede modificarlos e incluso seleccionar un paso para volver a un momento concreto de la transformación de sus datos.

Crear un flujo de transformación

  • Con Data Refinery, podemos transformar nuestros datos introduciendo directamente las operaciones en sintaxis de R o de forma interactiva seleccionando las operaciones en el menú. Por ejemplo, inicie escribiendo filter en la línea de comandos y observe que la lista de operaciones mostrada se actualizará. Haga clic en la operación filtrar.

 Abrir el menú de operaciones de los datos

  • En la línea de comandos se mostrará una sintaxis de filtrar operación. Al hacer clic en el nombre de la operación dentro de la línea de comandos, se ofrecen sugerencias sobre la sintaxis y el uso del comando. Por ejemplo, para filtrar los clientes que han pagado créditos hasta la fecha, construya la expresión que se muestra a continuación. Para inactivar el filtrar, usted Aplica la expresión.
filter(`CreditHistory` == 'credits_paid_to_date')
  • Podemos eliminar este filtrado personalizado haciendo clic en el ícono de la papelera en el paso Custom code de nuestro flujo de trabajo de datos.

 Eliminar el código personalizado del menú

  • Utilizaremos la interfaz de usuario para explorar y transformar los datos. Haga clic en el botón +Operation.

 Agregar una nueva operación desde el dashboard

  • Utilicemos la operación Filter para verificar algunos valores. Haga clic en Filter en el panel izquierdo.

 Seleccionar la opción “Filtro” desde el menú

  • Queremos asegurarnos de que no hay valores vacíos en la columna StreetAddress. Seleccione la columna StreetAddress de la lista desplegable Column, seleccione Is empty de la lista desplegable Operator y luego haga clic en el botón Apply.

 Aplicar las condiciones del nuevo filtro creado

Nota: Si hay registros en los que la columna seleccionada está vacía, se mostrarán después de hacer clic en el botón aplicar. Si no hay registros para este filtrar, significa que las filas que se están muestreando no tienen ningún valor vacío para la columna seleccionada.

  • Ahora, haga clic en la flecha «regresar» en sentido contrario a las manecillas del reloj para eliminar el filtro. Alternativamente, también podemos eliminar el filtro haciendo clic en el ícono de la papelera para el paso de Filtro en el panel Steps a la derecha.

 Volver atrás en el menú y eliminar el filtro creado previamente

  • Podemos eliminar estos registros con valores vacíos. Vuelva a hacer clic en +Operation y esta vez seleccione la operación Remove empty rows. Seleccione la columna StreetAddress, luego haga clic en el botón Next y finalmente en el botón Apply.

 Seleccionar una columna desde el panel

  • Digamos que hemos decidido que hay columnas que no queremos dejar en nuestro conjunto de datos (tal vez porque podrían no ser características útiles en nuestro modelo de machine learning, o porque no queremos hacer que esos atributos de datos sean accesibles a otros, o cualquier otra razón). Eliminaremos las columnas FirstName, LastName, Email, StreetAddress, City, State, PostalCode.

  • Para cada columna que desee eliminar: haga clic en el botón +Operation, y luego seleccione la operación Remove. Haga clic en la opción Change column selection.

 Marcar el cambiar la selección de columnas desde el menú

  • En el menú desplegable Select, elija una de las columnas a eliminar (por ejemplo FirstName). Haga clic en el botón Next y luego en el botón Apply. Las columnas serán eliminadas. Repita la operación para cada una de las columnas anteriores.

  • En este punto, tiene un flujo de transformación de datos con 8 pasos. Como vimos en la sección anterior, podemos realizar el seguimiento de cada uno de los pasos e incluso podemos deshacer (o rehacer) una acción utilizando las flechas circulares. Para ver los pasos del flujo de datos que ha realizado, haga clic en el botón Steps. Se mostrarán las operaciones que ha realizado sobre los datos.

 Panel izquierdo de información

  • Usted puede modificar estos pasos en tiempo real y guardarlos para su uso futuro.

Programar trabajos

Data Refinery le permite ejecutar trabajos a horas programadas y guardar el resultado. De este modo, podrá perfeccionar periódicamente los nuevos datos a medida que se vayan actualizando.

  • Haga clic en el ícono «jobs» y luego en la opción Save and create job del menú.  Guardar la nueva operación creada

  • Asigne al trabajo un nombre y una descripción opcional y, a continuación, haga clic en el botón Next.

 Definir los detalles de la operación desde su panel

  • El trabajo configurará una entrada y salida de datos activos predeterminadas, así como el tiempo de ejecución del entorno. Haga clic en el botón Next.

 Seguir adelante con la confirmación de los detalles de la nueva operación

  • Podemos configurar el trabajo para que se ejecute de acuerdo a una planificación. Por ahora, deje la planificación desactivada y haga clic en el botón Next.

 Continuar con la confirmación de los detalles de la nueva operación

  • Haga clic en el botón Create and Run para guardar y ejecutar este trabajo.

 Confirmar la creación de la nueva operación

  • Este flujo de ajustes se guardará en su proyecto en la sección Data Refinery flows de la página de visión general del proyecto. Desde esa sección puede volver a visitar el flujo para editar los pasos o incluso ver cualquier trabajo de ejecución que haya ejecutado. Por ahora, pasaremos a explorar nuestros datos.

3. Datos del perfil

  • De vuelta en el nivel superior de la vista de ajuste de datos, haga clic en la pestaña Profile para que aparezca una vista de varias estadísticas e histogramas para los atributos de sus datos.

 Visualizar los datos en gráficas horizontales

  • Una vez cargado el perfil de datos, se puede obtener una visión de los datos a partir de las vistas y estadísticas:
  • La edad media de los solicitantes es de 36 años, y la mayoría tiene menos de 49 años.
  • Aproximadamente el mismo número de personas tenían credits_paid_to_date como prior_payments_delayed. Pocos tenían no_credits.
  • La mediana fue de 3 mil años para la duración en la residencia actual. El rango fue de 1 a 6 años.

4. Visualizar datos

Hagamos una exploración visual de nuestros datos mediante tablas y gráficos. Tenga en cuenta que se trata de una fase exploratoria y que estamos buscando información en nuestros datos. Podemos lograr esto en Data Refinery de forma interactiva sin necesidad de codificar.

  • Elija la pestaña Visualizations para que aparezca la página en la que puede seleccionar las columnas que desea visualizar. Seleccione LoanAmount del menú desplegable «Columns to visualize» como la primera columna y haga clic en Add another column para añadir otra columna. A continuación añada LoanDuration y haga clic en el botón Visualize data. El sistema elegirá un gráfico sugerido para usted basándose en sus datos y mostrará más tipos de gráficos sugeridos en la parte superior.

 Seleccionar las columnas a visualizar

  • Recuerde que lo que más nos interesa es saber cómo afectan estas características a un préstamo que está en riesgo. Así que vamos a añadir el Risk como un color en el principal de nuestro gráfico de dispersión actual. Eso debería ayudarnos a ver visualmente si hay algo de interés aquí. En el panel de la izquierda, haga clic en el menú desplegable Color Map y seleccione Risk. Además, para ver los datos completos, arrastre el lado derecho del selector de datos en la parte inferior hasta la derecha, para exhibir todos los datos dentro de su gráfico.

 Ejemplo de visualización de datos en gráfica de puntos

  • Advertimos que hay más azul (riesgo) en este gráfico hacia la parte superior derecha que en la parte inferior izquierda. Esto es un buen comienzo ya que muestra que probablemente hay una relación entre el riesgo de un préstamo y su duración y cantidad. Parece que cuanto mayor es el importe y la duración, más arriesgado es el préstamo. Interesante, vamos a profundizar en cómo la duración del préstamo podría influir en el riesgo de un préstamo.

Nota: Los colores utilizados en su visualización pueden ser diferentes. Asegúrese de ver la leyenda del gráfico para aclararlo

  • Vamos a trazar un histograma de la LoanDuration para ver si podemos advertir algo. Primero, seleccione Histogram de Chart Type.

  • A la izquierda, seleccione LoanDuration para el ‘eje X’, seleccione Risk en la sección ‘Split By’, verifique la opción Stacked, desmarque la opción Show kde curve, desmarque la opción Show distribution curve. Debería ver un gráfico parecido a la siguiente imagen.

 Ejemplo de visualización de datos en gráficas verticales

  • Parece que cuanto más larga es la duración, mayor es la barra azul (recuento de préstamos de riesgo) y menor es la barra azul oscuro (recuento de préstamos de no riesgo). Eso indica que los préstamos de mayor duración son, en general, más arriesgados. Sin embargo, necesitamos más información.

  • A continuación, exploramos si existe alguna idea en cuanto al riesgo de un préstamo basado en su duración cuando se desglosa por la finalidad del préstamo. Para ello, vamos a crear un gráfico de Mapa de Calor.

  • En la parte principal de la página, en la sección Chart Type, abra las flechas de la derecha, seleccionando Heat Map.

 Menú de selección de tipos de visualización posibles

  • A continuación, seleccione Risk en la sección de columnas y LoanPurpose para la sección Row. Además, para ver los efectos de la duración del préstamo, seleccione Mean en la sección de resumen, y seleccione LoanDuration en la sección Value.

 Ejemplo de visualización de datos en una gráfica de temperatura

  • Usted puede ver ahora que los préstamos menos arriesgados son los que se contratan para la compra de un coche nuevo y tienen una duración media de 10 años. A la izquierda de esa celda vemos que los préstamos contratados para el mismo fin que tienen una media de 15 años de duración parecen ser más arriesgados. Por tanto, se podría concluir que cuanto más largo sea el plazo del préstamo, más probable es que sea arriesgado. Por el contrario, podemos ver que tanto los préstamos arriesgados como los no arriesgados para la categoría otro parecen tener la misma longitud media de plazo, por lo que se podría concluir que hay poca, o ninguna, relación entre la longitud del préstamo y su riesgo para los préstamos de tipo otro.

  • En general, para cada fila, cuanto mayor sea la diferencia de color entre la columna derecha y la izquierda, más probable es que la duración del préstamo desempeñe un papel en el riesgo de la categoría del préstamo.

  • Ahora vamos a ver cómo personalizar nuestro gráfico. En el panel Actions, note que puede desempeñar tareas como Start over, Download chart details, Download chart image o configurar Global visualization preferences (Nota: pase por encima de los íconos para ver sus nombres). Haga clic en la flecha descendente junto a Action. A continuación, haga clic en la opción Global visualization preferences del menú.

 Acceder a las preferencias de visualización globales

  • Vemos que podemos hacer cosas en Global visualization preferences para Titles, Tools, Theme y Notifications. Haga clic en la pestaña Theme y actualice la combinación de colores a Dark. Luego haga clic en el botón Apply, ahora los colores de todos nuestros gráficos reflejarán esto. Pruebe varios temas y encuentre uno que le guste.

 Seleccionar y aplicar la configuración de visualización global

Conclusión

Hemos visto algunas de las capacidades de Data Refinery. Hemos visto cómo podemos transformar los datos utilizando R código, así como utilizar varias operaciones sobre las columnas como cambiar el tipo de datos, eliminar las filas vacías o borrar la columna por completo. A continuación vimos que todos los pasos de nuestro Flujo de Datos están registrados, por lo que podemos eliminar pasos, repetirlos o editar un paso individual. Hemos podido perfilar rápidamente los datos para ver histogramas y estadísticas para cada columna. Y por último, creamos visualizaciones más profundas, creando un gráfico de dispersión, un histograma y un mapa de calor para explorar la relación entre el riesgo de un préstamo y su duración, y su finalidad.