ÎncepețiÎncepe gratuit

Vizualizarea clusterelor

Tocmai ai antrenat modelul k-means cu o valoare optimă pentru k (k=16) și ai generat centrele de cluster (centroide). În acest exercițiu final, vei vizualiza clusterele și centroidele suprapunându-le. Acest lucru va arăta cât de bine a funcționat gruparea (în mod ideal, clusterele ar trebui să fie distincte unele față de altele, iar centroidele să se afle în centrul clusterelor respective).

Pentru a realiza acest lucru, vei converti mai întâi RDD-ul rdd_split_int într-un Spark DataFrame, apoi într-un DataFrame pandas, care poate fi folosit pentru reprezentare grafică. Similar, vei converti cluster_centers într-un DataFrame pandas. După ce ambele DataFrame-uri sunt create, vei genera grafice scatter folosind Matplotlib.

SparkContext-ul sc, variabilele rdd_split_int și cluster_centers, precum și pachetul matplotlib.pyplot (importat ca plt) sunt disponibile în spațiul tău de lucru.

Acest exercițiu face parte din cursul

Fundamentele Big Data cu PySpark

Vezi cursul

Instrucțiuni pentru exercițiu

  • Convertește RDD-ul rdd_split_int într-un Spark DataFrame, apoi într-un DataFrame pandas.
  • Creează un DataFrame pandas din lista cluster_centers.
  • Creează un grafic scatter din DataFrame-ul pandas cu datele brute (rdd_split_int_df_pandas) și suprapune peste el un grafic scatter din DataFrame-ul pandas al centroidelor (cluster_centers_pandas).

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul