각 10 개의 XY 좌표를 포함하는 더 작은 데이터 세트가 있습니다. 나는 Centroid를 얻기 위해 Matlab (R2012a)와 k-means를 사용하고 있습니다. 일부 클러스터 (아래 그림 참조)에서 극한의 점을 볼 수 있습니다. 내 데이터 집합은 그대로 유지하고 하나의 아웃 라이너는 내 중심 점의 값을 파괴합니다. 이 점들을 제외시키는 쉬운 방법이 있습니까? 아마도 Matlab에는 '특이점 제외'기능이 있지만 도구 메뉴의 아무 곳에서나 볼 수는 없습니다. 도움을 주셔서 감사합니다! (그래 나는이 :-)에 새로운 오전k- 평균 클러스터에서 특이점 제거
답변
k-means는 데이터 세트의 특이점에 매우 민감 할 수 있습니다. 그 이유는 k-means가 제곱합의 최적화를 시도하기 때문입니다. 따라서 큰 편차 (이상 값과 같은)가 많은 무게를 갖습니다.
이상치가있는 데이터 세트가있는 경우 DBSCAN (Density-Based Spatial Clustering of Applications with Noise)과 같은 특수 노이즈 처리 알고리즘을 사용하는 것이 좋습니다. "N"은 머리 글자 어에 유의하십시오. k-means뿐만 아니라 많은 다른 클러스터링 알고리즘을 사용하면 DBSCAN은 밀도가 낮은 영역에있는 클러스터 객체가 아닌 으로 결정할 수 있습니다.
당신은 "이상치 제거"와 같은 뭔가를 찾고 다른 사람은 위의 링크대로,의 "를 구성하는 것에 대한 더 엄격한 수학적 정의가없는 것 이상한 "- http://en.wikipedia.org/wiki/Outlier#Identifying_outliers.
감독자가 아닌 클러스터를 수행 할 때 외부인 검색은 클러스터가 무엇인지 배우려고하고 "아니오"클러스터에 해당하는 데이터 포인트가 무엇인지 알기 때문에 더욱 어려워집니다.
하나의 간단한 정의는 다른 모든 데이터 포인트에서 "멀리 떨어져있는"모든 데이터 포인트를 이상치로 간주하는 것입니다. 예를 들어, 당신은 다른 지점으로 최대 최소 거리와 지점을 제거하는 것이 좋습니다 :
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);
당신은 몇 번 위가 반복적으로 점을 제거하기 위해 반복 할 수 있습니다. 이렇게하면 인접한 이웃이 적어도 하나 이상있는 일은 제거되지 않습니다. WIKI 페이지를 읽고 더 도움이 될만한 알고리즘을 보았다면이를 시도하고 구현하여 구체적인 접근 방법에 대해 물어보십시오.
- 1. 포인트 클라우드의 특이점 제거
- 2. MATLAB의 k- 평균 알고리즘
- 3. 파이썬 k- 평균 알고리즘
- 4. Appfabric 클러스터에서 호스트 제거
- 5. 격자 (플롯)의 플롯에서 특이점 제거
- 6. SPSS K- 평균 및 R
- 7. K- 평균 용 커널 함수
- 8. K 평균 알고리즘 구현하기 JDBC
- 9. 다중 노드 클러스터에서 Vertica 제거
- 10. K- 평균 및 순차 K- 평균에서 같은 결과가 나옵니까?
- 11. 이미지 유사도 및 k 평균 클러스터링
- 12. K- 평균 - 최소 거리를 계산하는 방법
- 13. scikit-learn을 사용한 순차적 k- 평균 클러스터링
- 14. Apache Mahout 소개 K- 평균 클러스터링
- 15. 시계열 데이터에서 K- 평균 클러스터링을 수행하려면 어떻게해야합니까?
- 16. C++ : K- 평균 클러스터링 G- 매트릭스
- 17. MATLAB을 사용하여 K 평균 클러스터링에서 반복을 플로팅
- 18. 상위 -k 요소를 찾는 평균 시간 복잡도
- 19. K 비디오의 모든 프레임 히스토그램의 평균 클러스터링
- 20. 다차원 이종 공간에서의 K- 평균 클러스터링
- 21. 이미지 클러스터링을위한 k- 평균 알고리즘 수정
- 22. 친화도 전파 v 기본 k- 평균 알고리즘
- 23. Mahout 벡터를 사용하여 스파크 k- 평균
- 24. 분산 계산에 대한 K- 평균 계산
- 25. 파이썬에서 벡터화 평균 K- 인접 이웃 거리
- 26. K & R 서식 지정 제거
- 27. k-ary 검색의 평균 비교는 왜 k * ln (N)/ln (k)입니까?
- 28. PCA 및 QQ 음영에서 특이점 식별 및 제거
- 29. 특이점 그리드 시스템 거터
- 30. MATLAB - 특이점 경고
당신이 찾고있는 단어가 Outlier (Outener)가 아니라 Outlier (http://en.wikipedia.org/wiki/Outlier)라고 생각합니다. 어쩌면이 방법을 통해보다 쉽게 솔루션을 찾을 수 있습니다. – Medo42
사용중인 소프트웨어를 언급하고 이에 따라 태그를 지정하는 것도 좋은 생각입니다. – kotekzot
죄송합니다, 실수로 outliners 썼다; (내가 검색의 공정한 비트를 했어,하지만 난 matlab에 초급이고 지금까지 내가 만난 코드는 꽤 무거워.) ORC와 ODIN에서 보았지만 matlab 도움말 기능에 따르면 도구 모음에서 'outlier 제외'라는 항목이 있어야하지만 찾을 수 없습니다. R2012a를 사용하고 있습니다. – carro