데이터 전처리에는 머신러닝(ML) 모델 학습에 사용하기 전에 원시 데이터를 구조화되고 적합한 형식으로 정리, 변환, 구성하는 데 사용되는 필수 기술이 포함됩니다. 다양한 소스에서 수집된 원시 데이터는 누락된 값, 불일치, 노이즈 또는 오류가 포함되어 있어 지저분한 경우가 많습니다. 전처리는 이러한 문제를 해결하여 데이터 품질을 개선함으로써 ML 모델의 성능, 정확성, 신뢰성을 향상시킵니다. 이 단계는 인공 지능(AI) 및 컴퓨터 비전(CV)을 포함한 모든 데이터 기반 프로젝트에서 기본이 됩니다.
데이터 전처리가 중요한 이유는 무엇인가요?
"쓰레기 투입, 쓰레기 배출"이라는 원칙은 머신 러닝에도 강력하게 적용됩니다. 모델은 학습된 데이터에서 직접 패턴을 학습합니다. 입력 데이터에 결함이 있는 경우 모델은 부정확하거나 관련 없는 패턴을 학습하여 예측이 잘못되고 신뢰할 수 없는 결과를 초래합니다. 효과적인 모델을 구축하려면 다음과 같이 고품질의 잘 준비된 데이터가 중요합니다. Ultralytics YOLO 와 같은 효과적인 모델을 구축하려면 고품질의 준비된 데이터가 필수적입니다. 적절한 데이터 전처리는 다음과 같이 크게 기여합니다:
- 모델 정확도 향상: 깨끗하고 잘 구조화된 데이터는 모델이 의미 있는 패턴을 더 효과적으로 학습하는 데 도움이 됩니다.
- 효율성 향상: 전처리는 데이터를 단순화하거나 차원을 줄임으로써 교육에 필요한 컴퓨팅 리소스를 줄일 수 있습니다.
- 과적합 감소: 노이즈와 이상값을 해결하면 모델이 이러한 관련 없는 세부 정보를 학습하는 것을 방지하여 새로운 데이터에 대한 일반화 능력을 향상시키고 과적합을 방지할 수 있습니다.
- 신뢰성 보장: 일관된 데이터 서식은 학습과 추론 과정에서 보다 안정적이고 신뢰할 수 있는 모델 동작으로 이어집니다.
일반적인 데이터 전처리 기법
데이터 전처리 과정에서 데이터 유형과 특정 ML 작업에 따라 다양한 기법이 적용되며, 종종 조합하여 사용됩니다. 주요 기법은 다음과 같습니다:
- 데이터 정리: 여기에는 오류 식별 및 수정, 누락된 값 처리(예: 대입 또는 제거), 이상값 또는 노이즈가 있는 데이터 포인트 처리 등이 포함됩니다. Python 일반적으로 Pandas와 같은 도구가 이 작업에 사용됩니다.
- 데이터 변환: 이 단계에서는 데이터를 더 적합한 형식으로 수정합니다.
- 스케일링: 정규화 (일반적으로 0에서 1까지의 범위로 데이터 스케일링) 또는 표준화(평균과 단위 분산이 0이 되도록 데이터 스케일링)와 같은 기술은 기울기 하강 기반 모델과 같이 특징 스케일에 민감한 알고리즘에 도움이 됩니다. Scikit-learn 전처리 문서에서 스케일링 기법에 대해 자세히 알아보세요.
- 인코딩: 범주형 특징(예: 텍스트 레이블)을 모델이 처리할 수 있는 숫자 표현(예: 원핫 인코딩)으로 변환하는 작업입니다.
- 피처 엔지니어링: 모델 성능을 개선하기 위해 기존 피처에서 잠재적으로 더 많은 정보를 제공하는 새로운 피처를 생성하는 작업입니다. 여기에는 도메인 지식과 창의력이 필요합니다.
- 특징 추출: 필수 정보를 보존하면서 원본 데이터에서 더 작은 특징 집합을 자동으로 도출하는 작업입니다. 이는 주성분 분석(PCA)과 같은 기술을 사용하여 수행되는 경우가 많습니다.
- 차원 감소: 입력 기능의 수를 줄여 모델을 단순화하고, 학습 시간을 단축하며, 과적합의 위험을 완화하는 것으로, 특히 빅데이터에 중요합니다.
- 이미지별 사전 처리: 컴퓨터 비전 작업의 경우, 일반적인 단계에는 이미지 크기를 일관된 크기로 조정하고, 색 공간을 변환(예: BGR을 RGB로 변환), 밝기 또는 대비를 조정하고, OpenCV 같은 라이브러리를 사용하여 노이즈 감소를 위한 필터를 적용하는 것이 포함됩니다. Ultralytics YOLO 모델을 위한 주석이 달린 데이터 전처리에 대한 지침을 제공합니다.
실제 애플리케이션
데이터 전처리는 수많은 AI/ML 애플리케이션에서 매우 중요합니다:
- 의료 이미지 분석: AI 모델이 종양과 같은 이상 징후(뇌종양 데이터 세트 예시)가 있는지 MRI 또는 CT 스캔을 분석하려면 먼저 이미지를 사전 처리해야 합니다. 여기에는 필터를 사용한 노이즈 감소, 여러 스캔과 기계에서 밝기 수준을 표준화하는 강도 정규화, 여러 스캔을 정렬하기 위한 이미지 등록이 포함됩니다. 이러한 단계를 통해 모델은 일관된 입력을 받아 미묘한 이상 징후를 정확하게 감지하는 능력을 향상시킵니다. 이는 의료 분야의 AI 애플리케이션에 필수적인 요소입니다.
- 자율 주행 차량: 자율 주행 자동차는 카메라 및 LiDAR와 같은 센서에 의존합니다. 이러한 센서의 원시 데이터는 광범위한 사전 처리가 필요합니다. 카메라 이미지는 다양한 조명 조건을 처리하기 위해 크기 조정, 색상 보정, 밝기 조정이 필요할 수 있습니다. LiDAR 포인트 클라우드 데이터는 노이즈나 접지점을 제거하기 위해 필터링이 필요할 수 있습니다. 이러한 전처리를 통해 물체 감지 및 추적 시스템이 깨끗하고 표준화된 데이터를 수신하여 보행자, 차량, 장애물을 안정적으로 식별할 수 있으며, 이는 자동차 애플리케이션에서 AI의 안전에 매우 중요합니다.
데이터 전처리와 관련 개념 비교
데이터 전처리와 밀접하게 관련된 용어를 구분하는 것이 도움이 됩니다:
- 데이터 정리와 데이터 전처리 비교: 데이터 정리는 데이터 전처리의 하위 집합으로, 특히 데이터 집합에서 오류, 불일치, 누락된 값을 식별하고 수정하는 데 중점을 둡니다. 전처리는 정리뿐만 아니라 변환, 크기 조정 및 특징 조작을 포함하는 보다 광범위한 개념입니다.
- 데이터 증강과 데이터 전처리 비교: 데이터 증강은 기존 데이터의 수정된 복사본을 생성하여(예: 이미지 회전 또는 뒤집기) 학습 데이터 세트의 크기와 다양성을 인위적으로 늘리는 것을 포함합니다. 증강은 특히 딥러닝에서 학습용 데이터를 준비하는 데 있어 중요한 부분이지만, 일반적으로 정리 및 크기 조정과 같은 초기 전처리 단계 후에 수행됩니다. 증강 전략을 포함한 모델 학습을 위한 팁을 살펴보세요.
- 피처 엔지니어링과 데이터 전처리 비교: 피처 엔지니어링은 기존 피처에서 새로운 입력 피처를 생성하는 프로세스입니다. 이는 종종 모델의 예측력을 향상시키기 위한 광범위한 데이터 전처리 파이프라인의 한 단계로 간주됩니다.
- 데이터 라벨링과 데이터 전처리 비교: 데이터 라벨링은 원시 데이터에 의미 있는 태그나 주석(예: 개체 주위에 경계 상자 그리기)을 할당하는 것을 포함합니다. 이는 지도 학습 작업에 필수적입니다. 라벨링은 일반적으로 전처리 전 또는 전처리와 함께 수행되는 별개의 단계입니다. 효과적인 전처리와 결합된 고품질 레이블은 모델 훈련에 매우 중요합니다. 자세한 내용은 Ultralytics 데이터 수집 및 주석 가이드를 참조하세요.
데이터 세트 관리와 전처리 단계 적용은 데이터 세트 관리 및 모델 학습을 위한 도구를 제공하는 Ultralytics HUB와 같은 플랫폼을 사용하여 간소화할 수 있습니다.