데이터의 정의는 다음과 같다.
: 의사결정을 돕기 위해 수집된 정보(사실, 숫자) 또는 컴퓨터에 저장되고 사용될 수 있는 전자 형식의 정보
사실 정보의 양을 가장 많이 담을 수 있는 데이터 형태는 텍스트이지만, 시각화를 통해 지각 능력과 인지 능력을 같이 사용하면 효과적인 이해를 할 수 있다.
그렇다면 데이터를 시각화 한다는 것은 데이터를 '보이는 무언가'로 만드는 행위이다.
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 : 밀도기반 클러스터링 방법
데이터의 정의는 다음과 같다.
: 의사결정을 돕기 위해 수집된 정보(사실, 숫자) 또는 컴퓨터에 저장되고 사용될 수 있는 전자 형식의 정보
사실 정보의 양을 가장 많이 담을 수 있는 데이터 형태는 텍스트이지만, 시각화를 통해 지각 능력과 인지 능력을 같이 사용하면 효과적인 이해를 할 수 있다.
그렇다면 데이터를 시각화 한다는 것은 데이터를 '보이는 무언가'로 만드는 행위이다.
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 : 밀도기반 클러스터링 방법