[혼공머신]1주차_extra(chapter 02-2)

장브로·2024년 1월 3일
0

데이터 전처리

개요

K-최근접 이웃 모델로 길이, 무게 데이터로 이웃을 판단할때 두 특성간의 스케일 차이로 인해 올바른 예측이 불가능하다. 이 모델은 그래프상 기준 위치의 값과 가까운 데이터들의 많음이 어떠냐에 따라 정답을 예측하는데 무게의 기준값의 범위가 0 - 1,000g, 길이의 경우 0 - 40cm라면 길이의 대한 거리값이 얼마든 정답을 예측하는데 거의 영향을 미치지 못한다. 거리기반 모델의 경우일때 이런 경향이 더 심하다. 그렇기 때문에 각 특성값을 인정한기준으로 표준화를 해주어야 하고 이러한 작업을 "데이터 전처리" 라고 정의한다.

전처리 방법

표준점수(Standard Score or z-score)

표준점수는 각 특성값의 크기와 상관 없이 표준편차의 몇배 만큼 떨어져 있는지를 나타내기 때문에 동일한 기준으로 비교가 가능하다. 넘파이에서 제공을 해주기 때문에 간단히 이용가능하지만 가물가물한 개념때문에 표준 편차(링크)에 대해서 간단히 정리해 봤다.
표준 점수는 넘파이를 이용해 간단하게 구할수 있다.

import numpy as np

#평균
mean = np.mean(train_input, axis=0)
#표준편차
std = np.std(train_input, axis=0)
#각 특성의 표준점수
train_sacled = (train_input - mean) /std
  • 확실히 파이썬은 다룰때마다 신기한데, 넘파이는 더 신기하다. train_input에 있는 각 행의 특성(관찰값) 마다 평균값을 빼주고 (편차) 표준편차로 나누어준다. 넘파이가 이렇게 배열을 스마트하게 계산해주는 것을 브로드캐스팅이라고 한다. axis의 개념이 대강 생각했던 바와 조금 다른데, 4차원을 넘어가는 axis의 개념은 조금더 공부를 해봐야할 것 같다.

전처리 데이터의 이용

당연한 이야기겠지만, 전처리 데이터를 이용해서 모델을 훈련했을 경우, 테스트데이터 셋이나 판단한 데이터들도 훈련데이터와 동일한 전처리 기준을 이용하여 변환한 후 판단에 이용해야한다.

profile
이제 진짜 개발하려구요!

0개의 댓글