본문 바로가기
코딩/Machine Learning

22. 데이터 준비(2)

by 세자책봉 2021. 3. 22.
728x90

Luca Massaron, Alberto Boschetti 저, '파이썬으로 풀어보는 회귀분석', 2019.01.02

내 맘대로 요약 공부 중(문제시 비공개 및 삭제)

저작권에 굉장히 민감한 책이므로 일반적인 내용들만 요약

최초 작성일 2021.3.22

5. 수치 특성 변환
  • 일반적으로 목표와 특성 사이의 선형 관계를 비선형으로 만들 우려가 있으므로 목표(Target)값은 변환시키지 않음

비교를 위한 기준값 생성

① 잔차 측정

  • 잔차 측정 방법

잔차는 항상 평균이 0이며 오차가 클수록 표준편차가 큼

  • 수치 변환 전

2 이후의 데이터의 분포로 보아 비선형 적임

  • 수치 변환 후(제곱 변환, 역변환, 로그 변환 등 성능이 좋은 것으로 사용, 아래는 역제곱 변환)

역제곱 변환을 통해 R2 Score 상승

② 비닝(binning, 값을 동일한 간격의 bin으로 나눔)

  • 적절한 변환을 판단하지 못할 경우, 연속적인 숫자 변수를 이진 변수로 변환
  • 빠르고 편리하지만, 데이터셋의 용량 증가 및 과잉 적합 위험성 증가
  • 동일한 간격의 bin으로 나누고 → histogram 함수로 경계 확인 → digitize 함수로 경계값을 bin으로 변환 → LabelBinarizer로 모든 bin 번호 이진변수로 변환

6. 누락 데이터
  • 누락 데이터 탐색: np.isnan, 누락 데이터 0으로 교체: np.nan_to_num
  • 누락 데이터 대체: sklearn 패키지 preprocessing 모듈의 Imputer 클래스 활용

데이터 대체를 위해 nan 데이터 생성
결측치를 평균값으로 대체

7. 이상치(Outliers)
  • 비정상적인 데이터는 회귀계수를 왜곡 시킴
  • Boxplot은 과감하게 PASS
  • sklearn 패키지 ensemble 모듈의 IsolationForest 클래스(covariance 모듈의 EllipticEnvelope 클래스 활용도 가능)

예시를 위하여 간단한 데이터 생성
데이터 이상치 확인, -1이면 데이터가 이상치, 1이면 데이터가 정상치

  • 조금 더 자세한 내용은 참조 여기

시각화는 위 링크 참조!

 

반응형

'코딩 > Machine Learning' 카테고리의 다른 글

21. 데이터 준비(1)  (0) 2021.03.21
20. 로지스틱 회귀분석(Logistic Regression)  (0) 2021.03.21
19. 다중회귀분석(2)  (0) 2021.03.03
18. 다중회귀분석(1)  (0) 2021.02.26
17. 단순 선형 회귀 분석(2)  (0) 2021.02.23

댓글