🐣python

다항회귀

category
🐣python
URL
date
Feb 8, 2023
slug
machine-learning-polynomial-regression
author
status
Public
tags
Playdata_deep-learning & machine-learning
summary
머신러닝 다항회귀
type
Post
thumbnail
updatedAt
Mar 2, 2023 03:00 AM

다항회귀

notion image
  • 독립변수가 단항식이 아닌 2차,3차 등으로 표현
  • 데이터가 단순한 직선이 아닌 복잡한 형태인 경우, 산점도 상의 관측값을 통과하는 추세선을 그렸을 때 <n-1>개의 굴절이 관찰되면 이를 n차 다항식으로 모델링
  • 독립변수와 종속 변수의 관계를 다차 다항식으로 표현
  • 다중 선형회귀(여러 개의 독립변수)의 특별한 형태 : 회귀식의 독립변수들을 각각 새로운 변수로 치환
  • 특성을 변환(차수의 변환) 한 후 다중 선형회귀와 같은 방식으로 비선형 관계를 모델링함
  • 차수가 증가하면 곡선 모델(비선형모델)이 될 떄 다항회귀라고 함
  • 장점 : 두 입력변수 사이의 관계성을 설명해서 데이터를 잘 설명
  • 단일 속성 다항회귀 VS 다중속성 다항회귀
    • 단일속성 다항회귀 : 독립 변수가 1개인 경우, 한 개의 독립변수로 한 개의 종속변수 예측
    • 다중속성 다항회귀 : 독립변수 여러 개인 경우, 여러개의 독립변수로 한 개의 종속변수 예측
 

사이킷런의 변환기

  • 변환기 : 특성을 만들거나 전처리하기 위한 다양한 클래스 제공
  • 다항회귀를 위한 변환기 : from sklearn.preprocessing import PolynomialFeatures
 
  • 사이킷런 변환기 메소드
    • fit() : 새롭게 만들 특성의 조합(기준)을 찾음
    • transform() : 실제로 데이터 변환
    • fit_transform()
 

머신러닝 구현

  • 사이킷런에서 다항식 특성의 변환하는 방법
  • 원본 특성 데이터 : [[0,1],[2,3]]
notion image
1) preprocessing 모듈의 PolynomialFeatures를 이용하여 특성을 조합하여 다항식 형태로 변환하는 객체 생성
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=2)
 
2) 객체에 대하여 fit(), transform() 메소드를 이용하여 특성 변환
notion image
2-1) fit_transform()메소드를 이용하여도 특성 변환 가능
notion image