데이터의 정의는 다음과 같다. 

: 의사결정을 돕기 위해 수집된 정보(사실, 숫자) 또는 컴퓨터에 저장되고 사용될 수 있는 전자 형식의 정보

 

사실 정보의 양을 가장 많이 담을 수 있는 데이터 형태는 텍스트이지만, 시각화를 통해 지각 능력과 인지 능력을 같이 사용하면 효과적인 이해를 할 수 있다. 

 

그렇다면 데이터를 시각화 한다는 것은 데이터를 '보이는 무언가'로 만드는 행위이다. 

Expressiveness (데이터가 가진 정보를 시각 요소로 모두 표현되어야 한다), 

Effectiveness (중요한 정보가 부각되어 표현되어야 한다) 

이 둘을 고려하여 데이터를 시각요소로 치환하는 것이다. 

 

 

데이터는 크게 몇 개의 범주로 나누어진 범주형 데이터와 수로 나타내는 수치형 데이터로 구분할 수 있다. 

그렇다면 데이터를 모델에 학습시키기 위해서는 수치형으로 변환해야하기 때문에 전처리 과정을 살펴보자. 

 

1. 범주형 데이터 전처리

1-1. Label Encoding : 각 범주형 값을 고유한 숫자 레이블로 변환

 ex ) ['Apple', 'Banana', 'Cherry'] -> [0, 1, 2] 

(장점) 순서형 데이터에서는 적합

(단점) 명목형 데이터의 경우에는 숫자간의 관계를 의미있다고 해석할 수 있고, 자체적인 순서가 존재하게 되므로 선형적인 연산에서 bias가 존재하게 된다. 

 

1-2. One Hot Encoding : 각 범주형 값을 이진 벡터로 변환

하나의 범주를 나타내는 위치에는 '1', 나머지에는 '0' 을 넣는다. 

ex ) ['Apple', 'Banana', 'Cherry'] -> [[1, 0, 0], [0, 1, 0], [0, 0, 1]]

(장점) 명목형 데이터의 경우 적합

(단점) 범주의 수가 많을 경우 차원이 크게 증가할 수 있다. 범주가 많아진다는 것은 각각의 범주에 대해서 데이터가 분산됨을 의미하고, 특정 범주에 대한 정보가 많아지면 bias 가 존재한다. 

 

1-3. Binary Encoding : 레이블 인코딩 후, 이진수 형태로 변환하여 비트별로 분리하여 인코딩

ex) ['Apple', 'Banana', 'Cherry'] -> [0, 1, 10] -> [[0], [1], [1, 0]]

(장점) 원핫인코딩보다 차원의 수를 줄일 수 있음.

(단점) 범주의 의미가 거의 사라짐 

 

2. 수치형 데이터

2-1. 정규화 : 데이터의 범위를 [-1,1] 또는 [0,1] 과 같은 특정 범위로 변환

2-2. 표준화 : 데이터의 평균을 0, 표준편차를 1이 되도록 변환

2-3. negative skewness : 데이터가 오른쪽으로 치우쳐질 경우

- 큰 값이 서로 더 차이가 크게 되기 위해서 square/power 변환, exponential 변환 

2-4. posiitive skewness : 데이터가 왼쪽으로 치우쳐질 경우

- log 변환 : (단점) 데이터에 0이나 음수 값이 있으면 적용할 수 없음

- 제곱근 변환 

- boxcox 변환 : (장점) 다양한 분포에 적용 가능하며, 파라미터를 조정하여 최적의 변환을 찾을 수 있다

 

3. 결측치 처리

결측치 시각화하는 라이브러리 : missingno

데이터에서 결측치가 존재할 때 처리하는 방법에는 제거 하는 방법과 대체 하는 방법으로 나뉜다. 

 

3-1. 결측치를 제거하는 경우

- 행 삭제 : 결측치가 있는 행을 모두 제거하는 방법

- 변수 삭제 (열 삭제) : 어려운 변수를 제거하는 방법

3-2. 결측치 대체하는 경우

- 규칙 기반 : 도메인 지식이나 논리적 추론에 의한 방법

- 집단 대푯값 : 수치형 데이터인 경우 평균, 중앙값으로 대체하고 범주형 데이터인 경우 최빈값으로 대체

- 모델 기반 : 결측치를 예측하는 모델을 생성하여 대체 (회귀모델) 

(단점) : 복잡한 패턴을 예측할 수 있으나 과적합 이슈 발생

 

4. 이상치 처리

 

이상치란 관측된 데이터의 범위에서 과하게 벗어난 값을 의미

4-1. IQR, 표준편차

: Q1(1사분위수)과 Q3(3사분위수)를 이용해 IQR을 계산하고, Q1 - 1.5 * IQR보다 작거나 Q3 + 1.5 * IQR보다 큰 값을 이상치로 간주한다

4-2. Z-Score 

: 데이터의 평균과 표준편차를 이용해 이상치를 탐지. 일반적으로 |Z-Score| > 3인 경우 이상치로 간주한다

4-3. 시각적 방법

: boxplot이나 히스토그램을 통해 시각적으로 확인

4-4. DBSCAN : 밀도기반 클러스터링 방법

 

sweetpotato7