คำนวณและพล็อตผลรวมของกำลังสองของข้อผิดพลาด
ในแบบฝึกหัดนี้ จะได้คำนวณค่าผลรวมของกำลังสองของข้อผิดพลาด (sum of squared errors) สำหรับจำนวนคลัสเตอร์ตั้งแต่ 1 ถึง 10
ใช้ข้อมูล RFMT ที่ผ่านการนอร์มัลไลซ์แล้วจากแบบฝึกหัดที่แล้ว ซึ่งเก็บไว้ในตัวแปร datamart_rfmt_normalized โดยได้นำเข้าโมดูล KMeans จาก scikit-learn ไว้แล้ว และกำหนด dictionary ว่างสำหรับเก็บค่าผลรวมนี้เป็น sse = {}
สามารถสำรวจข้อมูลเพิ่มเติมได้ใน console
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การแบ่งกลุ่มลูกค้าด้วย Python
คำแนะนำการฝึกหัด
- กำหนดค่า KMeans ด้วยจำนวน
kคลัสเตอร์และ random state เป็น 1 จากนั้น fit KMeans กับชุดข้อมูลที่นอร์มัลไลซ์แล้ว - กำหนดค่าผลรวมของระยะทางกำลังสองให้กับ element
kใน dictionarysse - เพิ่มชื่อกราฟว่า "The Elbow Method" label แกน X ว่า "k" และ label แกน Y ว่า "SSE"
- พล็อตค่า SSE สำหรับแต่ละ
kที่เก็บเป็น keys ใน dictionary
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Fit KMeans and calculate SSE for each k between 1 and 10
for k in range(1, 11):
# Initialize KMeans with k clusters and fit it
kmeans = ____(____=____, ____=1 ).____(datamart_rfmt_normalized)
# Assign sum of squared distances to k element of the sse dictionary
____[____] = kmeans.____
# Add the plot title, x and y axis labels
plt.____('The Elbow Method')
plt.____('____')
plt.____('____')
# Plot SSE values for each k stored as keys in the dictionary
sns.____(x=list(sse.____()), y=list(sse.____()))
plt.show()