2017-09-20 5 views
0

의 아웃 라이어를 자동으로 삭제합니다. 단일 링크 방법으로 데이터 세트의 특이점을 쉽게 식별 할 수 있습니다. 이제 이상 치를 자동으로 제거하고 싶습니다. 내 생각은 지정된 거리 값을 초과하는 데이터를 제거하는 것입니다. Plot 당신이 결과 dendrogram은 볼 수에서클러스터 분석에서 계산 된 응집 형 계층 적 클러스터링 데이터

library(cluster) 
library(dendextend) 
cluster<-agnes(mtcars,stand=FALSE,method="single") 
dend = as.dendrogram(cluster) 

: 여기 mtcars의 예제 데이터 내 코드입니다. 마지막 4 대 ("Duster 360", "Camaro Z28", "Ford Pantera L", "Maserati Bora")는 outliers로 식별되므로 구멍 행 (데이터 세트 mtcars)을 제거하고 싶습니다. 자동으로 어떻게 할 수 있습니까? 예 : 높이가 70보다 큰 행을 제거 하시겠습니까? 이상 치를 제거하는 많은 가능성을 시도했지만 데이터에 적용되지 않는 것 같습니다.

고맙습니다.

+2

나는 당신과 같은 매우 간단합니다 생각하지 않습니다 제안하고있다. 당신은 "마지막 4 대가 확인 된 이상 치이다"라고 말합니다. 나는 당신에게 마세라티가 이상한 사람인 것을 줄 것이다. 그러나 왜 당신은 다른 3 명은 외계인이고 3 명은 작은 집단이 아니라고 말하니? – G5W

+0

아웃 라이어가 잘못된 단어 일 수 있습니다. 거리가 70 이상인 데이터를 제거하고 싶습니다. – Jules

답변

0

이 시도 :

# your code 
library(cluster) 
cluster<-agnes(mtcars,stand=FALSE,method="single") 
dend = as.dendrogram(cluster) 
plot(dend) 

#new code  
hclu <- as.hclust(cluster) # convert to list that cutree() understands 
groupindexes <- cutree(hclu, h = 70) # cut at height 70 - creates 3 groups/branches 
mtcars[groupindexes != 1,] # "outliers" - not in group 1 but in groups 2 and 3 
mtcars[groupindexes == 1,] # all but the 4 "outliers" 

결과 1 -은 "아웃 라이어"

   mpg cyl disp hp drat wt qsec vs am gear carb 
Duster 360  14.3 8 360 245 3.21 3.57 15.84 0 0 3 4 
Camaro Z28  13.3 8 350 245 3.73 3.84 15.41 0 0 3 4 
Ford Pantera L 15.8 8 351 264 4.22 3.17 14.50 0 1 5 4 
Maserati Bora 15.0 8 301 335 3.54 3.57 14.60 0 1 5 8 

결과 2 :

     mpg cyl disp hp drat wt qsec vs am gear carb 
Mazda RX4   21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 
Mazda RX4 Wag  21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 
Datsun 710   22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 
(....and ~30 other rows ....) 
+0

정말 고마워요! – Jules

0

"규칙"이 연결 거리 인 경우 데이터 마이닝에서 이전 아웃 라이어 방법 중 하나 인 가장 가까운 이웃 이상 값 검색을 다시 생성했습니다.

Ramaswamy, Sridhar, Rajeev Rastogi, 및 Kyuseok Shim. "대규모 데이터 세트에서 아웃 라이어를 마이닝하기위한 효율적인 알고리즘" ACM 시그 모드 기록. Vol. 012. ACN, 2000.

AGNES의 단일 링크는 O (n3) 시간이 걸리지 만 인덱스는 O (nlog n)의 kNN 이상 값을 처리 할 수 ​​있습니다.

관련 문제