본문 바로가기

[ML&DL]

[ML&DL] 회귀 알고리즘과 모델 규제

1. K-최근접 이웃 회귀

* 회귀: 임의의 수치를 예측하는 문제, 따라서 타깃값도 임의의 수치가 됨


k - 최근접 이웃 회귀: 가장 가까운 이웃 샘플을 찾고 이 샘플들의 타깃값을 평균하여 에측


결정계수(R**2): 대표적인 회귀 문제 성능 측정 도구(0~1클수록 좋음)


과대적합/과소적합

scikit-learn
  - KNeighborsRegressor: k-최근접 이웃 회귀 모델을 만드는 사이킷런 클래스(기본값 = 5)
  - mean_absolute_error(): 회귀 모델의 평균 절대값 오차를 계산, 매개변수(타깃,예측값)
  - mean_squared_error(): 타깃과 예측을 뺀 값을 제곱한 다음 전체 샘플에 대해 평균값을 반환

numpy
  - reshape(): 배열의 크기를 바꾸는 메세드

 

2. 선형 회귀

선형회귀: 특성과 타깃 사이의 관계를 가장 잘 나타내는 선형 방정식

  - 선형회귀가 찾은 특성과 관계는 계수(가중치)에 저장되는데 기울기와 절편을 의미하는 경우가 많음


모델 파라미터란 선형 회귀가 찾은 가중치처럼 머신러닝 모델이 특성에서 학습한 파라미터르르 말함


다항회귀: 다항식을 사용하여 특성과 타깃 사이의 관계를 나타냄. 비선형일 수 있고 선형을 수 있음

scikit-learn
  - LinearRegression은 사이킷런의 선형 회귀 클래스
    * fit_intercept 매개변수를 False로 지정하면 절편을 학습하지 않음
    * coef_ 속성은 특성에 대한 계수를 포함한 배열 (배열의 크기 = 특성의 개수)

 

3. 특성 공학과 규제

다중 회귀: 여러 개의 특성을 사용하는 회귀 모델, 특성이 많을 수록 선형 모델은 강력한 성능을 발휘


특성공학이란: 주어진 특성을 조합하여 새로운 특성을 만드는 일련의 작업 과정


릿지/라쏘: 규제가 있는 선형 회귀 모델, 라쏘는 계수 값을 0으로 만들 수 있음


하이퍼파라미터: 머신러닝 알고리즘이 학습하지 않은 파라미터, 이런 파라미터는 사람이 지정해야 하고 대표적으로 규제강도 alpha 파라미터이다.

* pandas
  - read_csv(): CSV 파일을 판다스 데이터 프레임으로 변환하는 함수
    * sep는 CSV 파일의 구분자를 지정, 디폴트값은 콤파(,)임
    * skiprows는 파일에서 읽기 전에 건너뛸 행의 개수를 지정
    * nrows는 파일에서 읽을 행의 개수를 지정
    * header에 데이터 프레임의 열 이름으로 사용할 파일의 행번호 지정

* scikit-learn

  - PolynomialFeatures는 주어진 특성을 조합하여 새로운 특성을 만듬
    * degree는 최고 차수를 지정, 기본값은 2
    * include_bias = False : 절편을 위한 특성을 추가하지 않음
    * interaction_only = True : 거듭제곱 항은 제외되고 특성 간 곱셈 항만 추가


  - Ridge : 규제가 있는 릿지 회귀 모델 훈련
    * alpha 매개변수로 규제의 강도 조절(클수록 규제가 세짐)
    * solver 매개변수에 최적의 모델을 찾기 위한 방법을 지정
    * ramdom_state


  - Lasso : 규제가 있는 라쏘 회구 모델 훈련

    * alpha 매개변수로 규제의 강도 조절(클수록 규제가 세짐)
    * max_iter는 반복 횟수를 지정. 기본값은 1000

 

 

'[ML&DL]' 카테고리의 다른 글

[ML&DL] 비지도학습  (0) 2023.03.10
[ML&DL] 트리 알고리즘  (0) 2023.03.09
[ML&DL] 다양한 분류 알고리즘  (0) 2023.03.08
[ML&DL] 데이터 다루기  (0) 2023.03.06
[ML&DL] 입문  (0) 2023.03.06