Data Science와 ML에서 "impute"는
- 누락된 데이터(missing data)를 대체값으로 채우는 과정을 의미
- 이는 '대체', '귀속', 또는 '채워넣기'로 번역될 수 있음.
Dataset을 다룰 때,
- 누락된 데이터가 있는 전체 행이나 열을 제거하는 대신,
- imputation은 다른 가용한 features 나 선행정보(prior)를 바탕으로 missing values를 추정하여 채워넣는 방법.
Imputation에서는
Training set 만을 사용하여
채워넣을 값을 구함.
주요 imputation은 다음과 같음:
- mean/median imputation:
- 해당 특성의 mean이나 median으로 missing values을 대체
- mode(최빈값) imputation:
- 가장 빈번한 값을 사용하여 누락된 데이터를 채움
- regression imputation:
- 다른 변수들을 기반으로 누락된 값을 예측
- regression model들이 사용됨.
- multiple imputation:
- 여러 개의 타당한 대체 데이터셋을 생성하고
- 각각에서 얻은 결과를 적절히 결합
-
더보기100명의 학생들의 수학 시험 점수 데이터가 있다고 가정.
그 중 10명의 학생들의 점수가 누락된 경우 multiple imputation을 사용하면 다음과 같은 과정을 거침:
1. 여러 개의 대체 데이터셋 생성:
예를 들어, 5개의 서로 다른 완전한 데이터셋을 생성.
각 데이터셋에서 누락된 10개의 점수는 다른 학생들의 점수, 학년, 이전 성적 등을 고려하여 서로 다르게 추정.
2. 각 데이터셋 분석:
5개의 각 데이터셋에 대해 원하는 분석(예: 평균 점수 계산)을 수행.
3. 결과 종합:
5개의 분석 결과를 결합하여 최종 결과를 얻음.
예를 들어, 5개의 평균 점수의 평균을 계산하고, 분산을 고려하여 신뢰 구간을 계산 등등.
이 방법을 통해, 단순히 하나의 값(예: 전체 평균)으로 누락된 점수를 대체하는 것보다 더 정확하고 신뢰할 수 있는 결과를 얻을 수 있음.
또한, 결과의 불확실성도 함께 제시할 수 있다는 장점도 가짐.
'Programming > ML' 카테고리의 다른 글
[ML] Yeast Dataset (0) | 2024.10.05 |
---|---|
[ML] kNN Classifier (k-Nearest Neighbors Classifier) (0) | 2024.10.05 |
[ML] scikit-learn: FunctionTransformer (0) | 2024.10.03 |
[ML] scikit-learn: Pipeline 사용법 (0) | 2024.10.03 |
[ML] scikit-learn: ColumnTransformer (0) | 2024.10.03 |