데이터 전처리 - 데이터 변환
데이터 전처리 - 데이터 변환
데이터 변환(Data Transformation)은 데이터를 분석에 적합한 형식으로 변경하는 과정이다. 이 과정에서 주로 사용되는 방법들은 다음과 같다.
1. 정규화 (Normalization)
정규화는 데이터를 일정한 범위(일반적으로 0과 1 사이)로 변환하여 서로 다른 특성(feature)들이 동일한 기준에서 비교될 수 있도록 하는것이다. 이는 머신러닝 모델이 특정 특성에 치우치지 않고 모든 특성을 고르게 학습하도록 돕는다.
방법으로는 데이터를 최솟값과 최댓값 사이의 범위로 조정하는 Min-Max 정규화가 있다.
예를 들어 학생들의 시험 점수가 50점에서 100점 사이에 분포한다면, 정규화를 통해 이 점수들이 0에서 1 사이로 변환된다. 50점은 0, 100점은 1로 변환되어, 다른 범위에 있는 데이터를 같은 선상에서 비교할 수 있게 된다.
2. 표준화 (Standardization)
표준화는 데이터의 평균을 0으로, 그리고 표준편차를 1로 조정하여 데이터가 평균으로부터 얼마나 떨어져 있는지를 나타낸다. 이는 데이터가 다양한 단위를 가질 때 특히 유용하며, 데이터 분포를 일정하게 맞추어준다.
방법으로는 각 데이터 포인트가 평균에서 얼마나 떨어져 있는지를 기준으로 변환하는 Min-Max 정규화가 있다.
학생들의 키 데이터가 있다면, 표준화를 통해 각 학생의 키가 평균 키에서 얼마나 벗어나 있는지를 알 수 있게 되는 것이 대표적이다. 예를 들어, 평균 키가 170cm일 때, 180cm인 학생은 평균보다 약간 더 큰 것으로 변환된다.
3. 로그 변환 (Log Transformation)
로그 변환은 데이터의 분포가 한쪽으로 치우쳐 있을 때, 이를 더 정규 분포에 가깝게 만들어 준다. 이는 데이터가 큰 값에서 작은 값으로 변화할 때 특히 유용하며, 변동성을 줄여준다.
주식 시장 가격처럼 큰 범위로 변동하는 데이터가 있을 때, 로그 변환을 통해 데이터의 차이를 줄여 보다 안정적인 분포로 변환할 수 있는 것이 대표적이다. 예를 들어, 10, 100, 1000과 같은 값들이 있을 때, 로그 변환을 통해 이 값들이 1, 2, 3으로 간격이 좁아진다.
4. 범주형 데이터 인코딩 (Categorical Data Encoding)
범주형 데이터는 숫자가 아닌 텍스트로 되어 있는 데이터로, 이를 숫자로 변환하여 머신러닝 모델이 이해할 수 있도록 한다.
방법으로는 첫째, 범주형 데이터의 각 항목을 이진 값(0 또는 1)으로 변환하는 원-핫 인코딩 (One-Hot Encoding)이 있다.
만약 색상 데이터에 "빨강", "파랑", "초록"이 있다면, 각각을 [1, 0, 0], [0, 1, 0], [0, 0, 1]로 변환합니다. 이렇게 하면 모든 색상이 독립적으로 표현되는 것이 대표적이다. 두 번째로는 범주형 데이터를 정수로 변환하는 라벨 인코딩 (Label Encoding)이 있다.
“작음", "중간", "큼"이라는 크기 데이터가 있다면, 이를 0, 1, 2로 변환합니다. 이는 크기 순서가 있을 때 유용한 방법이다.
.
여기서 주의할 부분은 첫째, 원-핫 인코딩은 데이터의 차원이 커질 수 있으므로 범주 수가 많을 때는 주의가 필요하다. 둘째, 라벨 인코딩은 범주 간의 순서나 크기 관계가 있을 때 적합하지만, 순서가 없는 데이터에 사용하면 문제가 될 수 있다.
이러한 데이터 변환 기법들은 데이터를 분석하기 위한 준비 과정에서 매우 중요하며, 각 기법은 데이터의 특성과 분석 목적에 맞추어 적절하게 선택하여 적용해야 한다. 이를 통해 데이터의 품질을 높이고 분석 결과의 신뢰성을 향상시킬 수 있다.