ข้ามไปยังเนื้อหาหลัก

Silhouette Score: วิธีประเมินคุณภาพการจัดกลุ่ม

คู่มือเชิงปฏิบัติเรื่อง silhouette score ครอบคลุมสูตร ช่วงการตีความ ตัวอย่าง scikit-learn วิธีใช้เลือกจำนวนคลัสเตอร์ที่เหมาะสม และการเปรียบเทียบกับเมตริกอื่น
อัปเดตแล้ว 31 ก.ค. 2569  · 12 นาที อ่าน

สำรวจด้วย AI

เปิดใน ChatGPTเปิดใน Claudeเปิดใน Perplexity

หลังจากฝึกสอนโมเดลจัดกลุ่มแล้ว จะรู้ได้อย่างไรว่ากลุ่มที่ได้ดีแค่ไหน?

คำตอบสากลไม่มี ในการเรียนรู้แบบมีผู้สอนแบบดั้งเดิม คุณสามารถเปรียบเทียบค่าพยากรณ์กับฉลากจริงและได้ตัวเลขความแม่นยำ แต่กับการจัดกลุ่มทำแบบนั้นไม่ได้ คุณเลือก k=5 แล้วค่า k อื่นจะดีกว่าหรือไม่? เมื่อไม่มีฉลาก ก็แยกไม่ออกว่าอัลกอริทึมหาโครงสร้างจริงเจอหรือเพียงแค่แบ่งข้อมูลเป็นกองสุ่ม ๆ

Silhouette score คือเมตริกที่ตามหา มันวัดว่าจุดแต่ละจุดเข้ากับคลัสเตอร์ที่ถูกกำหนดได้ดีเพียงใดเมื่อเทียบกับคลัสเตอร์ที่ใกล้ที่สุดถัดไป เป็นหนึ่งในเมตริกที่ใช้แพร่หลาย ทำงานได้โดยไม่ต้องมีฉลาก และตีความง่าย

บทความนี้จะพาไปรู้จักสูตรและวิธีอ่านค่า ยกตัวอย่างด้วย Python และ scikit-learn และครอบคลุมสถานการณ์ที่ควรและไม่ควรใช้

ยังใหม่กับการจัดกลุ่ม? อ่านบทความสอนเรื่อง เกริ่นนำสู่ k-Means Clustering ด้วย scikit-learn เพื่อเรียนรู้การทำงานของอัลกอริทึมและการใช้ใน Python 

Silhouette Score คืออะไร

Silhouette score เป็นตัวเลขระหว่าง -1 ถึง 1 ที่บอกว่าจุดแต่ละจุดเข้ากับคลัสเตอร์ของตนได้ดีเพียงใด

ตัวเลขนี้สะท้อนสองเรื่อง:

  1. ความใกล้ของจุดกับจุดอื่นในคลัสเตอร์เดียวกัน
  2. ความไกลจากคลัสเตอร์ที่ไม่ใช่ของตนแต่ใกล้ที่สุด

ถ้าจุดอยู่ลึกภายในกลุ่มของตนและห่างจากกลุ่มอื่น คะแนนจะสูง ถ้าอยู่ริมขอบ ใกล้คลัสเตอร์ข้างเคียงมากกว่าของตน คะแนนจะต่ำ

สรุปคือ silhouette score แสดงสมดุลระหว่างความหนาแน่นภายในคลัสเตอร์และการแยกจากคลัสเตอร์อื่น ทั้งสองสำคัญเท่ากัน การจัดกลุ่มที่จับจุดได้แน่นแต่ซ้อนทับกันก็ไร้ประโยชน์ เช่นเดียวกับการแยกกลุ่มได้ชัดแต่จุดภายในกระจัดกระจาย

Well-separated clusters compared with overlapping clusters

การแยกคลัสเตอร์ได้ชัดเจน เทียบกับคลัสเตอร์ที่ซ้อนทับ

คะแนนสูงหมายถึงคลัสเตอร์นิยามได้ดี คะแนนใกล้ 1 หมายถึงจุดเกาะกลุ่มแน่นและห่างไกลจากกลุ่มอื่น คะแนนใกล้ 0 หมายถึงคลัสเตอร์ซ้อนทับหรือเส้นแบ่งไม่ชัด คะแนนติดลบหมายถึงจุดนั้นใกล้คลัสเตอร์อื่นมากกว่าคลัสเตอร์ที่ถูกกำหนด

