Phân cụm một tập dữ liệu với cả hai biến rời rạc và liên tục


33

Tôi có một tập dữ liệu X có 10 thứ nguyên, 4 trong số đó là các giá trị rời rạc. Trong thực tế, 4 biến rời rạc đó là thứ tự, nghĩa là giá trị cao hơn hàm ý ngữ nghĩa cao hơn / tốt hơn.

2 trong số các biến rời rạc này được phân loại theo nghĩa là đối với mỗi biến này, khoảng cách, ví dụ từ 11 đến 12 không giống với khoảng cách từ 5 đến 6. Trong khi giá trị biến cao hơn hàm ý cao hơn trong thực tế, thang đo là không nhất thiết là tuyến tính (trên thực tế, nó không thực sự được xác định).

Câu hỏi của tôi là:

  • Có phải là một ý tưởng tốt để áp dụng thuật toán phân cụm phổ biến (ví dụ: K-Means và sau đó là Gaussian Mixture (GMM)) cho bộ dữ liệu này chứa cả hai biến rời rạc và liên tục?

Nếu không:

  • Tôi có nên loại bỏ các biến rời rạc và chỉ tập trung vào các biến liên tục?
  • Tôi có nên phân biệt rõ hơn những cái liên tục và sử dụng thuật toán phân cụm cho dữ liệu rời rạc không?

3
Bạn cần tìm một thước đo khoảng cách tốt (thường là nhiệm vụ khó khăn nhất trong việc phân cụm): nếu bạn có thể tìm một thước đo khoảng cách mô tả chính xác và chính xác mức độ tương tự (hoặc không) của các mục dữ liệu của bạn, thì bạn không nên có bất kỳ vấn đề nào.
Andrew

Nói về 2 biến phân loại mà bạn có hiệu lực mô tả chúng là thứ tự. Bây giờ, những gì về 2 biến "thứ tự" còn lại? Chúng khác với chúng như thế nào?
ttnphns

Chúng cũng rời rạc, nhưng cả hai đều có chức năng khoảng cách có ý nghĩa, tức là chúng dựa trên khoảng thời gian (nếu tôi không làm rối định nghĩa của dựa trên khoảng).
ptikobj

Câu trả lời:


14

7

Tôi đã phải đối phó với loại vấn đề này trong quá khứ và tôi nghĩ có thể có hai cách tiếp cận thú vị:

  • Liên tục hóa: biến đổi các thuộc tính tượng trưng với một chuỗi các số nguyên. Có một số cách để làm điều này, tất cả đều được mô tả trong bài viết này . Bạn có thể thử các thuật toán NBF, VDM và MDV.

  • Discretization: biến đổi các thuộc tính liên tục thành các giá trị tượng trưng. Một lần nữa, nhiều thuật toán, và một bài giảng tốt về điều này sẽ là bài viết này . Tôi tin rằng phương pháp được sử dụng phổ biến nhất là 1R của Holte, nhưng cách tốt nhất để biết chắc chắn là xem xét các đường cong ROC chống lại các thuật toán như EWD, EFD, ID, LD hoặc NDD.

Khi bạn có tất cả các tính năng của mình trong cùng một không gian, nó sẽ trở thành một vấn đề phân cụm thông thường.

Lựa chọn giữa liên tục hóa hoặc rời rạc tùy thuộc vào tập dữ liệu của bạn và các tính năng của bạn trông như thế nào, vì vậy hơi khó nói, nhưng tôi khuyên bạn nên đọc các bài viết tôi đã đưa cho bạn về chủ đề đó.


4

K-nghĩa là rõ ràng không có ý nghĩa gì, vì nó tính toán có nghĩa là (vô nghĩa). GMM cũng vậy.

Bạn có thể muốn thử các thuật toán phân cụm dựa trên khoảng cách với các hàm khoảng cách phù hợp, ví dụ DBSCAN.

Thách thức chính là tìm một chức năng khoảng cách!

Mặc dù bạn có thể đặt một hàm khoảng cách khác vào phương tiện k, nhưng nó vẫn sẽ tính toán giá trị trung bình có thể không có ý nghĩa nhiều (và có thể gây rối với hàm khoảng cách cho các giá trị rời rạc).

Dù sao, đầu tiên tập trung vào việc xác định "tương tự" là gì . Sau đó, cụm sử dụng định nghĩa tương tự!


2

Nếu bạn cảm thấy thoải mái khi làm việc với một ma trận khoảng cách kích thước num_of_samples x num_of_samples, bạn cũng có thể sử dụng random forests.

Nhấn vào đây để xem một tài liệu tham khảo có tiêu đề Unsupervised learning with random forest predictors.

Ý tưởng là tạo ra một tập dữ liệu tổng hợp theo shufflingcác giá trị trong tập dữ liệu gốc và đào tạo một trình phân loại để tách cả hai. Trong quá trình phân loại, bạn sẽ nhận được inter-sample distance matrix, trên đó bạn có thể kiểm tra thuật toán phân cụm yêu thích của mình.


-2

Cách tiếp cận hỗn hợp được áp dụng: 1) Sử dụng kỹ thuật phân loại (cây quyết định C4.5) để phân loại tập dữ liệu thành 2 lớp. 2) Sau khi hoàn thành, để lại các biến phân loại và tiến hành các biến liên tục để phân cụm.


Tôi không thể làm theo đề nghị của bạn. Mà hai lớp, và điều đó sẽ giúp như thế nào?
KarthikS

Tôi nghĩ điều mà Swapnil Soni cần nói là một khi chúng ta sử dụng kỹ thuật phân loại để phân loại nó thành hai lớp. Sau đó chúng ta có thể sử dụng nhãn của đầu ra phân loại như một biến nhị phân. Vì vậy, thay vì tất cả các biến phân loại, bạn nhận được một biến nhị phân chỉ định và sau đó thuật toán phân cụm của bạn có thể tiến hành với dữ liệu (bao gồm tất cả các biến nhị phân cộng 1 liên tục). Giải thích của tôi có thể sai mặc dù.
Tusharshar

hoàn toàn ổn!
Swapnil Soni
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.