https://velog.io/@rs2002/제로베이스Machine-Learning-3
1. 데이터 스케일링
[데이터스케일링]https://wooono.tistory.com/96
스케일링 : 각 특성의 범위를 맞춰주는 것
머신러닝을 위한 데이터셋을 정제할 때, 특성별로 데이터의 스케일이 다르다면 어떤 일이 벌어질까요?
예를 들어,
X1은 0 부터 1 사이의 값을 갖고
X2 는 1000000 부터 1000000000000 사이의 값을 갖고
y 는 1000000 부터 100000000 사이의 값을 갖는다고 가정한다면
X1 특성은 y 를 예측하는데 큰 영향을 주지 않는 것으로 생각할 수 있습니다.
때문에 특성별로 데이터의 스케일이 다르다면, 머신러닝이 잘 동작하지 않을 수 있습니다.
따라서, 저희는 데이터 스케일링 작업을 통해, 모든 특성의 범위(또는 분포)를 같게 만들어줘야합니다.
sklearn의 scaler
- fit : 훈련데이터 (훈련 데이터의 분포를 먼저 학습)
- transform : 훈련데이터, 테스트 데이터 (훈련 데이터, 테스트 데이터 스케일을 조정)
- 모두 같은 분포를 만들 분포는 없음(특성에 따라 다른분포를 적용하는게 유리)
2. Decision Tree 이용한 와인데이터분석
wine
레드와인/ 화이트 와인 분류기 머신러닝
- 학습데이터와 답 데이터 분류하기
- X(drop), y(답)
- 훈련용(train_test_split)
- 데이터 구분정도 확인하기
add. trace
- 학습결과 확인
- decsionclasifier
- fit
- predict
- accuarcy
데이터 전처리
- 여러 항목 boxplot 확인
- minmax/standard scaler > dataframe > boxplot
- Decision Tree 주요 결정 인자 확인
plot_tree
plot.tree(wine_tree)
t_train.colmns

여기는 왜 다른걸까요??
맛의 이진분류
- 등급에 따라 맛을 이진분류, 학습 진행
- 맛에 의한 분류(1) : '맛'이라는 답과 나머지 데이터 분류 및 훈련 / 검증용 분리
- 맛에 의한 분류(2) : 훈련 / 검증용 데이터 일치율 확인
- 결정인자 확인하여 계산 착오가 어디서 일어났는지 파악
- 맛에 의한 분류(3) : 100%일 경우 계산착오일 확률이 매우 큼, 결정인자 확인
plot.tree(wine_tree)
- 오류 수정 후 학습 재진행
- 맛에 의한 분류(4) : taste가 quality를 의미하므로 이것도 제거한 후 다시 진행 - 일치율확인 - 결정인자 재확인
- 애초 70%를 웃돌기에 정확한 판단이 어려움
- 맛의 기준이 등급이었기 때문에 맛의 선호도 및 맛을 해치는 요소 (과한 산미 등) 가 전혀 반영되지 않았음을 인지
- 다만 몇 가지는 파악 가능
1. 알콜 도수 낮은 경우 산미도 적으면 등급이 높아지는 경향이 있음
2. 알콜 도수 높은 경우 황 화합물도 높으면 등급이 높아지는 경향이 있음