Silhouette Score ทำงานอย่างไร

ทุกจุดจะมี silhouette score ของตนเอง และคะแนนมาจากระยะห่างสองค่า

อย่างแรกคือระยะห่างเฉลี่ยจากจุดนั้นไปยังจุดอื่นทั้งหมดในคลัสเตอร์เดียวกัน ถ้าค่านี้เล็ก แปลว่าอยู่ใกล้เพื่อนร่วมคลัสเตอร์ ถ้าใหญ่ แปลว่าเกาะกับคลัสเตอร์อย่างหลวม ๆ

อย่างที่สองคือระยะห่างเฉลี่ยจากจุดนั้นไปยังจุดในคลัสเตอร์ข้างเคียงที่ใกล้ที่สุด ถ้าค่านี้ใหญ่ แปลว่าแยกจากกลุ่มอื่นอย่างชัดเจน ถ้าเล็ก แปลว่าอยู่ใกล้เส้นแบ่ง

Distance of a point to the clusters

ระยะห่างของจุดถึงคลัสเตอร์ต่าง ๆ

ค่า silhouette เปรียบเทียบตัวเลขสองค่านี้ จุดที่อยู่ลึกในคลัสเตอร์ของตนและห่างจากคลัสเตอร์อื่นจะได้คะแนนสูง จุดที่อยู่ริมขอบ (ใกล้คลัสเตอร์อื่น) จะได้คะแนนต่ำ จุดที่ใกล้คลัสเตอร์อื่นมากกว่าคลัสเตอร์ของตนจะได้คะแนนติดลบ

สิ่งที่ควรจำคือระยะห่างเพียงค่าเดียวไม่พอ 

คลัสเตอร์ที่แน่นอาจวางอยู่ติดกับอีกคลัสเตอร์หนึ่ง คลัสเตอร์ที่แยกชัดอาจกระจายตัวภายใน คุณต้องดูทั้งสองระยะเพื่อเชื่อมั่นในผลการกำหนดคลัสเตอร์

สูตรของ Silhouette Score

นี่คือสูตรสำหรับจุดเดียว:

Silhouette score formula

สูตรของ Silhouette score

โดยที่:

  • a คือระยะห่างเฉลี่ยจากจุดนั้นไปยังจุดอื่นทั้งหมดในคลัสเตอร์เดียวกัน

  • b คือระยะห่างเฉลี่ยจากจุดนั้นไปยังจุดทั้งหมดในคลัสเตอร์ข้างเคียงที่ใกล้ที่สุด

สูตรจะหารช่องว่างระหว่าง b กับ a ด้วยค่าที่มากกว่าในสองค่านี้ 

โดยทั่วไป อาจตีความคะแนนได้ดังนี้:

  • เมื่อ b มากกว่า a มาก: จุดนั้นห่างจากคลัสเตอร์อื่นและใกล้กับคลัสเตอร์ของตน ตัวเศษใกล้กับ b ตัวส่วนก็เป็น b คะแนนจึงใกล้ 1

  • เมื่อ a มากกว่า b มาก: จุดนั้นใกล้คลัสเตอร์อื่นมากกว่าของตน ตัวเศษเป็นจำนวนลบขนาดใหญ่ใกล้กับ -a ตัวส่วนเป็น a คะแนนจึงใกล้ -1

  • เมื่อ a และ b พอ ๆ กัน: จุดนั้นอยู่บนเส้นแบ่งระหว่างคลัสเตอร์ ตัวเศษใกล้ 0 คะแนนก็ใกล้ 0

รายละเอียดเพิ่มเติมอยู่ถัดไป

การตีความค่า Silhouette Score

คู่มือโดยสังเขปสำหรับอ่านค่า silhouette score:

  • ใกล้ 1: จุดอยู่ลึกในคลัสเตอร์ของตนและห่างจากคลัสเตอร์อื่น
  • ราว 0.7: การจัดกลุ่มดี กลุ่มแยกจากกันชัดเจน และจุดอยู่ใกล้เพื่อนในกลุ่ม
  • ราว 0.5: พอใช้ได้ คลัสเตอร์มีการซ้อนทับกันบ้างแต่ยังแยกแยะได้
  • ใกล้ 0: คลัสเตอร์ซ้อนทับหรือเส้นแบ่งไม่ชัด โครงสร้างอาจไม่จริง
  • ต่ำกว่า 0: จุดใกล้คลัสเตอร์ที่ผิดมากกว่า อาจเกิดเมื่อเลือกจำนวนคลัสเตอร์ผิด หรือข้อมูลไม่เหมาะกับการจัดกลุ่มตั้งแต่แรก

เกณฑ์ข้างต้นเป็นเพียงแนวทางคร่าว ๆ ความหมายของคะแนนที่ดีขึ้นอยู่กับชุดข้อมูล

ข้อมูลที่เบาบางและมิติมากมักให้คะแนนต่ำแม้กลุ่มจะดี ข้อมูลที่หนาแน่นและแยกชัดอาจให้คะแนนเกิน 0.7 ควรเปรียบเทียบคะแนนข้ามโมเดลบนชุดข้อมูลเดียวกัน ไม่ใช่เทียบกับเกณฑ์สากล

วิธีคำนวณ Silhouette Score

คำนวณทีละจุด ตามขั้นตอนสำหรับจุดเดียวดังนี้

ขั้นที่ 1: คำนวณ a ระยะห่างเฉลี่ยจากจุดไปยังทุกจุดในคลัสเตอร์ของตน สมมติคลัสเตอร์มีสมาชิกอีก 4 จุด และระยะห่างคือ 1.2, 1.5, 1.0, 1.3:

Silhouette score calculation (1)

ตัวอย่างการคำนวณ Silhouette (1)

ขั้นที่ 2: หา “คลัสเตอร์ข้างเคียงที่ใกล้ที่สุด” (คลัสเตอร์อื่นที่มีระยะห่างเฉลี่ยจากจุดต่ำสุด) แล้วคำนวณ b ระยะห่างเฉลี่ยจากจุดไปยังทุกจุดในคลัสเตอร์นั้น หากคลัสเตอร์ข้างเคียงมี 5 จุดที่ระยะ 2.4, 2.8, 3.0, 2.6 และ 2.7:

Silhouette score calculation (2)

ตัวอย่างการคำนวณ Silhouette (2)

ขั้นที่ 3: นำ a และ b ไปใส่ในสูตร:

Silhouette score calculation (3)

ตัวอย่างการคำนวณ Silhouette (3)

ขั้นที่ 4: ทำซ้ำสำหรับทุกจุดในชุดข้อมูล คะแนน silhouette โดยรวมของการจัดกลุ่มคือค่าเฉลี่ยของคะแนนทุกจุด

ตัวอย่าง Silhouette Score ใน Python

Scikit-learn มีสองฟังก์ชันสำหรับคำนวณ silhouette score อยู่ใน sklearn.metrics:

  • silhouette_score() คืนค่าคะแนนเฉลี่ยของการจัดกลุ่มทั้งหมด

  • silhouette_samples() คืนค่าคะแนนของแต่ละจุด

วิธีใช้ร่วมกับ KMeans บนข้อมูลสังเคราะห์มีดังนี้:

from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
from sklearn.metrics import silhouette_score, silhouette_samples

# Synthetic data with 4 clusters
X, _ = make_blobs(n_samples=500, centers=4, cluster_std=1.0, random_state=42)

# Clustering model
kmeans = KMeans(n_clusters=4, random_state=42, n_init=10)
labels = kmeans.fit_predict(X)

# Overall silhouette score
score = silhouette_score(X, labels)
print(f"Overall silhouette score: {score:.3f}")

# Per-point silhouette values
sample_scores = silhouette_samples(X, labels)
print(f"First 5 point scores: {sample_scores[:5]}")

เมื่อรันโค้ดด้านบน จะได้ผลลัพธ์ดังนี้:

Python example output

ผลลัพธ์ตัวอย่างใน Python

คะแนนรวม 0.791 หมายความว่าทั้งสี่คลัสเตอร์มีนิยามชัดและแยกจากกันดี

คะแนนรายจุดช่วยให้วิเคราะห์จุดข้อมูลแต่ละจุดได้

จุดที่ได้คะแนนสูงอยู่ลึกในคลัสเตอร์ของตน จุดที่ได้คะแนนต่ำหรือติดลบอยู่บริเวณเส้นแบ่งหรือถูกกำหนดผิด ช่วยตรวจจับ outlier หรือทบทวนจุดก้ำกึ่งได้สะดวก

การเลือกจำนวนคลัสเตอร์ที่เหมาะสม

การใช้ silhouette score ที่พบบ่อยที่สุดอย่างหนึ่งคือการเลือก k ที่เหมาะสมสำหรับ KMeans 

ขั้นตอนมีสามข้อ:

  1. ฟิต KMeans สำหรับช่วงค่าของ k หลายค่า
  2. คำนวณ silhouette score สำหรับแต่ละโมเดล
  3. เลือกค่า k ที่ให้คะแนนสูงสุด

โค้ดตัวอย่าง:

from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
from sklearn.metrics import silhouette_score

X, _ = make_blobs(n_samples=500, centers=4, cluster_std=1.0, random_state=42)

# Fit KMeans for k=2 to k=10 and keep track of the silhouette score for each
k_values = range(2, 11)
scores = []
for k in k_values:
    kmeans = KMeans(n_clusters=k, random_state=42, n_init=10)
    labels = kmeans.fit_predict(X)
    scores.append(silhouette_score(X, labels))
    print(f"k={k}: silhouette = {scores[-1]:.3f}")

นี่คือคะแนนที่ได้สำหรับแต่ละค่า k:

Silhouette score across different values of k

Silhouette score สำหรับค่า k ที่ต่างกัน

คะแนนสูงสุดอยู่ที่ k=4 นั่นคือค่าที่ควรเลือก

อย่าลืมว่า silhouette score ไม่ได้แทนที่ความรู้เชิงโดเมน หากปัญหาธุรกิจต้องการ 5 กลุ่มลูกค้า แต่คะแนนสูงสุดอยู่ที่ 4 ก็ไม่ควรเลือก 4 โดยอัตโนมัติ เมตริกนี้ชี้ให้เห็นโครงสร้างที่สะอาดที่สุดในข้อมูล แต่จำนวนคลัสเตอร์ที่ถูกต้องอาจเป็นค่าที่สอดคล้องกับสิ่งที่มีความหมายในปัญหาของคุณ

Silhouette Score เทียบกับเมตริกการจัดกลุ่มอื่น

Silhouette score อาจเป็นเมตริกที่ใช้บ่อยที่สุดสำหรับประเมินการจัดกลุ่ม แต่ก็ไม่ใช่ตัวเดียว ต่อไปนี้คือการเปรียบเทียบกับทางเลือกอื่น

Silhouette score กับวิธี elbow

วิธี elbow เป็นเทคนิคเชิงภาพเพื่อเลือกค่า k ใน KMeans โดยฟิตโมเดลในช่วงค่า k หลายค่า พล็อตค่า inertia (ผลรวมกำลังสองภายในคลัสเตอร์) กับ k แล้วเลือกค่าที่กราฟหักศอกชัด

ข้อดีคือรวดเร็วและทำง่าย แต่ “ศอก” อาจไม่ชัดเสมอไป ในข้อมูลที่ยุ่ง กราฟอาจราบเรียบจนแยกจุดหักไม่ได้

Silhouette score ให้ตัวเลขจริงสำหรับแต่ละค่า k ทำให้เปรียบเทียบได้มีความหมายมากขึ้น แม้คำนวณช้ากว่า แต่ไม่ต้องพึ่งการตีความด้วยตา

ใช้ elbow เพื่อเช็คคร่าว ๆ ใช้ silhouette score เมื่อต้องการคำตอบที่มั่นใจได้

Silhouette score กับดัชนี Davies-Bouldin

Davies-Bouldin index (DBI) วัดความเหมือนเฉลี่ยระหว่างแต่ละคลัสเตอร์กับคลัสเตอร์ที่เหมือนที่สุด ค่าต่ำหมายถึงการจัดกลุ่มที่ดีกว่า และคะแนนที่สมบูรณ์คือ 0

DBI ใช้เซนทรอยด์ของคลัสเตอร์คำนวณความเหมือน จึงคำนวณเร็วกว่า silhouette บนชุดข้อมูลขนาดใหญ่ และยึดหลักการคล้ายกันคือให้รางวัลกับคลัสเตอร์ที่แน่นและแยกชัด

ข้อจำกัดคือ DBI บอกได้เฉพาะระดับภาพรวมของการจัดกลุ่ม ในขณะที่ silhouette ให้คะแนนรายจุด ช่วยหาจุดก้ำกึ่งและ outlier ได้

