Memvisualisasikan klaster
Anda baru saja melatih model k-means dengan nilai k optimum (k=16) dan menghasilkan pusat klaster (centroid). Pada latihan terakhir ini, Anda akan memvisualisasikan klaster dan centroid dengan menumpangkannya. Ini akan menunjukkan seberapa baik proses clustering bekerja (idealnya, klaster saling terpisah dan centroid berada di tengah klaster masing-masing).
Untuk mencapainya, Anda akan terlebih dahulu mengonversi RDD rdd_split_int menjadi Spark DataFrame, lalu menjadi DataFrame Pandas yang dapat digunakan untuk plotting. Demikian pula, Anda akan mengonversi cluster_centers menjadi DataFrame Pandas. Setelah kedua DataFrame dibuat, Anda akan membuat plot sebar menggunakan Matplotlib.
SparkContext sc serta variabel rdd_split_int dan cluster_centers, serta paket matplotlib.pyplot (diimpor sebagai plt) tersedia di ruang kerja Anda.
Latihan ini adalah bagian dari kursus
Fundamental Big Data dengan PySpark
Petunjuk latihan
- Konversikan RDD
rdd_split_intmenjadi Spark DataFrame, lalu menjadi DataFrame pandas. - Buat DataFrame pandas dari daftar
cluster_centers. - Buat plot sebar dari DataFrame pandas untuk data mentah (
rdd_split_int_df_pandas) dan tumpangkan dengan plot sebar dari DataFrame Pandas untuk centroid (cluster_centers_pandas).
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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()