AI/Machine Learning

[Python] 머신러닝 기초-7 Ridge Regression 과 Lasso Regression을 통한 연습 / Ridge란? / Lasso란?

Jeong Jeon
반응형

지난 시간에 이어 릿지회귀와 라쏘회귀를 공부해보도록 하자.

 

 

릿지회귀, 라쏘회귀란?

  • 선형회귀 모델에 규제를 합쳐서 만든 모델
  • 릿지
    • 계수를 제곱한 값을 기준으로 규제 적용
  • 라쏘
    • 계수의 절대값을 기준으로 규제 적용

일반적으로는 릿지를 더 선호한다고한다.

 

1).릿지

  • 릿지회귀를 적용하여 해당 모델의 정확도를 확인한다.

지난 시간에 -144로 테스트 세트의 정확도가 이상하게 나왔던것 기억해야한다.

상황 = 특성의 갯수(degree)를 5로 주었을때 훈련 세트 정확도는 99.999가 나왔는데, 테스트세트는 음수가 나왔었다.

 

이로써 많은 특성을 사용하여 테스트를 해도 문제없이(과대적합)되지않고 괜찮은 성능을 내고있는것을 확인 할 수있다.

 

릿지와 라쏘 모델을 사용할때 우리는 임의로 규제의 양을 조절할 수 있는데, 우리가 마음대로 조정하는것이 아니라, 훈련세트와 테스트세트의 정확도가 가장 가까운 지점이 최적의 값이 됨으로, 그 값으로 파라미터를 전달해야된다.

 

그렇다면 어떻게 최적의 규제 양을 정하나?

=> 

우리가 릿지,라쏘 모델에 파라미터로 규제의양(alpha로 지칭)을 전달해 줄수있는데, for문을 통해 alpha를 변화시키면서, 그 변화에 따른 훈련세트와 테스트 세트의 정확도를 확인해보자.

이 두개의 정확도가 가장 가까운 시점의 alpha가 최적의 규제양이라고 보면 될것이다.

 

코드로 써보자

결과를 그래프로 표현해보자.

그래프를 보면 테스트세트와 훈련세트가 가장 가까운지점이 -1 부분인것을 확인 할 수 있다.

이 값이 최적의 규제양 인것이다.

이값으로 다시한번 훈련하여 확인해보자.

테스트세트와 훈련세트의 정확도 값이 둘다 충분히 높게 나왔으며, 최대적합과 최소적합 사이에서 잘 맞춰져있는것을 확인할 수있다.

 

이렇게 릿지를 활용하여 모델을 만들어서 테스트해봤다.

 

자 이번엔 라쏘를 활용하여 모델을 만들어서 테스트 해보자.

 

2).라쏘

라쏘는 릿지랑 거의 똑같기 때문에 자세한 내용은 생략한다.

라쏘의 최적의 alpha 값은 1로 보인다.

라쏘회귀를 사용하여 점수확인까지 완료하였다.

릿지와 라쏘는 거의 차이가 없는데 결과값에서 조금차이가 나네...

 

기본인데 참 어렵다~ 

하지만 재밌으니 힘내보자~ㅎㅎ

반응형