Analizar los datos con portátiles

Este tutorial se centra en cómo utilizar los equipos portátiles Jupyter, creados dentro de Data Science Workspace, para acceder, explorar y visualizar sus datos. Al final de este tutorial, debe comprender algunas de las funciones que ofrece Jupyter Notebooks para comprender mejor sus datos.

Se introducen los siguientes conceptos:

  • JupyterLab: JupyterLab es la interfaz basada en web de próxima generación para Project Jupyter y está estrechamente integrada en Adobe Experience Platform.
  • Lotes: los conjuntos de datos están formados por lotes. Un lote es un conjunto de datos recopilados durante un período de tiempo y procesados juntos como una sola unidad. Se crean nuevos lotes cuando se agregan datos a un conjunto de datos.
  • SDK de acceso a datos (obsoleto): El SDK de acceso a datos ya no se utiliza. Utilice la guía Platform SDK.

Explorar blocs de notas en Data Science Workspace

En esta sección, se exploran los datos que anteriormente se incorporaban al esquema de ventas minoristas.

Data Science Workspace permite a los usuarios crear Jupyter Notebooks a través de la plataforma JupyterLab, donde pueden crear y editar flujos de trabajo de aprendizaje automático. JupyterLab es una herramienta de colaboración servidor-cliente que permite a los usuarios editar documentos del bloc de notas a través de un explorador web. Estos blocs de notas pueden contener tanto código ejecutable como elementos de texto enriquecido. Para nuestros fines, utilizaremos Markdown para la descripción del análisis y el código ejecutable Python para realizar la exploración y el análisis de datos.

Elija el espacio de trabajo

Al lanzar JupyterLab, se nos presenta una interfaz basada en web para Jupyter Notebooks. Dependiendo del tipo de cuaderno que escojamos, se iniciará un núcleo correspondiente.

Al comparar qué entorno utilizar, debemos tener en cuenta las limitaciones de cada servicio. Por ejemplo, si utilizamos la biblioteca pandas con Python como usuario normal, el límite de RAM es de 2 GB. Incluso como usuario de energía, estaríamos limitados a 20 GB de RAM. Si se trata de cálculos más grandes, tendría sentido utilizar Spark, que ofrece 1,5 TB que se comparte con todas las instancias del bloc de notas.

De forma predeterminada, la fórmula Tensorflow funciona en un clúster de GPU y Python se ejecuta dentro de un clúster de CPU.

Crear un bloc de notas nuevo

En la interfaz de usuario de Adobe Experience Platform, haga clic en la ficha Ciencia de datos del menú superior para ir a Espacio de trabajo de ciencia de datos. Desde esta página, haga clic en la pestaña JupyterLab que abrirá el lanzador JupyterLab. Debería ver una página similar a esta.

En nuestro tutorial, utilizaremos Python 3 en Jupyter Notebook para mostrar cómo acceder y explorar los datos. En la página Lanzador, se proporcionan muestras de portátiles. Utilizaremos la fórmula Venta minorista para Python 3.

La fórmula de ventas minoristas es un ejemplo independiente que utiliza el mismo conjunto de datos de ventas minoristas para mostrar cómo se pueden explorar y visualizar los datos en Jupyter Notebook. Además, el cuaderno de notas va más allá con capacitación y verificación. Encontrará más información sobre este bloc de notas específico en este tutorial.

Acceso a datos

NOTA

El data_access_sdk_python está obsoleto y ya no se recomienda. Consulte el tutorial conversión del SDK de acceso a datos al SDK de plataforma para convertir el código. Los mismos pasos que se indican a continuación se siguen aplicando para este tutorial.

Accederemos a los datos internamente desde Adobe Experience Platform y a los datos externamente. Se utilizará la biblioteca data_access_sdk_python para acceder a datos internos como conjuntos de datos y esquemas XDM. Para los datos externos, utilizaremos la biblioteca pandas Python .

Datos externos

Con el bloc de notas Venta minorista abierto, busque el encabezado "Cargar datos". El siguiente código Python utiliza la estructura de datos DataFrame de pandas y la función read_csv() para leer el CSV alojado en Github en el DataFrame:

