Elbow Method
ในแบบฝึกหัดที่แล้ว คุณได้ใช้ MiniBatch K-means ด้วย 8 คลัสเตอร์ โดยยังไม่ได้ตรวจสอบว่าจำนวนคลัสเตอร์ที่เหมาะสมควรเป็นเท่าใด สำหรับแนวทางการตรวจจับการฉ้อโกงขั้นต้นนี้ สิ่งสำคัญคือต้องกำหนดจำนวนคลัสเตอร์ให้ถูกต้อง โดยเฉพาะเมื่อต้องการใช้ค่าผิดปกติ (outlier) จากคลัสเตอร์เหล่านั้นเป็นตัวทำนายการฉ้อโกง ในการตัดสินใจว่าจะใช้จำนวนคลัสเตอร์เท่าใด มาลองใช้ Elbow Method เพื่อหาจำนวนคลัสเตอร์ที่เหมาะสมที่สุดตามวิธีนี้กัน
X_scaled พร้อมใช้งานแล้ว และ MiniBatchKMeans ได้ถูก import มาจาก sklearn แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การตรวจจับการฉ้อโกงด้วย Python
คำแนะนำการฝึกหัด
- กำหนดช่วงให้อยู่ระหว่าง 1 ถึง 5 คลัสเตอร์
- รัน MiniBatch K-means กับจำนวนคลัสเตอร์ทั้งหมดในช่วงนั้นโดยใช้ list comprehension
- Fit โมเดลแต่ละตัวบนข้อมูลที่ปรับสเกลแล้ว และดึงค่าคะแนนจากข้อมูลที่ปรับสเกลแล้ว
- พล็อตจำนวนคลัสเตอร์และคะแนนที่สอดคล้องกัน ซึ่งอาจใช้เวลาสักครู่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define the range of clusters to try
clustno = range(____, ____)
# Run MiniBatch Kmeans over the number of clusters
kmeans = [____(n_clusters=i, random_state=0) for ____ in ____]
# Obtain the score for each model
score = [kmeans[i].fit(____).score(____) for i in range(len(kmeans))]
# Plot the models and their respective score
plt.plot(____, ____)
plt.xlabel('Number of Clusters')
plt.ylabel('Score')
plt.title('Elbow Curve')
plt.show()