Data Cleaning
실세계의 데이터들을 dirty 하다.
- incomplete
- missing data 등 데이터가 불완전하다.
- 원인 : 사람/컴퓨터의 실수, attribute에 관심이 떨어져서 정보를 유지하지 않음, 통계적인 정보만 존재하고 구체적인 개별 정보는 없는 경우
- noisy : error, outliers, noise 데이터 등
- inconsistent
- 일관되지 않은 정보가 존재한다.
- rating이나 단위의 차이, 분산되어 저장되는 동일 데이터 등
- 예
- age = 42, birthday = 03/07/2010
- rating = "1, 2, 3" vs "A, B, C"
- intentional
- missing data와 유사
- 의도적으로 잘못된 데이터를 넣는 경우
- 예 : 생년월일을 모를 경우 "1900.01.01"을 초기값으로 넣는 경우
- duplicate : 중복된 데이터가 존재하는 경우
Incompete Data (Missing Data)
데이터는 항상 available하지는 않다.
원인
- 장비의 실수
- 사람의 실수
- 데이터를 넣을 때 모르거나 잘못 이해해서 넣지 않은 경우
- 당시에는 중요하지 않다고 생각하여 채우지 않은 경우
대책
이 경우 추론을 통해 데이터를 채워넣어야 한다.
- ignore the tuple : missing이 있는 tuple(data)를 버린다.
- missing value를 수동으로 채워 넣음 : 사람이 빈 데이터를 채워 넣는다.
- 자동으로 채워 넣는다.
- 해당되는 attribute에 대해 모두 같은 값으로 채워넣기
- 평균을 이용해서 채워 넣기 → attribute의 모든 missing value가 같은 값을 갖는다.
- 카테고리로 나누고 카테고리의 평균으로 채워넣는다. → 같은 카테고리에 속하는 데이터는 같은 값을 갖는다.
- 다른 attribute들을 참고해서 data mining을 하여 missing value를 추론한다. → 가장 자주 사용되는 방법이다.
Noisy Data
데이터는 존재하지만 그 값이 잘못된 경우이다.
원인
- faulty data collection instruments
- data entry problem
- data transmission problem : 통신 중 잘못된 경우
- inconsistency : 단위가 다름으로 인해 값이 달라짐
대책
- clustering
- outlier를 찾아서 제거한다.
- real value에서 잘못된 값이기 때문에 outlier로 튀어나올 수 있다.
- combined computer-human inspection
- 컴퓨터를 통해 의심되는 것을 찾고 사람이 검토하는 방법이다.
- 사람이 전부 다 하는 것 보다는 노력을 줄일 수 있다.
'Computer Science > Data Science' 카테고리의 다른 글
[Data Processing] Data Reduction (0) | 2022.06.12 |
---|---|
[Data Processing] Data Integration (0) | 2022.06.12 |
Data Processing & Data Quality (0) | 2022.06.12 |
Outlier Discovery (0) | 2022.06.12 |
[Density-based Clustering] OPTICS - Ordering Objects (0) | 2022.06.12 |
댓글