Kom igångKom igång gratis

Visualisera kluster

Du har precis tränat k-means-modellen med ett optimalt k-värde (k=16) och genererat klustercentra (centroider). I den här avslutande övningen ska du visualisera klustren och centroiderna genom att lägga dem ovanpå varandra. Det visar hur väl klustring fungerade – idealt sett ska klustren vara tydligt åtskilda och centroiderna placerade i mitten av sina respektive kluster.

För att åstadkomma detta konverterar du först RDD:n rdd_split_int till en Spark DataFrame och sedan till en pandas DataFrame som kan användas för plottning. På samma sätt konverterar du cluster_centers till en pandas DataFrame. När båda DataFrames är skapade skapar du spridningsdiagram med Matplotlib.

SparkContext:en sc samt variablerna rdd_split_int och cluster_centers, och paketet matplotlib.pyplot (importerat som plt) finns tillgängliga i din arbetsyta.

Den här övningen är en del av kursen

Grunderna i Big Data med PySpark

Visa kurs

Övningsinstruktioner

  • Konvertera RDD:n rdd_split_int till en Spark DataFrame och sedan till en pandas DataFrame.
  • Skapa en pandas DataFrame från listan cluster_centers.
  • Skapa ett spridningsdiagram från pandas DataFrame:n med rådata (rdd_split_int_df_pandas) och lägg ovanpå det ett spridningsdiagram från pandas DataFrame:n med centroider (cluster_centers_pandas).

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod