Hiểu so sánh kết quả phân cụm


13

Tôi đang thử nghiệm phân loại dữ liệu thành các nhóm. Tôi còn khá mới mẻ với chủ đề này và đang cố gắng tìm hiểu đầu ra của một số phân tích.

Sử dụng các ví dụ từ Quick-R , một số Rgói được đề xuất. Tôi đã thử sử dụng hai trong số các gói này ( fpcsử dụng kmeanshàm và mclust). Một khía cạnh của phân tích này mà tôi không hiểu là so sánh kết quả.

# comparing 2 cluster solutions
library(fpc)
cluster.stats(d, fit1$cluster, fit2$cluster)

Tôi đã đọc qua các phần có liên quan của fpc hướng dẫn và vẫn chưa rõ về những gì tôi nên hướng tới. Ví dụ, đây là đầu ra của việc so sánh hai cách tiếp cận phân cụm khác nhau:

$n
[1] 521

$cluster.number
[1] 4

$cluster.size
[1] 250 119  78  74

$diameter
[1]  5.278162  9.773658 16.460074  7.328020

$average.distance
[1] 1.632656 2.106422 3.461598 2.622574

$median.distance
[1] 1.562625 1.788113 2.763217 2.463826

$separation
[1] 0.2797048 0.3754188 0.2797048 0.3557264

$average.toother
[1] 3.442575 3.929158 4.068230 4.425910

$separation.matrix
          [,1]      [,2]      [,3]      [,4]
[1,] 0.0000000 0.3754188 0.2797048 0.3557264
[2,] 0.3754188 0.0000000 0.6299734 2.9020383
[3,] 0.2797048 0.6299734 0.0000000 0.6803704
[4,] 0.3557264 2.9020383 0.6803704 0.0000000

$average.between
[1] 3.865142

$average.within
[1] 1.894740

$n.between
[1] 91610

$n.within
[1] 43850

$within.cluster.ss
[1] 1785.935

$clus.avg.silwidths
         1          2          3          4 
0.42072895 0.31672350 0.01810699 0.23728253 

$avg.silwidth
[1] 0.3106403

$g2
NULL

$g3
NULL

$pearsongamma
[1] 0.4869491

$dunn
[1] 0.01699292

$entropy
[1] 1.251134

$wb.ratio
[1] 0.4902123

$ch
[1] 178.9074

$corrected.rand
[1] 0.2046704

$vi
[1] 1.56189

Câu hỏi chính của tôi ở đây là để hiểu rõ hơn về cách diễn giải kết quả so sánh cụm này.


Trước đây, tôi đã hỏi thêm về ảnh hưởng của việc thu nhỏ dữ liệu và tính toán ma trận khoảng cách. Tuy nhiên, điều đó đã được trả lời rõ ràng bởi mariana nhẹ nhàng hơn và tôi chỉ sắp xếp lại câu hỏi của mình để nhấn mạnh rằng tôi quan tâm đến việc diễn đạt kết quả đầu ra của mình, đó là so sánh hai thuật toán phân cụm khác nhau.

Phần trước của câu hỏi : Nếu tôi đang thực hiện bất kỳ loại phân cụm nào, tôi có nên luôn chia tỷ lệ dữ liệu không? Ví dụ: tôi đang sử dụng hàm dist()trên tập dữ liệu tỷ lệ của mình làm đầu vào cho cluster.stats()hàm, tuy nhiên tôi không hiểu đầy đủ những gì đang diễn ra. Tôi đọc về dist() đây và nó nói rằng:

hàm này tính toán và trả về ma trận khoảng cách được tính bằng cách sử dụng thước đo khoảng cách đã chỉ định để tính khoảng cách giữa các hàng của ma trận dữ liệu.


Bạn đang tìm kiếm làm rõ thêm hoặc bạn không hài lòng với phản hồi của @ mariana? Tôi đoán nó liên quan đến câu hỏi đầu tiên của bạn (2nd §). Nếu đây là trường hợp, có lẽ bạn nên cập nhật câu hỏi của mình để mọi người hiểu lý do tại sao bạn đặt tiền thưởng cho câu hỏi này.
chl

@chl Tôi sẽ cập nhật nó để làm cho nó rõ ràng hơn. Tôi chỉ tìm kiếm một số hướng dẫn về diễn giải các so sánh phân cụm, vì không hiểu ý nghĩa của đầu ra. Phản hồi của @ mariana rất hữu ích khi giải thích một số thuật ngữ liên quan đến phương pháp này.
celenius

Câu trả lời:


13

Trước tiên, để tôi nói với bạn rằng tôi sẽ không giải thích chính xác tất cả các biện pháp ở đây, nhưng tôi sẽ cho bạn biết về cách so sánh các phương pháp phân cụm tốt như thế nào (giả sử chúng ta đang so sánh 2 phương pháp phân cụm với cùng một số của cụm).

  1. Ví dụ, đường kính của cụm càng lớn thì cụm càng tệ nhất, bởi vì các điểm thuộc cụm đó nằm rải rác nhiều hơn.
  2. Khoảng cách trung bình của mỗi cụm càng cao, phương pháp phân cụm càng tệ. (Giả sử rằng khoảng cách trung bình là trung bình của khoảng cách từ mỗi điểm trong cụm đến trung tâm của cụm.)

Đây là hai số liệu được sử dụng nhiều nhất. Kiểm tra các liên kết này để hiểu những gì họ đại diện cho:

  • khoảng cách giữa các cụm (càng cao càng tốt, là tổng của khoảng cách giữa các trọng tâm cụm khác nhau)
  • khoảng cách trong cụm (càng thấp càng tốt, là tổng của khoảng cách giữa các thành viên cụm đến trung tâm của cụm)

Để hiểu rõ hơn các số liệu ở trên, hãy kiểm tra điều này .

Sau đó, bạn nên đọc hướng dẫn của thư viện và các chức năng bạn đang sử dụng để hiểu biện pháp nào đại diện cho từng biện pháp này hoặc nếu không bao gồm các biện pháp này, hãy cố gắng tìm ý nghĩa của bao gồm. Tuy nhiên, tôi sẽ không bận tâm và gắn bó với những gì tôi đã nêu ở đây.

Hãy tiếp tục với những câu hỏi bạn đã thực hiện:

  1. Về tỷ lệ dữ liệu: Có, bạn phải luôn chia tỷ lệ dữ liệu để phân cụm, nếu không, các thang đo khác nhau của các kích thước (biến) khác nhau sẽ có những ảnh hưởng khác nhau trong cách dữ liệu được phân cụm, với các giá trị trong biến càng cao, biến đó càng có ảnh hưởng sẽ là cách thức phân cụm được thực hiện, trong khi thực sự tất cả chúng đều có cùng ảnh hưởng (trừ khi vì một lý do kỳ lạ nào đó mà bạn không muốn theo cách đó).
  2. Các hàm khoảng cách tính tất cả các khoảng cách từ một điểm (ví dụ) đến một điểm khác. Thước đo khoảng cách phổ biến nhất là Euclide, vì vậy, ví dụ: giả sử bạn muốn đo khoảng cách từ thể hiện 1 đến thể hiện 2 (giả sử bạn chỉ có 2 trường hợp vì đơn giản). Ngoài ra, hãy giả sử rằng mỗi trường hợp có 3 giá trị (x1, x2, x3), I1=0.3, 0.2, 0.5I2=0.3, 0.3, 0.4do đó, khoảng cách Euclide từ I1 và I2 sẽ là : sqrt((0.3-0.2)^2+(0.2-0.3)^2+(0.5-0.4)^2)=0.17, do đó ma trận khoảng cách sẽ dẫn đến:

        i1    i2
    i1  0     0.17
    i2  0.17  0

Lưu ý rằng ma trận khoảng cách luôn luôn đối xứng.

Công thức khoảng cách Euclide không phải là công thức duy nhất tồn tại. Có nhiều khoảng cách khác có thể được sử dụng để tính toán ma trận này. Kiểm tra ví dụ trong Wikipedia Manhattain Khoảng cách và cách tính toán. Ở cuối trang Wikipedia cho Khoảng cách Euclide (nơi bạn cũng có thể kiểm tra công thức của nó), bạn có thể kiểm tra những khoảng cách khác tồn tại.


Cảm ơn bạn đã trả lời rất toàn diện của bạn - nó rất hữu ích.
celenius

Tôi thực sự rất vui vì nó hữu ích cho bạn.
mariana nhẹ nhàng hơn

@marianasoffer liên kết đến trang Stanford không hoạt động. Vui lòng cập nhật nó hoặc làm cho nó có thể truy cập. Cảm ơn bạn
Herman Toothrot

7

Tôi nghĩ rằng thước đo chất lượng tốt nhất để phân cụm là giả định cụm, được đưa ra bởi Seeger trong Học tập với dữ liệu được gắn nhãn và không nhãn :

Ví dụ: giả sử X = Rd và tính hợp lệ của giả định cụm cụm, có nghĩa là hai điểm x, x phải có cùng nhãn t nếu có một đường dẫn giữa chúng trong X chỉ đi qua các vùng có P (x tương đối cao ).

Vâng, điều này mang lại toàn bộ ý tưởng của centroid và trung tâm xuống. Xét cho cùng, đây là những khái niệm khá độc đoán nếu bạn nghĩ về thực tế rằng dữ liệu của bạn có thể nằm trong một thư mục con phi tuyến tính của không gian bạn đang thực sự hoạt động.

Bạn có thể dễ dàng xây dựng một bộ dữ liệu tổng hợp trong đó các mô hình hỗn hợp bị phá vỡ. Ví dụ: cái này : một vòng tròn trong một đám mây.

Câu chuyện dài: Tôi sẽ đo lường chất lượng của thuật toán phân cụm theo cách minimax. Thuật toán phân cụm tốt nhất là thuật toán tối thiểu hóa khoảng cách tối đa của một điểm đến hàng xóm gần nhất của cùng một cụm trong khi nó tối đa hóa khoảng cách tối thiểu của một điểm đến hàng xóm gần nhất từ ​​một cụm khác.

Bạn cũng có thể quan tâm đến Thuật toán phân cụm lý thuyết thông tin không đối xứng .


Làm cách nào để kiểm tra sự phù hợp của cụm bằng cách sử dụng phương pháp minimax? Trình độ phân cụm kiến ​​thức của tôi rất cơ bản, vì vậy hiện tại tôi chỉ đang cố gắng hiểu làm thế nào để so sánh hai cách tiếp cận phân cụm khác nhau.
celenius

Bạn có thể vui lòng chia sẻ mã R cho hình đính kèm?
Andrej

@Andrej Tôi đoán là một đám mây Gaussian ( x<-rnorm(N);rnorm(N)->y) được chia thành 3 phần bởi r (với một trong số chúng bị xóa).

Tôi không biết về một thuật toán thực tế phù hợp với thước đo chất lượng đó. Bạn có thể vẫn muốn sử dụng K-Means et al. Nhưng nếu biện pháp trên bị phá vỡ, bạn biết rằng dữ liệu bạn đang xem không phù hợp với thuật toán đó.
bayerj

@Andrej Tôi không sử dụng R (đến từ ML chứ không phải số liệu thống kê :) nhưng những gì mbq gợi ý có vẻ ổn.
bayerj
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.