ComeçarComece gratuitamente

Visualização de clusters

Você acabou de treinar o modelo k-means com um valor k ideal (k=16) e gerou centros de cluster (centroides). Neste exercício final, você visualizará os clusters e os centroides sobrepondo-os. Isso indicará se o clustering funcionou bem (idealmente, os clusters devem ser distintos uns dos outros e os centroides devem estar no centro de seus respectivos clusters).

Para isso, você primeiro converterá o RDD rdd_split_int em um Spark DataFrame e, em seguida, em um Pandas DataFrame, que pode ser usado para plotagem. Da mesma forma, você converterá cluster_centers em um Pandas DataFrame. Depois que os dois DataFrames forem criados, você criará gráficos de dispersão usando o Matplotlib.

O SparkContext sc, bem como as variáveis rdd_split_int e cluster_centers e o pacote matplotlib.pyplot (importado como plt) estão disponíveis em seu espaço de trabalho.

Este exercício faz parte do curso

Fundamentos de Big Data com PySpark

Ver Curso

Instruções de exercício

  • Converta o RDD rdd_split_int em um Spark DataFrame e, em seguida, em um pandas DataFrame.
  • Crie um pandas DataFrame a partir da lista cluster_centers.
  • Crie um gráfico de dispersão a partir do Pandas DataFrame de dados brutos (rdd_split_int_df_pandas) e sobreponha-o com um gráfico de dispersão a partir do Pandas DataFrame de centroides (cluster_centers_pandas).

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# 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 e executar código