모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!!
🧩 이번 포스팅부터는 Data Preprocessing, 즉 데이터 전처리에 대해서 다룰 생각입니다. 어쩌면 정확한 데이터 분석이나 마이닝을 위해서 가장 중요한 부분이라고도 할 수 있기 때문에, 자세히 알아보도록 하겠습니다.
🧩 Data Preprocessing은 아래와 같은 방법들로 구성됩니다.
▪ Data Cleaning
▪ Data Integration
▪ Data Reduction / Transformation
▪ Dimensinality Reduction
👉 전처리는 데이터의 상황에 맞는 여러가지 measure들을 가지고 있습니다.
🧩 이번 포스팅에서는 첫번째 방법인 Data Cleaning을 알아보겠습니다.
🚩 1. Data Cleaning 소개
저희가 가지고 있는 데이터는 대부분 불필요한 부분을 가지고 있거나, 정확하지 않은 부분을 가지고 있는 데이터일 가능성이 높습니다.
이런 부분들을 만드는 원인은 여러가지가 있는데, 이 중에서 대표적인 몇가지를 가져왔습니다.
▪ Incomplete : 데이터들 사이에 missing value 존재
▪ Noisy: 데이터 중간에 섞여있는 noise, errors, outliers
▪ Inconsistent : 두 feature의 불일치 - ex) age = 56, birth = 2020
▪ Intentional : 잘못된 일반화 - ex) 1월 1일은 모든 사람들의 생일이다.
이를 적절히 처리해 깨끗한 데이터를 만들어줘야 합니다. 흔히 발생하는 Missing 과 Noisy 데이터를 살펴보겠습니다.
🚩 2. Incomplete (Missing) Data
▪ 몇몇 attribute에서 value가 없는 데이터를 의미합니다.
▪ 이러한 missing value가 나타나는 원인은 다음과 같습니다.
- 측정 장비의 오작동
- 기록된 다른 자료와의 불일치에 의한 삭제
- 오해로 인한 데이터 미입력
- 초기 입력 시 특정 데이터가 불필요하다고 생각되는 경우
▪ 이러한 데이터들은 빈 자리에 임의의 값을 넣어 처리할 수 있습니다. 채워넣는 값들은 다음과 같은 기준으로 정해집니다.
📝 처리 방법
- 해당 튜플(object) 무시 : 일반적인 class의 label이 존재하지 않는 튜플인 경우 무시합니다.
- 빈 value를 수동으로 일일이 입력 : 하지만 작업량이 너무 많고, 사실상 불가능합니다.
- 빈 value에 자동으로 입력
▪ global constanct : 임의의 숫자 / 문자 입력 ex) 1, 0, 'NaN'...
▪ attribute mean : attribute의 평균 입력
▪ attribute mean - same class : 같은 class를 가진 object의 평균 입력
▪ Bayesian formula or Decision Tree : inference 기반 - prediction 입력
🚩 3. Noisy Data
▪ 데이터에서 Noise는 다음과 같이 정의됩니다.
- 측정된 변수의 random error / variance
- Duplicated records(중복기록)
- Incomplete / Inconsistent
📝 처리방법
▪ Binning : 정렬되어 있는 데이터에 대해 같은 사이즈의 bins로 나눔(equal-frequency)
- smooth by bin means / median / boundaries
▪ Regression : 가지고 있는 데이터를 바탕으로 noise를 fitting해서 noise 보정
- smooth by fitting the data into regression functions
▪ Clustering : outlier 발견 및 제거
▪ Semi-Supervised : 컴퓨터와 사람의 noise 발견 / 처리
각 처리 방법은 앞으로 좀 더 자세히 다룰 것이기 때문에 여기서는 간단히 개념만 짚어보았습니다🙂.
🚩 4. Data Cleaning Process
1. Data Discrepancy Detection : 데이터 불일치 발견
▪ Using Metadata : 데이터에 대한 정보
- 데이터의 소속 domain, 데이터 범위, 데이터의 distribution
▪ Checking Uniqueness Rule : 데이터가 유일한가
- ex) 주민등록번호
▪ Consecutive Rule : 데이터가 연속적인가. 어색하지 않은가.
▪ Null Rule : 데이터에 null 값이 존재하는가.
▪ Data Scrubbing : 도메인에 대한 기본 지식을 바탕으로 오류검출 / 수정
▪ Data Auditing : 데이터를 분석하여 규칙을 검출하고 오류를 검출 -> Clustering
2. Data Migration & Integration : 데이터 이동 / 통합
▪ Data Migration Tools : 변환할 attribute 지정
- ex) sex → gender
▪ ETL tools : Extraction / Transformation / Loading
▪ 사용자 인터페이스(UI)를 통한 데이터 변환 지정
3. Integration of the two Process : 불일치 검출 / 변환
▪ 반복적이고 상호적인 단계를 통해 두 데이터 간의 Integration 진행
🧩 이렇게 데이터 전처리의 첫 번째 단계인 Data Cleaning에 대해서 알아보았습니다. 간단하게 개념만을 다루었고 특정 예시를 들지 않았기에 이번 포스팅만 보고 바로 이해하시는 것은 어렵다고 생각하지만, 그냥 이런 것들이 있구나~~ 정도만 알면 좋을 것 같습니다. 이번에 대략적으로 다룬 개념들을 앞으로 더 세부적으로 다룰테니, 천천히 배워봅시다😊. 다음 포스팅부터는 Data Integration을 알아보겠습니다🏃♂️🏃♂️.
💡위 포스팅은 한국외국어대학교 바이오메디컬공학부 고윤희 교수님의 [생명정보학을 위한 데이터마이닝] 강의를 바탕으로 합니다.
'📌 데이터마이닝 > 데이터 전처리' 카테고리의 다른 글
🚩 데이터마이닝 12. Reduction - Nonlinear Regression (0) | 2023.02.17 |
---|---|
🚩 데이터마이닝 11. Reduction - Linear Regression (0) | 2023.02.16 |
🚩 데이터마이닝 10. Data Reduction (0) | 2023.02.16 |
🚩 데이터마이닝 09. Integration-분산/상관관계분석 (0) | 2023.02.15 |
🚩 데이터마이닝 08. Integration-카이제곱검정 (0) | 2023.02.14 |