La estructura de datos DataFrame de Pandas es una estructura de datos etiquetada bidimensional. Para ver rápidamente las dimensiones de nuestros datos, podemos usar el df.shape. Esto devuelve un tuple que representa la dimensión del DataFrame:

Por último, podemos echar un vistazo a cómo se ven nuestros datos. Podemos utilizar df.head(n) para ver las primeras n filas del DataFrame:

Experience Platform datos

Ahora, pasaremos a acceder a los datos Experience Platform.

Por ID de conjunto de datos

Para esta sección, se utiliza el conjunto de datos de ventas minoristas, que es el mismo conjunto de datos utilizado en el bloc de notas de muestra de ventas minoristas.

En Jupyter Notebook, puede acceder a sus datos desde la pestaña Data data tab de la izquierda. Al seleccionar la pestaña , se proporcionan dos carpetas. Seleccione la carpeta Datasets.

Ahora, en el directorio Conjuntos de datos, puede ver todos los conjuntos de datos introducidos. Tenga en cuenta que puede tardar un minuto en cargar todas las entradas si el directorio está muy poblado con conjuntos de datos.

Dado que el conjunto de datos es el mismo, queremos reemplazar los datos de carga de la sección anterior que utiliza datos externos. Seleccione el bloque de código en Load Data y presione dos veces la tecla 'd' del teclado. Asegúrese de que el foco esté en el bloque y no en el texto. Puede pulsar 'esc' para evitar el enfoque del texto antes de pulsar 'd' dos veces.

Ahora, podemos hacer clic con el botón derecho en el conjunto de datos Retail-Training-<your-alias> y seleccionar la opción "Explorar datos en el bloc de notas" en la lista desplegable. Aparecerá una entrada de código ejecutable en el bloc de notas.

SUGERENCIA

Consulte la guía Platform SDK para convertir el código.

from data_access_sdk_python.reader import DataSetReader
from datetime import date
reader = DataSetReader()
df = reader.load(data_set_id="xxxxxxxx", ims_org="xxxxxxxx@AdobeOrg")
df.head()

Si está trabajando en otros núcleos que no sean Python, consulte esta página para acceder a los datos en Adobe Experience Platform.

Si selecciona la celda ejecutable y pulsa el botón de reproducción en la barra de herramientas, se ejecutará el código ejecutable. El resultado para head() será una tabla con las claves de su conjunto de datos como columnas y las primeras n filas en el conjunto de datos. head() acepta un argumento integer para especificar cuántas líneas se van a generar. De forma predeterminada, es 5.

Si reinicia el núcleo y vuelve a ejecutar todas las celdas, debería obtener los mismos resultados que antes.

Exploración de los datos

Ahora que podemos acceder a sus datos, centrémonos en los propios datos mediante estadísticas y visualización. El conjunto de datos que estamos usando es un conjunto de datos minorista que proporciona información diversa sobre 45 almacenes diferentes en un día determinado. Algunas características para un date y store dado incluyen lo siguiente:

  • storeType
  • weeklySales
  • storeSize
  • temperature
  • regionalFuelPrice
  • markDown
  • cpi
  • unemployment
  • isHoliday

Resumen estadístico

Podemos aprovechar la biblioteca de paneles Python’s para obtener el tipo de datos de cada atributo. El resultado de la siguiente llamada nos proporcionará información sobre el número de entradas y el tipo de datos de cada una de las columnas:

df.info()

Esta información es útil, ya que conocer el tipo de datos de cada columna nos permitirá saber cómo tratar los datos.

Ahora veamos el resumen estadístico. Solo se mostrarán los tipos de datos numéricos, por lo que date, storeType y isHoliday no se generarán:

df.describe()

Con esto, podemos ver que hay 6435 instancias para cada característica. Además, se proporciona información estadística como media, desviación estándar (std), min, max e intercuarartiles. Esto nos proporciona información sobre la desviación de los datos. En la siguiente sección, analizaremos la visualización que funciona junto con esta información para darnos una buena comprensión de nuestros datos.

