전체 글 6

[데이터전처리] Outlier(이상치/이상값/특이값/특이치 등) 탐지 방법(detection method) : 4. DBSCAN 알고리즘 with 파이썬

그동안 데이터전처리 관련 포스팅을 아주 오랫동안 쉬었다가 오랜만에 작성을 해본다. 지난번에 포스팅 한 이상치 처리 시리즈는 모두 일변량 이상치 감지에 관한 것이었고, 오늘부터는 이변량과 다변량 이상치 감지에 관한 포스팅으로 작성하려고 한다. 그리하여 다변량 분석에 속하는 첫번째 이상치 감지 알고리즘은 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)에 관한 것이다. 이 알고리즘은 클러스터에 속하지 않는 점을 이상값으로 식별하는 클러스터링 알고리즘인 K-Means의 대안으로 사용하기도 한다. 클러스터 수를 미리 지정할 필요가 없다는 점을 제외하면 K-Means와 같다. 클러스터링은 유사한 데이터 포인트들이 그룹화되는 방식으로 데이터 포..

[데이터전처리] Outlier(이상치/이상값/특이값/특이치 등) 탐지 방법(detection method) : 3. Isolation Forest 알고리즘 with 파이썬

Isolation Forest는 앙상블 의사 결정 트리 기반 모델에 속하는 비지도 학습 알고리즘으로 의사 결정 트리를 기반으로 구축되었다. 이 방식은 먼저 올린 IQR이나 Z-score 방식 외 주요 인기있는 이상 감지 알고리즘과는 많이 다르다. 다른 다수의 방식들은 데이터의 정상 영역을 찾는 것을 시도한 다음 정상 영역이라고 정의한 영역 외부의 모든 항목이 이상치 또는 비정상인지를 식별한다. Isolation Forest 알고리즘 개념 그러나 Isolation Forest 방법은 다르게 작동한다. 데이터에 Isolation Forest 알고리즘을 적용하면 이상값들이 일반 지점에 비해 나머지 샘플에서 분리(격리)되는 경향이 있다. 그래서 각 데이터 포인트에 점수를 부여하여 정상적인 관측값과 영역을 프로파..

[데이터전처리] Outlier(이상치/이상값/특이값/특이치 등) 탐지 방법(detection method) : 2. Z-score 방식 with

이상치 탐지 두번째 시간은 Z-score 방식에 대해서 알아본다. Z-score는 통계에서 중요한 개념이고, 다른 이름으로 Standard-score라고도 한다. 이 방법은 변수에 가우스 분포가 취하고 있다는 가정으로 시작하고, 관측치가 평균에서 벗어난 표준 편차의 수를 나타낸다. 포인트 그룹의 평균 및 표준 편차와의 관계 측면에서 데이터 포인트를 설명하는 방법이라고 볼 수 있다. 이 score는 데이터 값이 평균보다 큰지 작은지를 확인할 수 있게 해주고, 평균 포인트에서 얼마나 떨어져 있는지를 이해할 수 있도록 도움을 주는데, 보다 구체적으로 Z-score는 데이터 포인트가 평균에서 얼마나 떨어져 있는지를 나타내고 있다. Z score = (x -mean) / std. deviation 다음과 같이 추..

[데이터전처리] Outlier(이상치/이상값/특이값/특이치 등) 탐지 방법(detection method) : 1. IQR 방식 with 파이썬

데이터 내에서 이상값을 탐지하는 강력한 방법 중 하나로 탐색적 데이터 분석(EDA)의 선구자인 John Tukey가 개발한 이상치 검출 IQR (사 분위 범위) 방법이 있다. 역사가 오래된 전통적인 방법이다. 이 방법이 고안된 시대는 수작업으로 계산하고 플로팅도 하는 시대였기 때문에 대체적으로 데이터셋은 일반적으로 작았으며 데이터가 말해주고 있는 이야기 자체를 이해하는 데에 중점을 두었다고 한다. John Tukey가 기여한 박스플롯(box-and-whisker 플롯이라고 불리기도 함)을 본 적이 있다면 이 방법이 실제로 작동하는 것을 본 것이나 다름없다 :) IQR Method란? 박스플롯 그래프는 사 분위수(데이터를 동일한 사이즈의 4개 그룹으로 나누는 기준 점)를 사용하여 데이터의 모양을 표시한다...

[EDA] 효율적인 데이터 탐색 & 시각화 도구 : 파이썬 '판다스 비주얼 어날리시스(pandas visual analysis)' 라이브러리 활용하기

데이터 분석을 하는 사람이라면 데이터 분석 초반에 상당 수의 시간을 EDA(Exploratory Data Analysis) 작업에 많이 쏟게 된다. 이 과정은 왜 필요한 것일까? EDA 작업을 통해서 전반적인 변수들의 분포 및 변수간의 관계는 물론 특이하거나 이상한 패턴을 시각화를 통해서 발견할 수도 있고, 정확한 분석 결과를 도출하기 위해 도움이 될 만한 새로운 변수&피쳐 생성 관련한 아이디어도 얻을 수 있기 때문이다. 참고) EDA가 무엇인가는 하단의 포스팅에서 살펴볼 수 있다 :) [데이터분석] 탐색적 데이터 분석 'EDA(Exploratory Data Analysis)'의 중요성 데이터 분석의 여러 과정 중, 가볍다면 가볍게 볼 수 있고, 쉽게 지나칠 수 있는 과정인 'EDA의 중... blog...