4-1. 정형 데이터 피쳐엔지니어링- 결측치와 이상치
결측치(missing value)
= 데이터셋에 누락된 값 (Null, NA)
- 분석 관점에서는 데이터가 없다는 정보 자체에 의미가 있으나,
- 대다수 모델에는 공백으로 넣을 수 없으므로 제외 or 예측으로 처리
- 결측치를 제외할 경우
- 행을 제외할 경우: 데이터의 편향이 강화되어 모델 성능에 타격
- 열을 제외할 경우: 결측치 포함열의 데이터가 매우 중요할 수 있음
-
다양한 가정을 통한 적절한 전략 필요
- Missingno: 결측치 체크하는 시각화 라이브러리
- 결측치 분포의 빠른 확인 가능
pip install missingno
으로 설치
결측치와 EDA
- 결측치 수에 따른 처리 방법
- 결측치가 과반수인 경우: 결측치 유무만 사용 or 결측치 포함 열 제외
- 결측치가 5% 이상인 경우: 결측치가 유의미한지 파악 후 대푯값으로 채우기
- 결측치가 매우 적은 경우: 결측치 포함 행 제외 또는 대푯값으로 채우기
- 결측치를 채우는 방법
- 규칙 기반 (Rule-Based)
- 도메인 지식 or 논리적 추론에 의한 방법
- 지나치게 복잡 or 단순한 경우 잘못된 편향이 반영될 수 있음
- e.g. 위도/경도 컬럼이 있다면, 도로명주소 컬럼 제거 가능
- 집단 대푯값
- 특정 집단의 대푯값 사용
- 집단 설계가 중요하고, 이상치에 민감할 수 있음
- 모델 기반
- 회귀모델 등 다양한 모델을 통해 예측
- 복잡한 패턴을 예측할 수 있으나 과적합이 발생할 수 있음
이상치(outlier)
= 관측된 데이터의 범위에서 과하게 벗어난 값
- 명확한 기준은 없으나, 사분위수(IQR), 표준편차/z-score 등의 기준 또는 DBSCAN, Isolation Forest를 통한 군집으로 이상치 판별
- IQR (Inter Quantile Range) = 3분위수와 1분위수의 차이 (Q3-Q1)
- 1분위수 - 1.5 \* IQR 이상
- 3분위수 - 1.5 \* IQR 이상
seaborn.Boxplot
- 표준편차
- 평균 +- [2, 3] \* 표준편차
- 곱하는 값을 작게 할수록 이상치를 많이, 크게 할수록 엄격하게 봄
- DBSCAN (Density-Based Spatial Clustering of Applications with Noise)
- 밀도 기반 클러스터링 방법
- 주변 포인트의 개수/경계/노이즈 등을 설정해 집단을 자동으로 설정
- 클러스터에 동떨어진 포인트가 생길 경우 자동으로 이상치로 판별
- 주의점) 정규화 필수, 밀도가 균일한 데이터에 시행 가능, 다양한 파라미터 실험 필요
- Isolated Forest
- 기준에 따라 그룹을 분리
- 루트 노트와의 거리를 통해 이상치 탐지
- 주의점) 거리 정규화 필수, 랜덤에 의한 초기 분리에 따른 이상치 존재, 이상치 많으면비효율적
4-2. 정형데이터 피처엔지니어링 - 클러스터링과 차원축소
피처 엔지니어링
- 보다 나은 특성을 통해 좋은 모델을 만들고, 해석에 용이하게 만드는 과정