이상치 처리: Isolation Forest
ㅁ 이상치 처리
ㅇ 정의:
데이터셋에서 정상적인 패턴을 따르지 않는 데이터를 식별하고 처리하는 과정.
ㅇ 특징:
– 이상치는 데이터 분석 결과를 왜곡시킬 수 있음.
– 다양한 기법을 사용하여 이상치를 탐지하고 제거하거나 수정함.
ㅇ 적합한 경우:
– 데이터셋에 극단적인 값이 포함되어 있는 경우.
– 이상치로 인해 분석 결과의 신뢰도가 낮아질 때.
ㅇ 시험 함정:
– 이상치와 노이즈를 혼동하는 경우.
– 이상치를 무조건 제거하는 것이 항상 최선은 아님.
ㅇ 시험 대비 “패턴 보기” 예시:
1. “이상치는 항상 제거해야 한다.” (X)
2. “이상치 처리에는 탐지와 수정 두 가지 단계가 포함된다.” (O)
================================
1. Isolation Forest
ㅇ 정의:
랜덤한 하위 샘플링과 분리 기반의 방법론을 사용하여 이상치를 탐지하는 비지도 학습 기법.
ㅇ 특징:
– 트리 기반 알고리즘으로, 이상치를 다른 데이터와 분리하는 데 필요한 단계 수를 측정.
– 데이터의 스케일에 민감하지 않음.
– 대규모 데이터셋에서도 효율적으로 작동.
ㅇ 적합한 경우:
– 고차원 데이터셋에서 이상치를 탐지할 때.
– 데이터가 비선형적이고 복잡한 구조를 가질 때.
ㅇ 시험 함정:
– Isolation Forest가 항상 정확한 이상치를 탐지한다고 가정하는 경우.
– 하이퍼파라미터 튜닝 없이 기본 설정만 사용하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
1. “Isolation Forest는 지도 학습 방법이다.” (X)
2. “Isolation Forest는 이상치를 분리하는 데 필요한 단계를 기반으로 작동한다.” (O)
================================
1.1 Isolation Forest의 하위 주요 기술
ㅇ 정의:
Isolation Tree를 활용하여 데이터의 분리 깊이를 계산하는 기법.
ㅇ 특징:
– 랜덤하게 선택된 변수와 분할 값으로 트리를 생성.
– 이상치는 일반 데이터보다 적은 깊이에서 분리됨.
ㅇ 적합한 경우:
– 이상치 탐지가 필요한 대규모 데이터셋.
– 데이터의 분포를 명시적으로 알기 어려운 경우.
ㅇ 시험 함정:
– 트리의 깊이가 클수록 이상치가 아닐 가능성이 높다는 점을 간과하는 경우.
– 랜덤성을 고려하지 않고 결과를 해석하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
1. “Isolation Tree는 분리 깊이를 계산하여 이상치를 탐지한다.” (O)
2. “Isolation Tree는 모든 데이터가 동일한 깊이에서 분리된다고 가정한다.” (X)
ㅁ 추가 학습 내용
Isolation Forest와 관련된 주요 학습 내용을 다음과 같이 정리할 수 있습니다:
1. **Isolation Forest의 주요 하이퍼파라미터**
– **n_estimators**: 이 하이퍼파라미터는 생성할 트리의 수를 결정합니다. 더 많은 트리를 생성하면 모델이 더 안정적이고 정확할 가능성이 높아지지만 계산 비용이 증가합니다. 일반적으로 적절한 값을 설정해야 하며, 데이터셋 크기에 따라 조정합니다.
– **max_samples**: 각 트리를 학습할 때 사용할 샘플의 최대 수를 결정합니다. 이는 전체 데이터셋에서 샘플링된 데이터의 크기를 설정하며, 데이터셋 크기와 모델의 성능 간의 균형을 맞추는 데 중요합니다. 기본적으로 데이터셋 크기와 동일하거나 더 작은 값으로 설정됩니다.
– **contamination**: 데이터셋에서 이상치의 비율을 추정하는 값입니다. 이 값은 모델이 이상치를 탐지할 때 기준이 되며, 실제 데이터에 대한 사전 지식이 있다면 이를 기반으로 설정할 수 있습니다. 적절한 값을 설정하지 않으면 탐지 결과가 왜곡될 수 있습니다.
2. **이상치 탐지 결과를 해석하는 방법과 실제 데이터셋에서의 활용 사례**
– **결과 해석**: Isolation Forest는 각 데이터 포인트에 대해 이상치 점수(anomaly score)를 계산합니다. 이상치 점수가 높을수록 해당 데이터가 이상치일 가능성이 높습니다. 일반적으로 특정 임계값을 설정하여 이상치 여부를 결정합니다. 예를 들어, 이상치 점수가 임계값을 초과하면 해당 데이터를 이상치로 간주합니다.
– **활용 사례**:
– 금융 분야: 부정 거래 탐지(예: 신용카드 사기)
– 제조업: 기계 고장 조기 예측 및 예방 유지보수
– 의료: 환자 데이터에서 비정상적인 패턴 탐지
– 네트워크 보안: 비정상적인 트래픽 또는 침입 탐지
– 데이터 전처리: 학습 데이터셋에서 노이즈 제거
3. **Isolation Forest와 다른 이상치 탐지 기법과의 비교 및 장단점 분석**
– **Isolation Forest vs LOF (Local Outlier Factor)**:
– LOF는 데이터 포인트의 밀도 기반 접근법을 사용하여 이상치를 탐지합니다. 즉, 주변 데이터 밀도를 비교하여 이상치 여부를 판단합니다.
– Isolation Forest는 데이터 분리를 기반으로 하며, 데이터의 분포나 밀도에 의존하지 않습니다.
– 장점: Isolation Forest는 고차원 데이터에도 효과적이며, LOF는 밀도가 중요한 데이터셋에서 더 적합합니다.
– 단점: LOF는 고차원 데이터에서 성능이 저하될 수 있으며, Isolation Forest는 contamination 값을 잘못 설정하면 성능이 저하될 수 있습니다.
– **Isolation Forest vs DBSCAN**:
– DBSCAN은 클러스터링 기반 알고리즘으로, 밀도가 낮은 영역에 있는 데이터를 이상치로 간주합니다.
– Isolation Forest는 클러스터링을 수행하지 않으며, 데이터 분리를 통해 이상치를 탐지합니다.
– 장점: Isolation Forest는 클러스터링 구조가 없는 데이터셋에서도 효과적이며, DBSCAN은 밀도 기반 클러스터링이 필요한 경우 적합합니다.
– 단점: DBSCAN은 클러스터 크기와 밀도에 민감하며, Isolation Forest는 데이터셋 크기에 따라 성능이 영향을 받을 수 있습니다.
Isolation Forest는 다양한 데이터셋에서 이상치를 탐지하는 데 유용하며, 다른 기법과 비교하여 데이터의 특성과 목적에 따라 적합한 방법을 선택하는 것이 중요합니다.