Kümeleri görselleştirme
Az önce en uygun k değeriyle (k=16) k-means modelini eğittin ve küme merkezlerini (centroid'leri) oluşturdun. Bu son egzersizde, kümeleri ve merkezleri üst üste bindirerek görselleştireceksin. Bu, kümelenmenin ne kadar iyi çalıştığını gösterecek (ideal olarak kümeler birbirinden belirgin olmalı ve merkezler kendi kümelerinin ortasında yer almalı).
Bunu yapmak için önce rdd_split_int RDD'sini bir Spark DataFrame'ine, ardından görselleştirme için kullanılabilecek bir Pandas DataFrame'ine dönüştüreceksin. Benzer şekilde, cluster_centers değişkenini de bir Pandas DataFrame'ine dönüştüreceksin. Her iki DataFrame'i de oluşturduktan sonra Matplotlib kullanarak saçılım grafikleri çizeceksin.
SparkContext sc, rdd_split_int ve cluster_centers değişkenleri ile matplotlib.pyplot paketi (plt olarak içe aktarılmış) çalışma alanında hazır.
Bu egzersiz
PySpark ile Big Data Temelleri
kursunun bir parçasıdırEgzersiz talimatları
rdd_split_intRDD'sini önce bir Spark DataFrame'ine, ardından bir pandas DataFrame'ine dönüştür.cluster_centerslistesinden bir pandas DataFrame oluştur.- Ham verinin pandas DataFrame'inden (
rdd_split_int_df_pandas) bir saçılım grafiği oluştur ve bunun üzerine centroid'lerin Pandas DataFrame'inden (cluster_centers_pandas) bir saçılım grafiğini bindir.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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()