더북(TheBook)

2.6.2 데이터 표준화

데이터 표준화는 데이터셋의 각 숫자 변수를 평균이 0, 분산이 1이 되도록 변환하는 데이터 전처리 과정이다.

머신 러닝 알고리즘을 사용하려면 표준화 과정을 반드시 거쳐야 할 때가 많다. 예를 들어 신경망의 역전파 알고리즘이 잘 동작하려면 표준화가 필요하다. 데이터 표준화의 또 다른 장점은 변수의 크기를 줄이면서 변수 사이의 비례 관계를 더 잘 파악할 수 있다는 것이다.

앞서 살펴봤듯이 InsulinDiabetesPedigreeFunction 변수는 범위가 크게 다르다. Insulin의 최댓값이 846인 반면에 DiabetesPedigreeFunction의 최댓값은 2.42다. 이 정도로 범위가 다른 데이터셋으로 신경망을 훈련시키면 범위가 큰 변수가 더 강하게 작용해 신경망이 이 변수에 더 중점을 두게 된다.

데이터 표준화는 사이킷런의 preprocessing 클래스를 사용해 수행할 수 있다. 다음과 같이 사이킷런에서 클래스를 임포트하고 사용해 보자.

from sklearn import preprocessing

df_scaled = preprocessing.scale(df)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.