9.2.5 정규화
데이터셋이 가진 특성(혹은 칼럼)의 모든 데이터가 동일한 정도의 범위(스케일 혹은 중요도)를 갖도록 하는 것이 정규화(normalization)입니다.
머신 러닝/딥러닝은 데이터 특성들을 비교하여 패턴을 분석합니다. 이때 각각의 데이터가 갖는 스케일 차이가 크면 어떤 결과가 나타날까요? 예를 들어 다음과 같은 데이터셋이 있다고 가정해 봅시다. MonthlyIncome은 0~10000의 범위를 갖지만, RelationshipSatisfaction은 0~5의 범위를 갖습니다. 즉, MonthlyIncome과 RelationshipSatisfaction은 상당히 다른 값의 범위를 갖는데, 이 상태에서 데이터를 분석하면 MonthlyIncome 값이 더 크기 때문에 상대적으로 더 많은 영향을 미치게 됩니다. 하지만 중요한 것은 값이 크다고 해서 분석에 더 중요한 요소라고 간주할 수 없기 때문에 정규화가 필요한 것입니다.
▼ 표 9-2 정규화
Monthly Income |
Age |
PercentSalary Hike |
Relationship Satisfaction |
TrainingTimes LastYear |
YearsInCurrent Role |
5993 |
23 |
11 |
1 |
0 |
4 |
5130 |
55 |
23 |
4 |
3 |
7 |
2090 |
45 |
15 |
2 |
3 |
0 |
2909 |
60 |
11 |
3 |
3 |
7 |
3468 |
47 |
12 |
4 |
3 |
2 |
3068 |
51 |
13 |
3 |
2 |
7 |
2670 |
19 |
20 |
1 |
3 |
0 |
2693 |
33 |
22 |
2 |
2 |
0 |
9526 |
37 |
21 |
2 |
2 |
7 |
5237 |
59 |
13 |
2 |
3 |
7 |