ใช้ DBI เมื่อทำงานกับข้อมูลใหญ่และต้องการความเร็ว ใช้ silhouette เมื่ออยากดูรายละเอียดระดับจุด

Silhouette score กับดัชนี Calinski-Harabasz

Calinski-Harabasz index (CH) หรือ variance ratio criterion คืออัตราส่วนการกระจายระหว่างคลัสเตอร์ต่อการกระจายภายในคลัสเตอร์ ค่ายิ่งสูงยิ่งดี และไม่มีเพดานบน

CH เร็วและเหมาะกับชุดข้อมูลใหญ่เพราะใช้สถิติระดับคลัสเตอร์เท่านั้น เช่นเดียวกับ silhouette และ DBI จะทำงานได้ดีเมื่อคลัสเตอร์เป็นคอนเว็กซ์และแยกชัด

CH ไม่มีสเกลธรรมชาติ จึงเปรียบเทียบข้ามชุดข้อมูลไม่ได้ ควรเปรียบเทียบเฉพาะข้ามโมเดลบนชุดข้อมูลเดียวกัน

ใช้ CH เมื่อข้อมูลขนาดใหญ่และต้องการผลเร็ว ใช้ silhouette เมื่อให้ความสำคัญกับการตีความและข้อมูลเชิงลึกรายจุด

เมตริกการจัดกลุ่มแบบ internal เทียบกับ external

เมตริกด้านบน (silhouette, DBI, CH, elbow) เป็นเมตริกภายใน ใช้ประเมินการจัดกลุ่มจากข้อมูลเองโดยไม่ต้องมีฉลากจริง จึงเป็นตัวเลือกมาตรฐานสำหรับปัญหาจริงที่มักไม่มีฉลาก

เมตริกภายนอกจะเปรียบเทียบผลการกำหนดคลัสเตอร์กับฉลากที่ทราบ เช่น Adjusted Rand Index (ARI), Normalized Mutual Information (NMI) และ homogeneity ใช้เมื่อมีฉลากและต้องการทดสอบว่าอัลกอริทึมจัดกลุ่มได้ตรงเพียงใด

ใช้เมตริกภายในเมื่อไม่มีฉลาก ซึ่งเป็นกรณีปกติ ใช้เมตริกภายนอกเมื่อทำเบนช์มาร์กอัลกอริทึมจัดกลุ่มบนข้อมูลที่มีฉลาก

สรุปเมตริกต่าง ๆ แบบเทียบข้างกัน:

วิธี ช่วงค่า ค่าดีที่สุด ความเร็ว เหมาะสำหรับ
Silhouette score -1 ถึง 1 ใกล้ 1 ช้าบนชุดข้อมูลขนาดใหญ่ ตีความง่ายและเจาะลึกระดับจุด
Elbow method 0 ถึงอนันต์ มองหาจุดหักศอก เร็ว ตรวจสอบอย่างรวดเร็ว
Davies-Bouldin index 0 ถึงอนันต์ ใกล้ 0 เร็ว ชุดข้อมูลขนาดใหญ่
Calinski-Harabasz index 0 ถึงอนันต์ ยิ่งสูงยิ่งดี เร็ว ชุดข้อมูลใหญ่ที่ไม่มีฉลาก

เปรียบเทียบ Silhouette score กับทางเลือกอื่น

ข้อจำกัดของ Silhouette Score

Silhouette score มีข้อจำกัดบางประการที่ควรรู้:

  • ตั้งอยู่บนการจัดกลุ่มด้วยระยะทาง: โดยปริยายใช้ระยะยูคลิด เหมาะกับ KMeans และอัลกอริทึมแบบเซนทรอยด์อื่น ๆ แต่ไม่เหมาะกับวิธีแบบความหนาแน่นอย่าง DBSCAN ที่คลัสเตอร์มีรูปร่างและไม่มีเซนทรอยด์ชัดเจน
  • ทำงานดีที่สุดกับคลัสเตอร์เล็กและแยกชัด: เมตริกนี้ให้รางวัลกับคลัสเตอร์ทรงกลมที่แน่นและอยู่ไกล หากข้อมูลมีคลัสเตอร์ที่อยู่ใกล้กันหรือซ้อนทับ คะแนนจะต่ำแม้การจัดกลุ่มจะถูกต้อง
  • ไม่เหมาะกับรูปร่างคลัสเตอร์ที่ไม่ปกติ: คลัสเตอร์ในโลกจริงไม่จำเป็นต้องเป็นคอนเว็กซ์ หากไม่ใช่สำหรับข้อมูลของคุณ คะแนนอาจต่ำแม้การกำหนดจะถูกต้อง
  • ต้นทุนคำนวณบนชุดข้อมูลใหญ่: การคำนวณต้องใช้ระยะคู่ทุกคู่ของจุด ซึ่งสเกลเป็น O(n^2) บนชุดข้อมูลระดับล้านจุดจะมีค่าใช้จ่ายสูง
  • ไวต่อเมตริกระยะทางที่เลือก: คะแนนจะเปลี่ยนตามการใช้ยูคลิด แมนฮัตตัน โคไซน์ หรือแบบอื่น หากข้อมูลไม่สอดคล้องกับสมมติฐานยูคลิด Silhouette score อาจทำให้เข้าใจผิด

