Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- stopwords
- join
- koNLPy
- matplotlib
- 불용어
- 누락값
- BDA
- KoNLP
- 데이터프레임
- IterativeImputer
- 파이썬
- DataFrame
- 선형보간
- 결측치대체
- value_counts
- countplot
- SimpleImputer
- 대치법
- MSE
- Seaborn
- subplots
- sklearn
- 보간법
- Boxplot
- Outlier
- Python
- 전처리
- interpolate
- 이상치
- 결측치
Archives
- Today
- Total
ACAIT
[BDA 데분기] 3주차 - 결측치, 누락값, 이상치 처리 방법 본문
1. 결측치 & 누락값 & 이상치에 대하여
1-1. 분석에서 결측치와 누락값은 중요한 내용
- 결측치(Na): 결측치일 수도 있고 정말 값이 'Na'일 수도 있다.
- 누락값(NaN): 휴먼 에러로 인한 누락값. 어떤 이유로 누락?
- 두 개의 공통점: 값이 없다.
1-2. 결측치와 누락값은 왜 처리?
- 분석에 방해. but, Na값이 정말 값이면 인사이트가 될 수도 있다.
- Na 결측치, 누락값이라 생각한다면 -> 방해가 된다는 것은 머신에게 학습시키기 위해
- Na 값을 머신에게 학습시키기 위해 처리.
1-3. Na값이 왜 중요?
- x값이 누락값의 실제 값과 가장 유사히 대입하면 실제값과 예측값이 가장 같아짐.
- 결측치가 정말 중요하고, 단순히 접근할 범위가 아님.
- 결측치를 실제값과 유사하지 않게 적으면 결국 차이 발생, 모델 성능에도 영향.
1-4. 결측치 처리 방법은?
- 간단한 방법: 날린다
- 결측치를 날리는 기준은? 전체 비중의 1% 미만이면 날림. 절대값에 따라 달라질 수 있음.
- 결측치가 상당한 비중을 차지하는 경우(전체 데이터셋 컬럼에서 30~40%)
- 결측치를 무슨 기준으로 처리?
- 다 날리면 머신 학습 데이터양 줄어듬.
- 성능에 영향 미칠 수 있음.
- 결측치를 최대한 채워서 메우는 형식을 생각해야 함.
- 너무 다 결측치면? 다 날려도 상관없다.
- 80~90% 결측치 컬럼이면 비즈니스적인 이해관계 보고 도메인 지식 이용해서 날리기.
- 결측치 채울 수 없다면?
1-5. 결측치 많은 컬럼에서 단순 접근(평균 등)으로 결측치 대체?
- 기온 데이터는 날씨가 계절 영향을 받는데 단순 평균으로만 하면 문제가 크다.
1-6. 결론
- 결측치는 단순히 생각할 것이 아니다.
- 다양히 고민하고 통계적으로 다방면 고민해야 한다.
2. 결측치 나타내는 용어
- 완전 무작위 결측치 MCAR(Missing Completely at Random)
- 완전 무작위 -> 어떤 인간의 편향이나 기계 결함이 아니라 완전 무작위 랜덤.
- 무작위 결측 MAR(Missing at Random)
- 어떤 상황으로 인해서 발생하는 경우, 기업 제조과정에서 A제조공정 B제조공정 중 A가 갑자기 문제 발생해서 A공정에만 문제가 발생한 결측치.
- 비무작위 결측 NMAR(Missing at Not Random)
- 결측값인데 정말 na가 하나의 특성이 될 수 있다.
- 서베이 -> 소득에 대한 서베이 하면 자신의 소득 공개 꺼림. 값을 na로 처리.
2-1. 결측치 처리 방법
- 결측치 날리고 제외하고 진행
- 평균, 중위값, 등등 어떤 특정 통계 값으로 대체
- 보간법(interpolation)
- 대부분 보간법을 많이 배울 예정
- 선형보간법, Spline 보간법, time 시간 보간법 등등
2-2. 결측치 대체 방법
- 샘플 데이터 뽑아서 확인해 보기.
2-3. 누락값 대체 방법
- ffill: 누락값이 바로 이전 값으로 변환됨.
- bfill: 누락값이 바로 이후 값으로 변환됨.
2-4. 보간법
- 아래 중 하나의 method 사용해야 함.
- 보간법은 결측치를 최대한 최근 경향에 맞추는 것.
['linear', 'time', 'index', 'values', 'nearest', 'zero', 'slinear', 'quadratic', 'cubic', 'barycentric', 'krogh', 'spline', 'polynomial', 'from_derivatives', 'piecewise_polynomial', 'pchip', 'akima', 'cubicspline']
'학회 활동 > BDA 7기(데이터 분석 기초반)' 카테고리의 다른 글
[BDA 데분기] 4주차 필수 과제 2 - 시계열 데이터 결측치 대체, 시각화 (0) | 2024.01.31 |
---|---|
[BDA 데분기] 4주차 필수 과제 1 - sklearn SimpleImputer (0) | 2024.01.31 |
[BDA 데분기] 4주차 - 보간법 보충, sklearn, statsmodels (1) | 2024.01.08 |
[BDA 데분기] 3주차 필수 과제 - interpolation 보간법 응용 (0) | 2024.01.08 |
[BDA 데분기] 2주차 - Python 기초 문법 (1) | 2024.01.08 |