
의미 그대로 이상한 값, 튀는 값, 패턴을 벗어난 값으로 그 Feature를 가지는 대부분의 값들과는 동떨어진 값
Min/Max 값을 설정한 뒤 그 값으로 변경👉 박스플롯 : 수치형 데이터 타입일 경우, 이를 통해 이상치 값들을 확인할 수 있다.
박스플롯에서의 범위 기준
:"(1분위수 - IQR*1.5)" ~ "(3사분위수 + IQR*1.5)"
이 범위를 벗어난 값들이이상치
'1.5'는 파라미터로 이상치들의 범위를 설정할 수 있다.
'IQR': Inter quartile range 1~3사분위수의 범위. ->Q3 - Q1
개별 값들이 이산적이고, 데이터가 가질 수 있는 값의 범주가 몇가지로 정해져 있는 데이터 타입
👉 인코딩 :
원본 형태를 다른 형태로 변환, 규칙성이 있어야함.
인코딩을 한 내용을 다시 디코딩 (원래 상태로 변환)할 수 있어야 한다.
🚨 레이블 인코딩은 숫자 크기의 차이가 모델에 영향을 주지 않는
트리 계열 모델 (DecisionTree, RandomForest,...)에 적용해야한다.
선형 계열 (Logistic Regressor, SVM,...)과 같은 숫자크기가 모델에 영향을 받는 모델들에는 사용하면 안된다.
🚨 인코딩할 때 항상 생각해야하는 것 :
여러Feature들을 레이블 인코딩할 때, 레이블 인코딩은 한번에 실행하는 것이 어렵기 때문에 하나씩 해야한다. 반복문을 통해 해당 인코딩을 할 때, 인코딩하는 것만을 목적으로 생각해서는 안됩니다.
디코딩, 원본 형태로 다시 변환할 수 있는 것도 생각해야하 합니다.
인코딩만 생각하지말고 항상 디코딩을 하는 것도 생각해야한다.
🚨 레이블 인코딩은 1차원 형태의 리스트, 시리즈를 넣어야하고,
원핫 인코딩은 2차원 배열, 데이터프레임을 넣어야 한다.
숫자 데이터 타입, 보통 중복된 값이 없거나 적고 값으로 올수 있는 대상이 정해져 있지 않은 값. 이산형과 연속형 변수로 구성된다.
데이터의 속성인 각 feature들간의 값의 척도(Scale)를 같은 기준으로 통일한다.
트리계열을 제외한 대부분의 머신러닝 알고리즘들이 feature간의 서로 다른 척도(Scale)에 영향을 받는다.
Scaling(정규화)은 train set으로 학습(fitting) 한다. test set, validation set 그리고 모델이 예측할 새로운 데이터는 train set으로 학습한 scaler를 사용해 변환만 한다.test set과 validation set은 모델이 앞으로 예측할 새로운 데이터에 대해 어느 정도 성능을 가지는지를 평가하는 용으로 쓰인다. 그런데 새로운 데이터들이 모델링할 때 사용할 데이터셋(sample)의 scale과 같다라고 보장할 수 없으므로 전체 sample 데이터셋을 학습 시킨 뒤 train/validation/test 으로 나누는 것은 모델의 정확한 성능평가를 할 수 없다.🚩🚩 연속형 데이터는 모델에 따라서
Feature Scaling할 지, 말 지가 결정된다.
<-> 범주형 데이터의 경우, 모델에 따라서Label encoding을 할지,One-hot encoding을 할지가 결정된다. (어찌됐든, encoding 과정은 무조건 거친다.)
그러나 연속형 데이터의 경우, Feature Scaling을 안하는 경우도 있다는 것.
StandardScaler 사용MinMaxScaler 사용