แนวปฏิบัติที่ดีในการใช้ Silhouette Score

Silhouette score จะได้ผลดีที่สุดเมื่อปฏิบัติตามหลักพื้นฐานไม่กี่ข้อ:

  • เปรียบเทียบหลายวิธีการจัดกลุ่ม: อย่าคำนวณเพียงคะแนนเดียว ควรฟิตโมเดลจัดกลุ่มด้วยค่า k ต่างกัน (หรืออัลกอริทึมต่างกัน) แล้วเปรียบเทียบคะแนนกัน
  • แสดงภาพคลัสเตอร์ควบคู่กับคะแนน: ตัวเลขอย่างเดียวไม่เล่าเรื่องทั้งหมด พล็อตคลัสเตอร์แล้วดูว่ารูปร่างมีเหตุผลหรือไม่
  • อย่าปรับให้ได้แค่คะแนนสูงสุด: การจัดกลุ่มที่ k=2 มักได้คะแนนสูงกว่า k=5 แม้ 5 คลัสเตอร์จะมีความหมายในปัญหาของคุณ
  • ผสานกับความรู้เชิงโดเมน: คะแนนบอกโครงสร้างที่สะอาดที่สุดตามข้อมูล ความรู้เชิงโดเมนบอกว่าโครงสร้างใดใช้การได้จริง ใช้ทั้งสองร่วมกัน
  • ประเมินหลายเมตริกการจัดกลุ่ม: Silhouette, DBI, CH และเมตริกอื่นวัดคุณภาพต่างกัน เมื่อให้ผลสอดคล้องกัน แปลว่าไปถูกทาง หากไม่สอดคล้อง ให้กลับมาดูข้อมูล

สรุป

Silhouette score เป็นวิธีที่เข้าใจง่ายในการประเมินการจัดกลุ่ม เพราะสะท้อนทั้งความแน่นภายในคลัสเตอร์และการแยกคลัสเตอร์ออกจากกัน 

คำนวณทีละจุด นำมาเฉลี่ย ได้ตัวเลขเดียวระหว่าง -1 ถึง 1 ค่ายิ่งใกล้ 1 หมายถึงคลัสเตอร์นิยามดี ค่าใกล้หรือ ต่ำกว่า 0 หมายถึงโครงสร้างนั้นอาจไม่ใช่โครงสร้างจริง

แต่ silhouette score เป็นเพียงจุดเริ่มต้น ควรจับคู่กับการแสดงภาพคลัสเตอร์ และที่สำคัญที่สุดคือความรู้เชิงโดเมนของปัญหา เมื่อทั้งสามสิ่งชี้ไปทิศทางเดียวกัน จึงควรเชื่อผลลัพธ์

Silhouette score เป็นส่วนหนึ่งของภาพรวมเรื่อง การเรียนรู้แบบไม่มีผู้สอนใน Python ลงทะเบียนวันนี้เพื่อเรียนรู้การจัดกลุ่ม แปลงข้อมูล สร้างภาพ และสกัดข้อค้นพบจากข้อมูลไร้ฉลาก

หัวข้อ

เรียนกับ DataCamp

Courses

Cluster Analysis in R

4 ชม.
44.1K
Develop a strong intuition for how hierarchical and k-means clustering work and learn how to apply them to extract insights from your data.
ดูรายละเอียดRight Arrow
เริ่มหลักสูตร
ดูเพิ่มเติมRight Arrow