상세 컨텐츠

본문 제목

[패스트캠퍼스 수강 후기] 데이터분석 강의 100% 환급 챌린지 43회차 미션

본문

반응형

2020.09.21

[패스트캠퍼스 수강 후기] 데이터분석 강의 100% 환급 챌린지 43회차 미션

43회차에서 학습이 과대적합되는 것을 방지하고자 penalty를 부여하는것 '규제'를 배웠고, 이 규제에는 각 가중치의 제곱 합에 규제강도를 곱해서 더해주는 L2 규제와 가중치의 절대값의 합에 곱해서 더해주는 L1 규제가 있다. 오늘 강의에서는 이 각각의 규제를 활용한 모델인 릿지와 라쏘를 어떻게 도출하는지? 배웠다.

 

📍 릿지

릿지를 도출하려면,

alphas = [100, 10, 1, 0.1, 0.01, 0.001, 0.0001] —> 규제정도
for alpha in alphas: 
ridge = Ridge(alpha=alpha) 
ridge.fit(x_train, y_train) 
pred = ridge.predict(x_test) 
mse_eval('Ridge(alpha={})'.format(alpha), pred, y_test)

의 식을 돌려주면,

각각의 규제정도의 선형함수 그래프와 MSE의 그래프가 출력된다.( 규제정도가 100일때 선형함수와 MSE 그래프, 규제정도가 10일때의 선평함수와 MSE 그래프 .. 이렇게) 그리고 가장 마지막에는 MSE 가 낮은→ 높은 순서대로 나열되어 규제정도를 어떻게 지정했을때 모델성능이 좋은지 판단할 수 있다.

패스트캠퍼스 데이터분석1
강의 캡처

실습에서 사용한 예제를 보면, 규제정도가 낮을수록, MSE값이 낮아지기 때문에 규제정도를 낮출수록 모델 성능이 좋음을 알 수 있다. (하지만 아이러니하게도.. 규제정도가 100일때 MSE가 가장 낮았다..)

 

📍 라쏘모델

라쏘모델도 도출하려면,

from sklearn.linear_model import Lasso 
alphas = [100, 10, 1, 0.1, 0.01, 0.001, 0.0001] 
for alpha in alphas: 
lasso = Lasso(alpha=alpha) 
lasso.fit(x_train, y_train) 
pred = lasso.predict(x_test) 
mse_eval('Lasso(alpha={})'.format(alpha), pred, y_test)

을 입력하면

위에서 봤던 릿지모델처럼 각각의 규제정도의 선형함수 그래프와 MSE의 그래프가 출력된다. 그리고 맨 마지막에는 MSE 가 낮은→ 높은 순서대로 나열된다.

패스트캠퍼스 데이터분석2
강의 캡처

위의 실습 예제를 보면, Ridge 모델의 경우 규제를 100으로 가장 많이 줬을때 모델 성능이 좋고, Lasso 모델의 경우 규제강도가 0.0001로 규제를 가장 적게 줬을 때 모델성능이 좋았음을 알 수 있다.

 

📍 Elastic Net

L2 규제와 L1규제를 하이브리드한 Elastic Net도 같이 실습해봤다!

패스트캠퍼스 데이터분석3
강의 캡처

 

💡오늘 배운 내용 복습

👉릿지, 라쏘, Elastic Net 모델

 

04. Part1 35강부터 37번까지 수강완료!✊

https://bit.ly/3imy2uN

 

직장인을 위한 파이썬 데이터분석 올인원 패키지 Online. | 패스트캠퍼스

왕초보도 진짜 데이터 분석을 하는 마법의 커리큘럼으로 파이썬 기초부터 다양한 예제를 활용한 분석까지 모두 배울 수 있는 온라인 과정입니다.

www.fastcampus.co.kr

 

반응형

관련글 더보기

댓글 영역