데이터 처리와 변환에 대한 이해는 효과적인 데이터 분석 및 모델링 작업을 위해 핵심적입니다. 데이터 파이프라인은 데이터의 생성, 수집, 가공, 저장, 시각화 등 일련의 과정을 의미합니다. 이러한 과정을 효율적으로 관리함으로써 데이터의 품질과 활용 가능성을 향상시킬 수 있습니다.
데이터 저장소의 선택은 데이터 처리 과정에 중요한 영향을 미칩니다.
데이터 웨어하우스는 기간 시스템의 데이터베이스에 축적된 데이터를 변환하고 관리하는 데이터베이스입니다.
데이터 레이크는 구조화되지 않은 대량의 데이터를 중앙 집중식으로 저장하고 처리하는데 사용됩니다.
이러한 저장소는 데이터 분석의 효율성과 확장성을 결정짓는 중요한 요소입니다.
데이터 분석 프로세스는 문제 정의, 데이터 수집, 데이터 전처리, 모델링, 해석 및 시각화 단계로 구성됩니다.
각 단계는 명확하게 정의된 계획과 도메인 지식이 필요하며, 문제 해결을 위한 체계적인 접근을 제공합니다.
1. 데이터 타입과 형식
- 데이터 타입: 데이터는 크게 범주형$($Categorical$)$과 수치형$($Numerical$)$으로 나뉩니다.
- 범주형 변수: 이진, 범주, 순서형으로 나눌 수 있습니다. 성별처럼 명목적인 특성을 나타내거나 학점처럼 순서를 가진 특성을 의미합니다.
- 수치형 변수: 이산형과 연속형으로 나뉩니다. 이산형 변수는 정수값을 갖고 연속형 변수는 소수점까지 다양한 값을 가질 수 있습니다.
- 데이터 형식: 데이터는 정형$($Structured$)$, 비정형$($Unstructured$)$, 반정형$($Semi-structured$)$으로 분류됩니다.
- 정형 데이터: 미리 정의된 스키마에 따라 구조화된 데이터로, 표 형태의 데이터베이스나 CSV 파일 등이 포함됩니다.
- 비정형 데이터: 정해진 규칙이 없는 데이터로, 이미지, 음성, 동영상, 텍스트 등이 포함됩니다.
- 반정형 데이터: 일정한 스키마를 가지고 있지만 데이터베이스는 아닌 형태로, HTML, XML, JSON, 웹 로그 등이 이에 해당합니다.
2. 데이터 전처리
데이터 분석을 시작하기 전에 데이터를 정리하고 준비하는 단계는 매우 중요합니다. 데이터 전처리는 데이터의 품질을 향상시키고 분석의 정확성을 높이는 핵심 단계입니다.
- 데이터 클리닝$($Cleaning$)$: 데이터 클리닝은 결측치, 이상치, 중복값 등의 오류를 처리하는 단계입니다. 결측치는 적절한 값으로 대체하거나 해당 튜플을 무시하여 처리합니다. 이상치는 데이터의 일부분이나 값이 다른 데이터와 크게 다를 때 발생하며, 이를 확인하고 처리하여 데이터의 일관성을 유지합니다.
- 데이터 통합$($Integration$)$: 다양한 소스로부터 얻은 데이터를 일관성 있는 하나의 데이터로 통합하는 작업입니다. 중복 문제나 일관성 문제를 해결하기 위해 소스의 데이터를 조율하고 통합합니다.
- 데이터 변환$($Transformation$)$: 데이터 변환은 데이터의 형식이나 값의 범위를 조정하는 작업입니다. 데이터를 정규화하거나 표준화하는 것은 모델링 및 분석 결과의 안정성을 높일 수 있는 중요한 단계입니다.
- 데이터 축소$($Reduction$)$: 데이터 축소는 데이터의 양을 줄이면서도 원래 데이터의 특성을 잘 나타낼 수 있도록 하는 과정입니다. 주요한 방법으로는 차원 축소 및 데이터 압축이 있습니다.
데이터 축소
- 목적: 차원 축소의 주요 목적은 데이터의 복잡성을 줄이고, 계산 및 모델링의 효율성을 향상시키며, 시각화와 같은 작업을 수월하게 만드는 것입니다.
- 장점:
- 계산 비용 감소: 더 적은 속성으로 계산량을 줄여 처리 시간을 단축시킵니다.
- 모델 성능 향상: 더 간단한 모델을 사용함으로써 과적합을 줄이고 일반화 능력을 향상시킵니다.
- 시각화 용이성: 차원 축소를 통해 데이터를 2D 또는 3D 공간으로 표현하여 시각화 및 분석이 용이해집니다.
- 단점:
- 정보 손실: 차원 축소는 데이터의 일부 정보를 손실할 수 있습니다. 중요한 특징이 손실될 수 있으므로 주의가 필요합니다.
- 해석 어려움: 차원 축소를 통해 생성된 새로운 속성은 원래 데이터의 의미를 해석하기 어렵게 만들 수 있습니다.
3. 결측치와 잡음 처리 방법
- 결측치 처리 방법: 결측치는 해당 튜플을 무시하거나 기준에 따라 자동으로 값을 채우는 방법을 사용하여 처리할 수 있습니다. 또한 전문가의 지식을 활용하여 직접 값을 채우는 것도 가능합니다.
- 잡음 데이터 처리 방법: 잡음 데이터는 실제 데이터와는 다른 값으로 인해 발생하는 오류 데이터를 의미합니다. 이를 처리하기 위해 Binning$($구간화$)$이나 Regression$($회귀 분석$)$과 같은 방법을 사용하여 데이터의 정확성을 향상시킬 수 있습니다.
4. 데이터 변환의
데이터 변환은 데이터의 형태나 특성을 변경하는 작업을 의미하며 데이터 분석 과정에서 필수적인 과정으로, 데이터의 품질을 향상시키고 분석의 정확성을 높이는 목적을 가지고 있습니다.
- 데이터 정규화$($Normalization$)$: 데이터의 값을 일정한 범위로 조정하여 다른 단위의 데이터를 비교 가능한 형태로 만듭니다. 이로써 모델의 학습과 분석을 용이하게 합니다.
- 데이터 집약$($Aggregation$)$: 데이터를 요약하거나 집계하여 데이터의 복잡성을 줄이고 분석 결과를 더욱 이해하기 쉽게 만듭니다.
- 데이터 압축$($Compression$)$: 데이터의 크기를 줄여 저장 공간을 절약하거나 데이터 전송 속도를 향상시킵니다. 이뿐만 아니라 잡음 데이터의 영향을 줄이는데도 도움을 줍니다.
'IT > AI' 카테고리의 다른 글
[이미지] Numpy로 이미지를 224x224 크기로 crop 하기 [Python]-cv2 (0) | 2023.08.29 |
---|---|
[이미지] Numpy로 이미지 패딩 후 224x224 resize 하기 [Python]-cv2 (0) | 2023.08.29 |
[NLP] 자연어 처리: 트랜스포머 [기초] (0) | 2023.08.22 |
[통계] Day 7-2 데이터 분석: 다변량 분석 (1) | 2023.08.22 |