코딩 다이어리
데이터 준비(Data Preparation) 본문
Data preparation
- 원시 데이터를 쉽게 정확하게 분석할 수 있는 형식으로 조작하는 행위
- 모델링 도구의 입력이 될 최종 데이터를 원시 데이터로부터 추출
- 전처리 : 수집한 데이터를 저장소에 적재하기 위한 작업으로 데이터 필터링, 유형 변환, 정제 등 기술 활용
- 후처리 : 저장된 데이터를 분석이 용이하도록 가공하는 작업으로 변환, 통합, 축소 등 기술 활용
분류 | 설명 |
데이터 정제 (Cleansing) |
- 결측치를 채워 넣고, 이상치를 식별 또는 제거하고, 잡음 섞인 데이터를 평활화하여 데이터의 불일치성을 교정 - 일반적으로 데이터는 불완전하고, 잡음이 섞여있고, 일관성이 없기 때문에 데이터 정제가 필요 |
데이터 변환 (Transformation) |
- 데이터 유형 변환 등 데이터 분석이 용이한 형태로 변환하는 기술 - 정규화(Normalization), 집합화(Aggregation), 요약(Summarization), 계층 생성 등의 방법 활용 |
데이터 여과 (Filtering) |
- 오류 발견, 보정, 삭제 및 중복성 확인 등의 과정을 통해 데이터 품질을 향상 시키는 기술 |
데이터 통합 (Integration) |
- 데이터 분석이 용이하도록 유사 데이터 및 연계가 필요한 데이터(또는 DB)들을 통합하는기술 |
데이터 축소 (Reduction) |
- 분석 컴퓨팅 시간을 단축할 수 있도록 데이터 분석에 활용되지 않는 항목 등을 제거하는기술 |
1. 데이터 정제(Cleansing)
- 수집된 데이터의 불일치성을 교정하기 위한 작업으로 결측치(Missing Value) 처리, 이상치(Outlier)/잡음(Noise) 처리 기술 활용
- 결측치 처리 방법
방법 | 설명 |
해당 레코드 무시 | - 결측값이 발생한 해당 레코드를 삭제 - 데이터의 수가 줄어 모델의 유효성이 낮아질 수 있음 - 부분 삭제는 관리 cost가 늘어남 - 결측치가 자주 발생하는 환경에서는 비효율적 |
자동으로 채우기 | - 결측치에 대한 값을 별도로 정의 ex) "unknown", 0 - 전체 평균값, 중앙값, 해당 클래스의 평균값 등 통계값으로 대체 - 베이지안 확률 추론, 결정 트리 등 추정치으로 대체 - 모델의 왜곡 발생 가능 |
전문가 수작업 | - 전문가가 직접 확인하고 적절한 값으로 수정 - 신뢰성은 높지만 많은 작업 시간이 소요됨 |
- 이상치/잡음 처리 방법
방법 | 설명 |
구간화 (Bining) |
- 정렬한 데이터를 여러 개의 구간으로 나누고 구간 안에 있는 값들을 대표값으로 대체 - 구간 단위별로 잡음 제거 및 데이터 축약 효과 - 평균, Median 등을 대표값으로 사용 |
회기값 적용 (Regression) |
- 데이터를 가장 잘 표현하는 추세 함수를 찾아서 이 함수의 값을 사용 - 적합한 함수를 만들기 어려움 |
군집화 (clustering) |
- 비슷한 성격을 가진 클러스터 단위로 묶고 이상치 제거 |
2. 데이터 변환(Transformation)
- 분석의 용의성을 위해 다양한 형식에서 일관성 있는 형식으로 변환하는 작업
방법 | 설명 |
평활화 (Smoothing) |
- 데이터로부터 잡음을 제거하기 위해 데이터 추세에 벗어나는 값들을 변환 |
집계 (Aggregation) |
- 다양한 차원의 방법으로 데이터 요약 - 평균값, 중앙값, 최대/최소값, 합계 등 |
표준화 (Standardization) |
- 모든 데이터가 같은 정도의 중요도(scale)로 반영되도록 변화 |
정규화 (Normalization) |
- 특정 구간에 분포하는 값으로 scale을 변화 - Min-Max 정규화, Z-Score 정규화 |
속성 생성 (Attribute/Feature construction) |
- 데이터 통합을 위해 새로운 속성이나 특징을 생성 - 데이터 분포를 대표할 수 있는 새로운 속성이나 특징을 활용 |
3. 데이터 여과(Filtering)
- 데이터 중복성, 오류 제거, 보정, 삭제 등을 위해 데이터에서 원하는 정보만 추출하거나 걸러내는 작업
- 비정형 데이터는 data mining을 통해 오류, 중복, 저품질 데이터를 처리할 수 있도록 자연어 처리 및 기계학습과 같은 추가 기술 적용이 필요
- 데이터 활용 목적에 맞지 않는 정보는 filtering으로 제거해야 분석시간을 단축하고 저장공간의 효율적 활용이 가능
4. 데이터 통합(Integration)
- 서로 출처가 다른 상호 연관성이 있는 데이터를 하나로 결합하는 작업
- 동일한 데이터가 통합될 수 있으므로 연관관계 분석 등을 통해 중복 데이터를 검출해야 함
- 데이터 통합 전/후 수치, 통계 등 데이터 값들이 변경되지 않도록 해야함
- lb와 kg, inch와 cm 등 서로 다른 표현 단위에 유의하며 통합
- 통합 대상 entity가 통합 이후에 동일한지 동일성 검사를 수행
5. 데이터 축소(Reduction)
- 고유한 특성은 손상되지 않으며 분석에 불필요한 데이터를 축소하는 작업
방법 | 설명 |
차원 축소 | - 원시 데이터의 분포를 최대한 보존하면서 고차원 공간의 데이터를 저차원 공간으로 변환 - 중요하지 않거나 중복 속성 제거 - Principal Component Analysis(PCA) |
수량 축소 | - Parametric method : 데이터를 표현할 수 있는 모델을 만든 후 data는 지우고 parameter를 저장하며 이상치값은 따로 저장 - NonParametric method : 모델을 사용하지 않고 축소된 데이터를 표현하여 저장 ex) histogram, clustering, sampling 등 |
데이터 압축 | - 데이터 Encoding이나 압축/변환을 통해 데이터를 축소 |
참고사이트
http://kocw-n.xcache.kinxcdn.com/data/document/2020/edu1/cuk/leehyeyoung1113/03.pdf
https://adioshun.gitbooks.io/data-analytics-with-r/content/data-preparation.html
2. Data Preparation · Data analytics
adioshun.gitbooks.io
'머신러닝 > 이론' 카테고리의 다른 글
의사 결정 트리 (Decision Tree) (0) | 2022.11.30 |
---|---|
로지스틱 회귀(Logistic Regression) (1) | 2022.11.29 |
선형 회귀(Linear Regression) (0) | 2022.11.28 |
표준화(Standardization)와 정규화(Normalization) (2) | 2022.11.25 |
AI, Machine learning, Deep learning 개념 (4) | 2022.11.17 |