K-means ट्रेनिंग
अब जबकि RDD ट्रेनिंग के लिए तैयार है, इस दूसरे भाग में आप गणना समय बचाने के लिए k = 13 से 16 तक ट्राय करेंगे और सही k चुनने के लिए elbow मेथड का उपयोग करेंगे. Elbow मेथड का विचार यह है कि अलग-अलग k मानों पर डेटासेट पर K-means क्लस्टरिंग चलाएँ, Within Set Sum of Squared Error (WSSSE) निकालें, और WSSSE में अचानक गिरावट के आधार पर सबसे अच्छा k चुनें, यानी जहाँ elbow बनता है. इसके बाद, आप उसी best k के साथ मॉडल को दोबारा ट्रेन करेंगे और अंत में centroids (cluster centers) प्राप्त करेंगे.
ध्यान रखें, आपके वर्कस्पेस में SparkContext sc और rdd_split_int RDD पहले से उपलब्ध हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
PySpark के साथ Big Data Fundamentals
अभ्यास निर्देश
- KMeans मॉडल को 13 से 16 क्लस्टर्स के साथ ट्रेन करें और हर क्लस्टर के लिए WSSSE प्रिंट करें.
- best k के साथ KMeans मॉडल को दोबारा ट्रेन करें.
- best k पर ट्रेन किए गए KMeans मॉडल के Cluster Centers (centroids) प्राप्त करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Train the model with clusters from 13 to 16 and compute WSSSE
for clst in range(13, 17):
model = KMeans.____(rdd_split_int, clst, seed=1)
WSSSE = rdd_split_int.____(lambda point: error(point)).reduce(lambda x, y: x + y)
print("The cluster {} has Within Set Sum of Squared Error {}".format(clst, ____))
# Train the model again with the best k
model = KMeans.train(rdd_split_int, k=____, seed=1)
# Get cluster centers
cluster_centers = model.____