0%

데이터 전처리 기초

데이터 전처리에 사용하는 패키지

missingno

  • 결측데이터를 검색하여 시각화 함
  • .bar(), .matrix()함수로 확인

scikit-learn 패키지의 SimpleImputer 클래스

  • SimpleImputer클래스로 객체를 생성할때, 결측값을 채우고자 할때, strategy 인수를 "mean"으로 하면 중앙값 "median"으로 하면 중앙값, most_frequent로 하면 최빈값을 대체값으로 사용한다.

patsy

  • 데이터를 선택, 변환, 추가, 스케일링 함
  • dmatrx() 함수를 사용하면 데이터 프레임에 상수항을 추가하거나 원하는 데이터만 선택하거나 변형할 수 있다.
  • 스케일링을 위한 함수
    • center(): 평균을 0으로 스케일링
    • standardize(): 평균을 0으로하고 표준편차를 1로 스케일링
    • scale(): standardize() 과 같음
  • design_info라는 속성에 평균등 정보가 입력되어 있다.

sklearn.preprocessing 패키지

스케일링 및 변수변환을 위한 StandardScaler 클래스에서

  • fit(): 학습용 데이터를 입력으로 실행하면 평균값과 표준편차를 계산하여 객체내에 저장
  • transform(): 저장했던 평균값을 빼서 새로운 평균값이 0이 되도록 만들고, 저장한 표준편차로 나누어 새로운 표준편차가 1이 되도록 데이터를 변환하여 출력
  • fit_transform(): 1,2단계를 합친것

데이터에 아웃라이어가 있을 경우 RobustScaler 클래스를 사용 - 중앙값이 0, IQR(interquartile range)이 1이 되도록 변환하여, 아웃라이어가 섞여 있어도 데이터는 0주위에 남게 된다.

FunctionTransformer클래스와 PolynomialFeatures클래스

  • PolynomialFeatures클래스는 입력데이터를 여러개의 다항식으로 변환
    • degree: 차수
    • include_bias: 상수항 생성 여부
  • FunctionTransformer클래스는 사용자가 지정한 함수를 사용하여 입력값을 변환
    • 각도 0도와 360도를 구분하기위한 sin,cos함수 사용 예제