Tôi có số lượng các tập dữ liệu nhỏ hơn, chứa 10 tọa độ XY mỗi. Tôi đang sử dụng Matlab (R2012a) và k-phương tiện để có được một centroid. Trong một số cụm (xem hình bên dưới) tôi có thể thấy một số điểm cực đoan, beacuse tập dữ liệu của tôi là nhỏ như họ đang có, một outliner phá hủy giá trị của centroid của tôi. Có cách nào dễ dàng để loại bỏ những điểm này? Giả sử Matlab có chức năng 'loại trừ các ngoại lệ' nhưng tôi không thể nhìn thấy nó ở bất cứ nơi nào trong menu công cụ .. Cảm ơn sự giúp đỡ của bạn! (Và vâng Tôi mới vào :-) nàyXóa các ngoại lệ khỏi cụm K có nghĩa là
Trả lời
k-means có thể khá nhạy cảm với các ngoại lệ trong tập dữ liệu của bạn. Lý do đơn giản là k-means cố gắng tối ưu hóa tổng số các ô vuông của các ô vuông. Và do đó một độ lệch lớn (chẳng hạn như của một ngoại lệ) nhận được rất nhiều trọng lượng.
Nếu bạn có bộ dữ liệu ồn ào với các ngoại lệ, bạn có thể nên sử dụng thuật toán có xử lý tiếng ồn chuyên biệt như DBSCAN (Density-Based Spatial Clustering of Applications with Noise). Lưu ý chữ "N" trong từ viết tắt: Tiếng ồn. Ngược lại với ví dụ: k-means, nhưng cũng có nhiều thuật toán phân cụm khác, DBSCAN có thể quyết định các đối tượng cụm không phải nằm trong vùng có mật độ thấp.
Bạn đang tìm kiếm một cái gì đó như "loại bỏ outlier" và như những người khác đã liên kết ở trên, "không có định nghĩa toán học chặt chẽ về những gì cấu thành một ngoại lệ "- http://en.wikipedia.org/wiki/Outlier#Identifying_outliers.
Phát hiện trước đó thậm chí còn khó khăn hơn khi bạn thực hiện phân cụm không giám sát vì cả hai bạn đang cố gắng tìm hiểu cụm là gì và điểm dữ liệu nào tương ứng với cụm "không".
Một định nghĩa đơn giản là xem xét tất cả các điểm dữ liệu "xa" từ mọi điểm dữ liệu khác như một ngoại lệ. Ví dụ: bạn có thể xem xét việc xóa điểm có khoảng cách nhỏ nhất tối đa đến bất kỳ điểm nào khác:
x = randn(100,2);
x(101,:) = [10 10]; %a clear outlier
nSamples = size(x,1);
pointToPointDistVec = pdist(x);
pointToPointDist = squareform(pointToPointDistVec);
pointToPointDist = pointToPointDist + diag(inf(nSamples,1)); %remove self-distances; set to inf
smallestDist = min(pointToPointDist,[],2);
[maxSmallestDist,outlierInd] = max(smallestDist);
Bạn có thể lặp lại một vài lần để xóa điểm một cách lặp lại. Lưu ý rằng điều này sẽ không loại bỏ các ngoại lệ xảy ra để có ít nhất một người hàng xóm lân cận. Nếu bạn đọc trang WIKI và xem thuật toán có thể hữu ích hơn, hãy thử và triển khai nó và hỏi về cách tiếp cận cụ thể đó.
- 1. k-có nghĩa là cụm trống
- 2. Matlab: K-có nghĩa là clustering
- 3. Xóa các ngoại lệ khỏi tính hệ số tương quan
- 4. k-có nghĩa là phân cụm trong R trên ma trận rất lớn, thưa thớt?
- 5. Ngoại lệ "javax.servlet.jsp.JspException: Broken pipe" có nghĩa là gì?
- 6. Xóa các ngoại lệ khỏi hình ảnh có kích thước xám
- 7. Weka đơn giản K-có nghĩa là phân nhóm các bài tập
- 8. Cụm từ này có nghĩa là "!!"
- 9. k-có nghĩa là giá trị trả về trong R
- 10. xóa các ngoại lệ trong bwplot
- 11. Xóa đối tượng khỏi từ điển có thể thay đổi sẽ ném ngoại lệ
- 12. Tô màu của gamgrix bằng các cụm k-means?
- 13. Ý nghĩa của ngoại lệ Haskell
- 14. K có nghĩa là tìm khuỷu tay khi cốt truyện khuỷu tay là một đường cong mịn
- 15. Cụm từ thông dụng \ | (? = \ W =>) có nghĩa là gì?
- 16. cụm từ thông dụng (? <! -) có nghĩa là
- 17. Ngoại lệ là NULL luôn
- 18. Ngoại lệ trong các trường hợp ngoại lệ trong C++
- 19. Cách xóa thư mục khỏi cụm Hadoop có dấu phẩy (,) trong tên của nó?
- 20. 8badf00d có nghĩa là gì?
- 21. Chia nhỏ các ngoại lệ phân tích cụm từ thông dụng trong JavaScript
- 22. Liquibase thêm-ngoại-key-constraint deferrable: có nghĩa là gì?
- 23. Python: sử dụng cụm từ thông dụng để xóa khoảng trắng khỏi tất cả các dòng
- 24. Sự khác biệt giữa hàm "k means" và "fuzzy c có nghĩa là gì"?
- 25. nhận ngoại lệ: Không có bean có tên 'springSecurityFilterChain' được định nghĩa
- 26. Ý nghĩa của các hằng số bắt đầu bằng 'k' là gì?
- 27. Chuỗi ngoại lệ Python
- 28. Cách tính BIC để phân cụm k trong R
- 29. Trình ánh xạ và giảm cho K có nghĩa là thuật toán trong Hadoop trong Java
- 30. Bạn có viết ngoại lệ cho các vấn đề cụ thể hoặc ngoại lệ chung không?
Tôi nghĩ từ bạn đang tìm kiếm là Outlier (http://en.wikipedia.org/wiki/Outlier), không phải là Outliner. Có lẽ điều này sẽ giúp bạn tìm một giải pháp dễ dàng hơn. – Medo42
Bạn cũng nên đề cập đến phần mềm nào bạn đang sử dụng và gắn thẻ cho phù hợp. – kotekzot
xin lỗi, tôi đã viết outliners vô tình, (Tôi đã thực hiện một chút công bằng tìm kiếm nhưng tôi là một người mới bắt đầu trong MATLAB và các mã mà tôi đã gặp cho đến nay là khá nặng.Nhìn vào ORC và ODIN, nhưng theo chức năng trợ giúp MATLAB nên được gọi là 'loại trừ các ngoại lệ' trong thanh công cụ nhưng tôi không thể tìm thấy nó, tôi đang sử dụng R2012a. – carro