Si observamos los valores mínimo y máximo de store, podemos ver que hay 45 almacenes únicos que representan los datos. También hay storeTypes que diferencian lo que es una tienda. Podemos ver la distribución de storeTypes haciendo lo siguiente:

Esto significa que 22 tiendas son de storeType A, 17 son storeType B y 6 son storeType C.

Visualización de datos

Ahora que conocemos los valores de los marcos de datos, queremos complementar esto con visualizaciones para que las cosas sean más claras y fáciles de identificar patrones. Los gráficos también son útiles para transmitir resultados a una audiencia. Algunas Python bibliotecas que son útiles para la visualización incluyen:

En esta sección, analizaremos rápidamente algunas ventajas para utilizar cada biblioteca.

🔗 Matplotlibes es el paquete de Python visualización más antiguo. Su objetivo es hacer que "las cosas fáciles sean fáciles y difíciles posibles". Esto tiende a ser cierto, ya que el paquete es extremadamente poderoso pero también viene con complejidad. No siempre es fácil obtener un gráfico de aspecto razonable sin tardar una cantidad considerable de tiempo y esfuerzo.

🔗 Pandasis se utiliza principalmente para su objeto DataFrame, que permite la manipulación de datos con la indexación integrada. Sin embargo, los pandas también incluyen una funcionalidad de trazado integrada que se basa en matplotlib.

🔗 envía un paquete compilado sobre matplotlib. Su objetivo principal es hacer que los gráficos predeterminados sean más atractivos visualmente y simplificar la creación de gráficos complicados.

🔗 ggplotis un paquete también construido sobre matplotlib. Sin embargo, la diferencia principal es que la herramienta es un puerto de ggplot2 para R. Similar a Seaborn, el objetivo es mejorar sobre matplotlib. Los usuarios familiarizados con ggplot2 para R deben tener en cuenta esta biblioteca.

Univar gráficos

Los gráficos uniformes son gráficos de una variable individual. Para visualizar los datos se utiliza un gráfico univariado común: el gráfico de cajas y whiskies.

Utilizando nuestro conjunto de datos minoristas de antes, podemos generar el gráfico de cajas y whiskys para cada una de las 45 tiendas y sus ventas semanales. El diagrama se genera mediante la función seaborn.boxplot.

Para mostrar la distribución de datos se utiliza un diagrama de cajas y de whiskies. Las líneas exteriores del trazado muestran los cuartiles superior e inferior, mientras que el cuadro abarca el intervalo intercuartil. La línea del cuadro marca la mediana. Cualquier punto de datos que supere 1,5 veces el cuartil superior o inferior se marcará como un círculo. Estos puntos se consideran periféricos.

Gráficos multivariados

Los gráficos multivariados se utilizan para ver la interacción entre variables. Con la visualización, los científicos de datos pueden ver si hay correlaciones o patrones entre las variables. Un gráfico multivariable común es una matriz de correlación. Con una matriz de correlación, las dependencias entre varias variables se cuantifican con el coeficiente de correlación.

Con el mismo conjunto de datos comercial, podemos generar la matriz de correlación.

Fíjense en la diagonal de 1's hacia abajo en el centro. Esto muestra que cuando se compara una variable con sí misma, tiene una correlación positiva completa. Una correlación positiva fuerte tendrá una magnitud más cercana a 1, mientras que las correlaciones débiles estarán más cerca de 0. La correlación negativa se muestra con un coeficiente negativo que muestra una tendencia inversa.

Pasos siguientes

Este tutorial trata sobre cómo crear un nuevo bloc de notas de Jupyter en el espacio de trabajo de ciencia de datos y cómo acceder a los datos de forma externa, así como desde Adobe Experience Platform. Específicamente, seguimos los siguientes pasos:

  • Crear un nuevo bloc de notas de Jupyter
  • Acceso a conjuntos de datos y esquemas
  • Explorar conjuntos de datos

Ahora está listo para pasar a la siguiente sección para empaquetar una fórmula e importarla a Data Science Workspace.

En esta página