개발 환경
---------------------------------
OS : Mac
개발 툴 : colab
개발 언어 : python
---------------------------------
지난 포스팅에 이어 데이터 전처리 예제를 다뤄보겠다.
<이전 포스팅, 데이터 전처리 개념과 예제 #1>
https://jpointofviewntoe.tistory.com/13
표준편차와 표준점수를 계산해보자
계산하는 방법은 데이터에서 평균을 빼고 표준편차를 나누어주면 된다.
np.mean() 함수는 평균을 계산하고 np.std() 함수는 표준편차를 계산한다.
특성마다 값의 스케일이 다를 경우엔 평균과 표준편차를 각 특성별로 계산해야한다.
이를 위해 axis = 0 으로 셋팅했다. 이렇게 하면 행을 따라 열의 통계값을 셋팅한다.
mean = np.mean(train_input, axis = 0)
std = np.std(train_input, axis = 0)
print(mean, std)
[출력 값]
각 특성별로 평균과 표준편차가 구해진 것을 볼 수 있다.
[ 27.58055556 457.94444444] [ 10.08843726 319.68346884]
그렇다면 matplotlib 라이브러리를 사용하여 산점도를 그려보겠다.
plt.scatter(train_scaled[:,0], train_scaled[:,1])
plt.scatter(new[0], new[1])
plt.xlabel('length')
plt.ylabel('weight')
plt.show()
[출력 결과]
x축과 y축의 범위가 -1.5~1.5 사이로 바뀌었다.
훈련 데이터의 두 특성이 비슷한 범위를 차지하고 있다. 이제 이 데이터 셋으로 다시 훈련 시켜보겠다.
[이 산점도의 노란점은 테스트 데이터입니다.]
[참고로 이전 데이터셋의 산점도]
전처리 데이터로 모델 훈련하기
fit 메서드를 사용하여 모델을 훈련시키겠다.
kn.fit(train_scaled, train_target)
테스트 세트의 스케일을 변환해보겠다.
주의 사항은 훈련을 마치고 테스트 세트로 평가할 때는 훈련 세트의 평균과 표준편차로 변환해야 한다.
test_scaled = (test_input - mean) / std
모델을 평가하겠다 .. 파이썬 초보자에겐 엄청난 작업이다.
kn.score(test_scaled, test_target)
완벽하게 떨어졌습니다.
https://link.coupang.com/a/Rzrh2
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
https://www.buymeacoffee.com/jinyyyyleeG
'개발노트 > 머신러닝' 카테고리의 다른 글
[머신러닝] 과대적합 vs 과소적합 (0) | 2023.03.13 |
---|---|
[python] reshape() 메서드와 예제 (0) | 2023.03.13 |
[머신러닝] 데이터 전처리 개념과 예제 #1 (0) | 2023.03.12 |
[python] np.random.seed 란? (0) | 2023.03.11 |
[머신러닝]K-최근접 이웃 알고리즘 - 예제 (0) | 2023.03.10 |
댓글