데이터사이언스 기록기📚

[혼공 10기/혼공 머신러닝+딥러닝] 2주차_Ch.3 회귀 알고리즘과 모델 규제 본문

대외활동/혼공10기 - 머신러닝, 딥러닝

[혼공 10기/혼공 머신러닝+딥러닝] 2주차_Ch.3 회귀 알고리즘과 모델 규제

syunze 2023. 7. 16. 18:52

📌 Ch3. 회귀 알고리즘과 모델 규제

🖊️ Ch.3-1) k-최근접 이웃 회귀

✔️k-최근접 이웃 회귀

- 분류와 회귀

  • 분류 : 여러개의 클래스 중, 하나로 분류하는 문제
  • 회귀 : 다양한 샘플 중, 숫자로 예측하는 문제

- k-최근접 이웃

  • k-최근접 이웃 분류 : 예측하려는 샘플 중, 가장 가까운 k개 선택 → 가장 많은 클래스를 예측 샘플의 클래스로 지정
  • k-최근접 이웃 회귀 : 예측하려는 샘플 중, 가장 가까운 k개 선택 k개의 평균울 예측 샘플의 값으로 지정

 

 

✔️실습 - 농어 무게 예측하기

1) 데이터 생성 및 형태 확인

데이터 생성

  • 농어는 길이가 길면, 무게가 무거움

데이터 형태 확인

 

2) Train, Test 나누기

- Train set을 2차원으로 바꾸기(2차원 배열이어야 훈련시킬 수 있음

  • reshape() : 바꾸려는 배열의 크기 지정하여 바꿀 수 있는 함수

-1은 원소개수 알아서 찾는 것

 

3) 회귀 모델 훈련 및 점수확인

회귀모델 훈련

  • 결정계수(R^2) : 회귀모델 평가 점수지표. 0~1범위를 가지며 1에 가까울 수록 타깃에 가까운 것.

결정계수 점수

  • MAE(mean_absolute_error) : (실제값 - 예측값)의 절댓값 오차 평균

 

✔️과대적합, 과소적합

- 과대적합(overfitting) : Train set 평가 점수 > Test set 평가 점수

  • 발생하는 이유 : Train set에만 잘 맞는 모델일 경우
  • 해결방법 : 모델을 단순하게 만들기

- 과소적합(underfitting) :  Train set 평가 점수 < Test set 평가 점수, 둘 다 낮은 경우

  • 발생하는 이유 : Test set 개수가 적은 경우
  • 해결방법 : 모델을 복잡하게 만들기

- 실습에 적용하기

  • 과소적합 해결 방법 → 모델을 복잡하게 만들기(이웃의 개수를 줄여, 이웃에 민감하게 만들기)

 

✔️확인문제 2번

- n이 커질 수록, 곡선의 형태가 직선으로 바뀌고 있다

 


🖊️ Ch.3-2)  선형 회귀

✔️선형 회귀

- 선형 회귀 : x,y의 선형관계를 분석하는 모델

  • 단순 선형회귀 방정식 : Y = aX + b

  • a,b값 추출

a,b 값 추출

 

✔️다항 회귀

- 다항 회귀 : 다항식을 활용한 선형 회귀

  • 다항 선형회귀 방정식 : Y = a1X1 + a2X2 + b


🖊️ Ch.3-3)  특성 공학과 규제

✔️특성 공학 및 PolynomialFeatures

- 특성 공학 : 기존의 특성을 사용하여 새로운 특성을 뽑아내는 것(새로운 변수를 만드는 것)

- 사이킷런 PolynomialFeatures

  • 각 특성을 제곱한 항, 특성끼리 곱한 항,1을 모두 추가하여 새로 만드는 특성
  • include_bias = False 조건이 들어가면 절편이었던 1이 제거

 

✔️PolynomialFeatures 실습

1) 데이터 불러오기 및 데이터 분할

 

2)  PolynomialFeatures을 이용하여 특성 늘리기

 

 

3) 모델 훈련

  • 특성 늘려서 모델 훈련시키기(특성을 늘리면 과대적합 생길 수 있음)

 

✔️규제

- 규제 : 머신러닝이 Train set을 과도하게 학습하지 못하도록 막는 것

  • Ridge(L2) : 계수를 제곱한 값 기준으로 규제

  • Lasso(L1) : 절댓값 기준으로 규제 

- 규제 모델 매개변수 alpha

  • 규제의 강도를 조절할 수 있음
  • alpha ↑ : 계수 값 줄임, 과소적합으로 유도
  • alpha ↓ : 선형 회귀와 유사, 과대적합 가능성 큼

 

✔️Ridge 규제 실습

1) 데이터 정규화

 

2) Ridge를 이용한 훈련

 

3) 적절한 alpha 값 찾기

 

4) Ridge 최종 모델 훈련

 

 

✔️Lasso 규제 실습

1) Lasso 이용한 훈련

 

2) 알맞은 alpha 값 찾기

 

3) Lasso 최종모델 훈련

728x90
Comments