Logotipo de Zephyrnet

Explore visualizaciones con sesiones interactivas de AWS Glue | Servicios web de Amazon

Fecha:

Sesiones interactivas de AWS Glue ofrecen una manera poderosa de explorar iterativamente conjuntos de datos y ajustar las transformaciones utilizando cuadernos compatibles con Jupyter. Las sesiones interactivas le permiten trabajar con una selección de entornos de desarrollo integrados (IDE) populares en su entorno local o con Pegamento AWS or Estudio Amazon SageMaker cuadernos en el Consola de administración de AWS, todo ello mientras se aprovecha a la perfección el poder de un backend Apache Spark escalable y bajo demanda. Esta publicación es parte de una serie explorando las características de las sesiones interactivas de AWS Glue.

Las sesiones interactivas de AWS Glue ahora incluyen soporte nativo para la biblioteca de visualización matplotlib (AWS Glue versión 3.0 y posteriores). En esta publicación, analizamos cómo podemos usar matplotlib y Seaborn para explorar y visualizar datos mediante sesiones interactivas de AWS Glue, lo que facilita información rápida sin una configuración de infraestructura compleja.

Resumen de la solución

solicite aprovisione rápidamente nuevas sesiones interactivas directamente desde su computadora portátil sin necesidad de interactuar con el Interfaz de línea de comandos de AWS (AWS CLI) o la consola. Puedes usar comandos magicos para proporcionar opciones de configuración para su sesión e instalar cualquier módulo Python adicional que sea necesario.

En esta publicación, utilizamos los conjuntos de datos clásicos Iris y MNIST para navegar a través de algunas técnicas de visualización comúnmente utilizadas usando matplotlib en sesiones interactivas de AWS Glue.

Cree visualizaciones mediante sesiones interactivas de AWS Glue

Comenzamos instalando las bibliotecas Sklearn y Seaborn usando el additional_python_modules Comando mágico de Jupyter:

%additional_python_modules scikit-learn, seaborn

También puede cargar módulos de rueda de Python en Servicio de almacenamiento simple de Amazon (Amazon S3) y especifique la ruta completa como valor de parámetro al additional_python_modules comando mágico.

Ahora, ejecutemos algunas visualizaciones en el Iris y MNIST conjuntos de datos

  1. Cree un diagrama de pares utilizando Seaborn para descubrir patrones dentro de las medidas de sépalos y pétalos en todas las especies de iris:
    import seaborn as sns
    import matplotlib.pyplot as plt # Load the Iris dataset
    iris = sns.load_dataset("iris") # Create a pair plot
    sns.pairplot(iris, hue="species")
    %matplot plt

  2. Cree un diagrama de violín para revelar la distribución de la medida del ancho del sépalo en las tres especies de flores de iris:
    # Create a violin plot of the Sepal Width measure
    plt.figure(figsize=(10, 6))
    sns.violinplot(x="species", y="sepal_width", data=iris)
    plt.title("Violin Plot of Sepal Width by Species")
    plt.show()
    %matplot plt

  3. Cree un mapa de calor para mostrar correlaciones entre las variables del conjunto de datos del iris:
    # Calculate the correlation matrix
    correlation_matrix = iris.corr() # Create a heatmap using Seaborn
    plt.figure(figsize=(8, 6))
    sns.heatmap(correlation_matrix, annot=True, cmap="coolwarm")
    plt.title("Correlation Heatmap")
    %matplot plt

  4. Cree un diagrama de dispersión en el conjunto de datos MNIST usando PCA para visualizar distribuciones entre los dígitos escritos a mano:
    import matplotlib.pyplot as plt
    from sklearn.datasets import fetch_openml
    from sklearn.decomposition import PCA # Load the MNIST dataset
    mnist = fetch_openml('mnist_784', version=1)
    X, y = mnist['data'], mnist['target'] # Apply PCA to reduce dimensions to 2 for visualization
    pca = PCA(n_components=2)
    X_pca = pca.fit_transform(X) # Scatter plot of the reduced data
    plt.scatter(X_pca[:, 0], X_pca[:, 1], c=y.astype(int), cmap='viridis', s=5)
    plt.xlabel("Principal Component 1")
    plt.ylabel("Principal Component 2")
    plt.title("PCA - MNIST Dataset")
    plt.colorbar(label="Digit Class") %matplot plt

  5. Cree otra visualización usando matplotlib y el kit de herramientas mplot3d:
    import numpy as np
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D # Generate mock data
    x = np.linspace(-5, 5, 100)
    y = np.linspace(-5, 5, 100)
    x, y = np.meshgrid(x, y)
    z = np.sin(np.sqrt(x**2 + y**2)) # Create a 3D plot
    fig = plt.figure(figsize=(10, 8))
    ax = fig.add_subplot(111, projection='3d') # Plot the surface
    surface = ax.plot_surface(x, y, z, cmap='viridis') # Add color bar to map values to colors
    fig.colorbar(surface, ax=ax, shrink=0.5, aspect=10) # Set labels and title
    ax.set_xlabel('X')
    ax.set_ylabel('Y')
    ax.set_zlabel('Z')
    ax.set_title('3D Surface Plot Example') %matplot plt

Como se ilustra en los ejemplos anteriores, puede utilizar cualquier biblioteca de visualización compatible instalando los módulos necesarios y luego utilizando el %matplot comando mágico.

Conclusión

En esta publicación, analizamos cómo los desarrolladores y científicos de datos de extracción, transformación y carga (ETL) pueden visualizar de manera eficiente patrones en sus datos utilizando bibliotecas familiares a través de sesiones interactivas de AWS Glue. Con esta funcionalidad, podrá concentrarse en extraer información valiosa de sus datos, mientras AWS Glue maneja el trabajo pesado de la infraestructura mediante un modelo informático sin servidor. Para comenzar hoy, consulte Desarrollo de trabajos de AWS Glue con portátiles y sesiones interactivas.


Sobre los autores

annie nelson es arquitecto senior de soluciones en AWS. Es una entusiasta de los datos que disfruta resolviendo problemas y abordando desafíos arquitectónicos complejos con los clientes.

Keerthi Chadalavada es ingeniero sénior de desarrollo de software en AWS Glue. Le apasiona diseñar y crear soluciones integrales para abordar las necesidades analíticas e de integración de datos de los clientes.

zach mitchell es un arquitecto sénior de Big Data. Trabaja dentro del equipo de producto para mejorar la comprensión entre los ingenieros de producto y sus clientes, mientras los guía a lo largo de su recorrido para desarrollar su arquitectura de datos empresariales en AWS.

Foto del blog de Galchica heyne es gerente de producto de AWS Glue con un fuerte enfoque en AI/ML, ingeniería de datos y BI. Le apasiona desarrollar una comprensión profunda de las necesidades comerciales de los clientes y colaborar con ingenieros para diseñar productos de datos fáciles de usar.

punto_img

Información más reciente

punto_img