선형회귀

jaybon·2022년 10월 1일
0

머신러닝 정리

목록 보기
3/9

정리

선형회귀란

  • 특성과 타깃 사이의 관계를 선형 방정식을 구한다
  • 특성이 하나면 직선 방정식이 된다

하나의 직선을 그리려면

y=a×x+by = a \times x + b
  • 기울기와 절편이 있어야 한다( a = 기울기 / b = 절편)

  • LinearRegression에서 기울기는 coef 절편은 intercept

  • 머신러닝에서 가중치는 기울기와 절편 모두를 의미하는 경우가 많다

LinearRegression

  • 사이킷런의 선형회귀 클래스
  • fit_intercept 매개변수를 False로 지정하면 절편을 학습하지 않는다
  • coef_ 속성은 특성에 대한 계수를 포함한 배열이다. 배열의 크기는 특성의 개수와 같다

모델 파라미터

  • 머신러닝 알고리즘이 찾은 값

  • 일부 머신러닝 알고리즘의 훈련 과정은 최적의 모델 파라미터를 찾는 것과 같다 -> 모델 기반 학습

  • k-최근접 이웃 알고리즘은 모델 파라미터가 없다. 훈련 세트를 저장하는 것이 훈련의 전부이기 때문 -> 사례 기반 학습

다항회귀

  • 다항식을 사용한 선형 회귀를 다항 회귀라고 부른다
  • 2차 방정식 그래프를 그리려면 길이를 제곱한 항이 훈련 세트에 추가되어야 한다
  • 함수는 비선형일 수 있지만 여전히 선형 회귀로 표현 가능하다

다중회귀

  • 여러 개의 특성을 사용하는 회귀 모델.
  • 특성이 많으면 선형 모델은 강력한 성능을 발휘한다.

특성공학

  • 주어진 특성들을 조합하여 새로운 특성을 만드는 일련의 작업과정

규제

  • regularization
  • 머신러닝 모델이 훈련 세트를 너무 과도하게 학습하지 못하도록 훼방하는 것
  • 데이터가 충분히 크면 규제가 덜 중요해진다 (데이터가 적으면 통계치가 들쑥날쑥해보이기 때문인듯)
  • 선형회귀모델의 경우 특성에 곱해지는 계수(또는 기울기)의 크기를 작게 만드는 일이 규제가 된다

규제가 있는 선형회귀 모델

  • 릿지
    • 선형 모델의 계수를 작게 만들어 과대적합을 완화시킨다
  • 라쏘
    • 릿지와 달리 계수 값을 아예 0으로 만들 수도 있음

하이퍼파라미터

  • 머신러닝 알고리즘이 학습하지 않는 파라미터
  • 사람이 사전에 지정해야하는 것들
  • 대표적으로 릿지와 라쏘의 규제 강도 alpha 값

PolynomialFeatures 클래스

  • transformer 종류 중 하나
  • 주어진 특성을 조합하여 새로운 특성을 만듬
  • 특성을 제곱한 항을 추가하고 특성끼리 서로 곱한 항을 추가한다
  • degree는 최고 차수를 지정한다. 기본값은 2
  • interaction_only가 True이면 거듭제곱 항은 제외되고 특성 간의 곱셈 항만 추가된다. 기본값은 True
  • include_bias가 False이면 절편을 위한 특성을 추가하지 않는다. 기본값은 False

R2R^2 (결정계수)

  • 회귀 모델의 성과지표
  • 1에 가까울 수록 좋고 0에 가까울 수록 나쁘다
  • 음수가 나오면 폐기해야 한다

estimator

  • 추정기
  • LinearRegression 와 같은 클래스

fit, transform / fit_transform

순서

  1. 데이터 가져오기 (pandas 등)
  2. (옵션)데이터 정보 확인하기 (data.info() /data.describe() 등)
  3. (옵션)데이터에서 필요한 컬럼(특성) 추출
  4. (옵션)특성공학으로 기존 특성에서 새로운 특성 만들기
  5. (옵션)정규화하기
  6. 훈련 (또는 규제 훈련)
  7. 테스트
profile
티스토리 블로그 https://ondolroom.tistory.com/

0개의 댓글