https://steadiness-193.tistory.com/262
Lasso의 개념은 위 포스팅에서 살펴보았다.
필요한 개념만 한번 더 환기해보자
손실함수에 L1 정규화 항을 더한 것으로 MSE가 최소가 되게하면서도
가중치들의 절댓값의 합 또한 최소가 되게 해야한다.
가중치가 0이 될 수도 있다는 것이므로 몇몇 특성(feature, x)는 사용하지 않는 셈이다.
중요한 것은 이용자가 조정하는 α값이다.
α 값의 조절에 따라 사용하는 특성의 개수가 달라지기 때문이다.
https://steadiness-193.tistory.com/270
위 포스팅의 진행을 똑같이 가져가되 모델만 Lasso로 바꿔주자
Lasso, α=1(default)
α=1인 기본값을 그대로 이용하니, r2의 값이 매우 낮게 나왔다.
가중치 확인
가중치가 한 개 빼고 모두 0이다. 이 말 뜻은 특성(feature)을 하나만 이용했다는 것이다.
이렇게 α을 너무 높게 잡으니 underfitting 문제가 발생한 것이다.
Lasso, α 조정
α를 0.001로 매우 낮게 줘본다.
r2 값이 0.969로 높게 나왔다.
가중치 확인
α를 매우 낮게 줬어도 8개 특성은 사용하지 않은 것으로 보인다. (8개의 가중치가 0)
이렇게 Lasso는 L1 규제항을 통해 일반화된 모형을 찾을 수 있고
모델에서 중요한 특성이 무엇인지 알 수 있게 해준다.
가중치가 0인 컬럼 제외
이전 포스팅의 Linear Regression과의 차이를 보자
Linear Regression은 정확도가 0.96으로 Lasso의 r2값과 비슷하다.
그러나 Lasso는 이용한 컬럼의 개수가 Linear Regression보다 8개가 적다.
즉, Lasso는 필요한 컬럼만 적절히 취사선택해서 높은 정확도를 얻어낸 것이다.
참조
https://blueskyvision.tistory.com/193
'Machine Learning > 회귀(Regression)' 카테고리의 다른 글
Regression - Multi Layer Perceptron Regressor (0) | 2020.09.14 |
---|---|
Regression - Ridge (L2) (0) | 2020.09.14 |
Regression - 다중공선성 문제 (0) | 2020.09.14 |
Regression - Linear Regression (0) | 2020.09.14 |
Regression - FIFA 이적료 예측 : 전처리 (0) | 2020.09.14 |