preprocessing

안선경·2023년 3월 15일
0

ML_study

목록 보기
4/25

Label_encoder

  • 머신러닝에 사용하기 위해 자료값을 교육 후 변환시켜주는 기능이다.
  • df자료에 A컬럼에 a,b,c 값이 존재하는데, 이를 sklean.preprocessing에 LabelEncoder로 교육시킴
  • 클래스는 기존의 값이 a,b,c이며, transform으로 변환 결과 0, 1, 2로 바뀜
  • 이를 DataFrame에 다시 저장할 수도 있다.
  • fit_tranform으로 한 번에 진행할 수도 있다.
  • inverse_transform으로 변환한 값을 원래값으로 돌릴 수도 있다.

min_max

  • 주어진 자료를 min-max로 바꿔주는 기능도 존재한다.
  • 해당 자료에서 A컬럼에는 25, -3이 max와 min값으로 존재하며, B컬럼에서는 3, 0이 max와 min값으로 존재함
  • 이를 sklearn.preprocessing의 MinMax로 교육 결과 0~1사이의 값으로 변환시켜준다.

Standard

  • 주어진 자료값을 표준정규분포(평균 0, 표준편차 1)로 바꿔주는 함수도 있다.
  • 기존의 자료를 StandardScaler로 교육시킨 후 transform한 결과 해당 값들의 평균은 0, 표준편차는 1로 바뀐다.

Robust

  • 사분위수와 중앙값을 이용해서 자료를 바꿔주는 Robust기능도 있다.
  • 사용방법은 앞에 사용한 프로세스와 동일하며, 이 기능은 아웃라이너가 존재할 때 사용하기 좋다.
  • 먼저 각 방법에 따라 자료값을 변환하고,
  • 그래프로 그린 결과 MinMax와 Standard는 기존의 자료를 일정범위로 압축하기 때문에 아웃라이너의 정도를 파악하기 어렵다
  • 하지만 Robust는 아웃라이너의 값이 얼마나 벗어났는지 파악하기 좋다
  • 상황에 따라 세 가지 방법을 다양하게(다 써보면 솔직히 좋지만)사용하면서 자료를 분석할 수 있다.
profile
상황을 바꿀 수 없다면, 나를 바꾸자

0개의 댓글