숭어 개발 블로그

[머신러닝] 선형분류 실습 _ <손글씨 데이터 예측(2)_스케일링,규제 튜닝> 본문

Machine Learning/선형 분류

[머신러닝] 선형분류 실습 _ <손글씨 데이터 예측(2)_스케일링,규제 튜닝>

숭어싸만코 2022. 9. 21. 18:04


스케일링

- 데이터 범위의 스케일을 바꿔주는 작업

예시) 키와 시력 모두 0에서 1사이의 값으로 바꿔주는 작업

 


스케일링의 종류

Standard Scaler : 평균과 표준편차를 이용 /평균값이기 때문에 극단적인 값 (이상치) 에 민감하게 반응한다.
MinMax Scaler : 데이터 값을 0과 1사이의 범위값으로 변환(음수값이 있으면 -1에서 1값으로 변환)
Robust Scaler : 중앙값(50%)을 이용 / 이상치가 있어도 괜찮다.

Normalizer : 모든 데이터의 거리가 원점으로부터 1로 변환=> 각도만 달라진다. (거리값 무시 , 방향만 생각 / 부채꼴 모양)

Normalizer 분포

 


데이터 스케일링( Data scaling) 주의점

- 훈련데이터와 == 테스트데이터에 같은 스케일링을 하여야한다.



스케일링 해보기

- train 데이터 변환 결과 0부터 1사이 값이 나오는걸 확인 할 수 있다.

- test 데이터도 똑같이 변환


규제 튜닝 하기

- 튜닝 결과를 보고 최고의 C값을 찾아준다

위에서 찾은 C = 0.1을 대입하여 최종 모델을 학습 / 예측 시키고 kaggle에 올릴 정답 파일 생성

규제 튜닝한 결과가  상승함을 알 수 있었다.

 


최종 모델  final_logi로 예측 결과

X_train.iloc[0] 은 손글씨 ' 1 '  로

X_train.iloc[1] 은 손글씨 ' 0 '  으로 예측

 

predict_proba를 통해

손글씨 유형별 (0~9) 각각의 확률도 확인할 수 있다.

 

실제 X_train의 0번째1번째 인덱스는  1과  0을 확인 할 수 있다.

 


 

Comments