데이터 전처리, 이런 과정을 통해 이뤄진다.
데이터 전처리는 데이터 분석 및 머신 러닝 파이프라인의 기본 단계로, 원시 데이터를 깨끗하고 사용 가능한 형식으로 변환하는 것을 말한다. 전처리의 목표는 데이터의 품질을 높이고 일관성을 유지하며 분석에 적합하도록 하는 것이다. 효과적인 전처리는 머신 러닝 모델의 성능을 크게 향상시킬 수 있다. 데이터 전처리는 다음과 같은 과정을 거친다.
1. 데이터 수집
데이터 수집은 데이터 전처리의 기초 단계이다. 데이터베이스, 웹 스크래핑, 센서, 설문 조사 또는 제3자 데이터 제공자 등 다양한 출처에서 데이터를 수집하는 것을 포함한다. 수집된 데이터의 품질은 전처리 파이프라인의 다음 단계에 직접적인 영향을 미친다. 데이터 출처의 신뢰성과 관련성을 보장하는 것이 중요하다. 수집된 데이터는 구조화된 데이터, 반구조화된 데이터 또는 비구조화된 데이터일 수 있으며, 데이터 형식을 이해하는 것이 효과적인 전처리에 필수적이다.
예시:
- 구조화된 데이터: 데이터베이스나 스프레드시트에 저장된 데이터로, 각 레코드가 동일한 구조를 가집니다. 예를 들어, 고객 거래 데이터 테이블.
- 반구조화된 데이터: 엄격한 구조를 따르지 않지만 요소를 구분하기 위해 태그나 마커를 포함하는 데이터. 예를 들어, XML 또는 JSON 파일.
- 비구조화된 데이터: 정해진 형식이 없는 데이터로, 텍스트 문서, 이미지, 비디오 등.
2. 데이터 정제
데이터 정제는 데이터 정리 과정으로, 데이터의 오류 및 불일치를 식별하고 수정하는 과정을 포함한다. 이 단계는 원시 데이터가 부정확성, 결측값 및 이상값을 포함하는 경우가 많기 때문에 중요하다. 데이터 정제의 주요 작업에는 결측값 처리, 중복 제거, 오류 수정 및 이상값 탐지 및 처리가 포함된다.
1) 결측값 처리:
데이터 입력 오류, 데이터 손실 또는 설문 조사에서의 무응답 등으로 인해 결측값이 발생할 수 있습니다. 결측값을 처리하는 전략에는 다음이 포함된다.
- 제거: 결측값이 있는 행이나 열을 삭제하는 방법으로, 결측 데이터 양이 적고 전체 분석에 영향을 미치지 않는 경우 적합하다.
- 대체: 결측값을 평균, 중앙값, 최빈값 등으로 대체하는 방법입니다. 고급 방법으로는 k-최근접 이웃 또는 회귀 모델을 사용하여 결측값을 예측하는 것이 있다.
2) 중복 제거:
중복된 레코드는 편향된 분석과 잘못된 결론을 초래할 수 있다. 중복 항목을 식별하고 제거하면 데이터 포인트의 고유성을 보장할 수 있다.
3) 오류 수정:
데이터 입력 오류, 예를 들어 오타나 잘못된 데이터 형식은 수정해야 합니다. 이는 수동 검사나 자동 스크립트를 통해 데이터 형식을 표준화하고 알려진 문제를 수정하는 과정을 포함할 수 있다.
4) 이상값 탐지 및 처리:
이상값은 통계 분석 및 머신 러닝 모델을 왜곡할 수 있다. 이상값을 식별하는 방법에는 Z-점수 또는 사분위 범위(IQR)와 같은 통계적 방법이 포함된다. 이상값을 탐지한 후에는 제거하거나 변환하여 처리할 수 있다.
3. 데이터 변환:
데이터 변환은 데이터를 분석에 적합한 형식으로 변환하는 과정이 포함된다. 이 단계에는 정규화, 표준화, 범주형 변수 인코딩 및 특징 공학이 포함된다.
1) 정규화 및 표준화:
정규화는 숫자 데이터를 [0, 1] 범위로 조정하고, 표준화는 데이터를 평균이 0이고 표준 편차가 1이 되도록 조정한다. 이러한 기술은 입력 데이터의 규모에 민감한 알고리즘에 필수적이다.
2) 범주형 변수 인코딩:
범주형 변수를 숫자 형태로 변환해야 합니다. 일반적인 방법으로는 레이블 인코딩과 원-핫 인코딩이 있다.
4. 데이터 축소
데이터 축소는 정보 손실을 최소화하면서 데이터의 복잡성을 줄이는 것을 목표로 한다. 이 단계는 계산 효율성과 모델 성능을 향상시키는 데 있어 특히 중요하다.
1) 차원 축소:
특징 수를 줄이면서 대부분의 정보를 유지하는 방법입니다. 대표적인 방법으로는 주성분 분석(PCA)과 선형 판별 분석(LDA)이 있다.
2) 특징 선택:
모델 구축에 사용할 관련 특징의 하위 집합을 선택하는 것입니다. 방법으로는 필터 방법, 래퍼 방법 및 내장 방법이 있다.
3) 샘플링:
대표적인 하위 집합을 선택하여 데이터 포인트 수를 줄이는 것이다. 이는 무작위 샘플링, 계층화 샘플링 또는 체계적 샘플링을 포함할 수 있다.
이렇듯 효과적인 전처리는 모델 성능을 향상시킬 뿐만 아니라 데이터로부터 더 깊은 통찰력을 얻는 데 도움이 되며, 궁극적으로 더 나은 의사 결정 및 결과를 도출할 수 있다.