ComenzarEmpieza gratis

Visualización de grupos

Acabas de entrenar el modelo k-medias con un valor k óptimo (k=16) y de generar centros del grupo (centroides). En este último ejercicio visualizarás los grupos y los centroides superponiéndolos. Esto indicará lo bien que ha funcionado el agrupamiento (lo ideal es que los grupos sean distintos, y los centroides deben estar en el centro de sus respectivos grupos).

Para conseguir esto, primero convertirás el RDD rdd_split_int en un DataFrame de Spark y, a continuación, a Pandas DataFrame, para que pueda utilizarse para trazar gráficos. Del mismo modo, convertirás cluster_centers a Pandas DataFrame. Una vez creados los dos DataFrames, crearás diagramas de dispersión utilizando Matplotlib.

sc de SparkContext, así como las variables rdd_split_int y cluster_centers y el paquete matplotlib.pyplot (importado como plt) están disponibles en tu espacio de trabajo.

Este ejercicio forma parte del curso

Fundamentos de big data con PySpark

Ver curso

Instrucciones de ejercicio

  • Convierte el RDD rdd_split_int en un DataFrame de Spark y, a continuación, a pandas DataFrame.
  • Crea pandas DataFrame a partir de la lista cluster_centers.
  • Crea un diagrama de dispersión a partir de pandas DataFrame de datos sin procesar (rdd_split_int_df_pandas) y superponle un diagrama de dispersión a partir de Pandas DataFrame de centroides (cluster_centers_pandas).

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Convert rdd_split_int RDD into Spark DataFrame and then to Pandas DataFrame
rdd_split_int_df_pandas = spark.____(rdd_split_int, schema=["col1", "col2"]).toPandas()

# Convert cluster_centers to a pandas DataFrame
cluster_centers_pandas = pd.DataFrame(____, columns=["col1", "col2"])

# Create an overlaid scatter plot of clusters and centroids
plt.scatter(rdd_split_int_df_pandas["col1"], rdd_split_int_df_pandas["col2"])
plt.scatter(____["col1"], ____["col2"], color="red", marker="x")
plt.show()
Editar y ejecutar código