본문 바로가기
코딩/Machine Learning

17. 단순 선형 회귀 분석(2)

by 세자책봉 2021. 2. 23.
728x90

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

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

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

최초 작성일 2021.1.27

 

- Scikit-learn을 활용한 회귀(linear_model 패키지)

  • fit() 메서드로 학습, predict() 메서드로 예측, predict_proba() 메서드로 확률 출력

coef_ 메소드는 계수, intercept_ 메소드는 편향
예측값 확인
구한 계수와 편향으로 예측해보니 동일하다는 것을 확인

  • Statsmodels와 비교하여 선형회귀의 정보가 부족하지만, 빅데이터를 다루기에는 속도가 빠른 Scikit-learn이 더 적합

- 비용 함수 최소화

  • 선형 회귀의 핵심은 회귀 직선의 y값과 원래 값 사이의 차이에 대한 제곱 오차의 합계를 최소화하는 직선을 찾는 것
  • 제곱 오차를 사용하는 이유: 음수값 제거 목적, 오차를 더 크게 하여 회귀 성능 향상 목적
  • 대표적으로 경사하강법을 사용 → 여기

5. 예시(보스턴 주택 가격 데이터)

① 데이터 불러오기 및 데이터 확인

② Target 데이터 분포 확인

정규분포가 아닐경우, 로그 변환으로 데이터를 정규화 시켜야 한다.(위는 꽤나 정규분포 형태라서 패스)

③ 주요변수간의 상관관계 시각화(Target변수와 그 외 변수의 관계)

피어슨 상관관계를 계산하여 숫자로 확인해도 됨 → 16. 단순 선형 회귀 분석(1) 확인

④ OLS 회귀분석을 통한 주요 변수 간의 상관관계 분석

R-squared 0.4 이상인지, F-statistic 0에 가까운지, Prob 0.05 이하인지, AIC 0에 가까운지, BIC 0에 가까운지 → 기본모델은 성능이 안좋음을 확인

⑤ 전략 세우기

  1. 주요 피처를 제외한 나머지 피처(Target과 관계없는 피처)를 제거할 것인가?
  2. 규제를 적용할 것인가?(L1, L2 등)
  3. PCA로 차원 축소를 수행할 것인가?
  4. 이상치 데이터를 삭제할 것인가?

⑥ 회귀 수행(⑤, ⑥, ⑦ 무한반복)

  1. MSE, RMSE, R2 Score 등 회귀성능 평가지표 확인

  2. 시각화

시각화 방법 → 10.회귀(Regression)_3 확인

⑦ 성능이 좋은 회귀모델 최적화 수행(교차검증, 하이퍼파라미터 최적화 등)

교차검증
하이퍼파라미터 최적화

⑧ 가장 성능이 좋은 모델과 하이퍼파라미터 확정 및 Target 값 예측하기

반응형

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

19. 다중회귀분석(2)  (0) 2021.03.03
18. 다중회귀분석(1)  (0) 2021.02.26
16. 단순 선형 회귀 분석(1)  (0) 2021.01.23
15. 추천 시스템(Recommendations)  (0) 2021.01.13
14. 텍스트 분석(Text Analytics)_2  (0) 2021.01.11

댓글