Začněte nyníZačněte zdarma

Vizualizace clusterů

Právě jsi natrénoval/a model k-means s optimální hodnotou k (k=16) a vygeneroval/a středy clusterů (centroidy). V tomto závěrečném cvičení vizualizuješ clustery a centroidy tak, že je zobrazíš přes sebe. To naznačí, jak dobře clustering fungoval – ideálně by měly být clustery od sebe zřetelně oddělené a centroidy by měly ležet uprostřed svých clusterů.

Nejprve převedeš RDD rdd_split_int na Spark DataFrame a pak na pandas DataFrame, který lze použít pro vykreslení. Obdobně převedeš cluster_centers na pandas DataFrame. Jakmile budou oba DataFrames připravené, vytvoříš bodové grafy pomocí Matplotlib.

V prostředí máš k dispozici SparkContext sc, proměnné rdd_split_int a cluster_centers a balíček matplotlib.pyplot (importovaný jako plt).

Toto cvičení je součástí kurzu

Big Data Fundamentals with PySpark

Zobrazit kurz

Pokyny k cvičení

  • Převeď RDD rdd_split_int na Spark DataFrame a poté na pandas DataFrame.
  • Vytvoř pandas DataFrame ze seznamu cluster_centers.
  • Vytvoř bodový graf z pandas DataFrame se surovými daty (rdd_split_int_df_pandas) a přes něj vykresli bodový graf z pandas DataFrame s centroidy (cluster_centers_pandas).

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód