จะใช้กี่คลัสเตอร์?

การวิเคราะห์กลุ่มข้อมูลใน Python

Shaumik Daityari

Business Analyst

หา k ที่เหมาะสมได้อย่างไร?

  • ไม่มีวิธีที่แน่ชัดในการหาจำนวนคลัสเตอร์ที่เหมาะสม (k) ใน k-means clustering
  • Elbow method

การวิเคราะห์กลุ่มข้อมูลใน Python

ทบทวน Distortion

  • Distortion: ผลรวมของระยะทางยกกำลังสองจากจุดข้อมูลถึงศูนย์กลางคลัสเตอร์
  • ลดลงเมื่อจำนวนคลัสเตอร์เพิ่มขึ้น
  • เป็นศูนย์เมื่อจำนวนคลัสเตอร์เท่ากับจำนวนจุดข้อมูล
  • Elbow plot: กราฟเส้นระหว่างจำนวนคลัสเตอร์กับค่า distortion

การวิเคราะห์กลุ่มข้อมูลใน Python

Elbow method

  • Elbow plot: กราฟแสดงความสัมพันธ์ระหว่างจำนวนคลัสเตอร์และค่า distortion
  • Elbow plot ช่วยบ่งชี้จำนวนคลัสเตอร์ที่เหมาะสมในข้อมูล
การวิเคราะห์กลุ่มข้อมูลใน Python

Elbow method ใน Python

# Declaring variables for use
distortions = []

num_clusters = range(2, 7)
# Populating distortions for various clusters
for i in num_clusters:
    centroids, distortion = kmeans(df[['scaled_x', 'scaled_y']], i)
    distortions.append(distortion)
# Plotting elbow plot data
elbow_plot_data = pd.DataFrame({'num_clusters': num_clusters,
                                'distortions': distortions})

sns.lineplot(x='num_clusters', y='distortions', 
             data = elbow_plot_data)
plt.show()
การวิเคราะห์กลุ่มข้อมูลใน Python

การวิเคราะห์กลุ่มข้อมูลใน Python

ข้อควรทราบเกี่ยวกับ Elbow method

  • บ่งชี้เพียงค่า k (จำนวนคลัสเตอร์) ที่เหมาะสมเท่านั้น
  • ไม่ได้ระบุจำนวน k ที่แน่ชัดเสมอไป
  • วิธีอื่น ๆ ได้แก่ average silhouette และ gap statistic
การวิเคราะห์กลุ่มข้อมูลใน Python

มาฝึกกันเถอะ!

การวิเคราะห์กลุ่มข้อมูลใน Python

Preparing Video For Download...