작성
·
387
0
https://www.inflearn.com/questions/66382
이 질문을 보고 저도 궁금증이 들어서 한번 해봤는데요..
(아래 코드는
'릿지(Ridge) 회귀의 이해 강의' 에서 3:01초 쯤에 나오는 코드입니다.)
기존 강의에서는 alpha값이 클수록 rmse가 작게 나왔는데요.
이건 기존 코드에서 train_test_split 을 추가한 코드인데요~
test_size=0.3 일 경우에 rmse가 alpha값이 작을수록 작게 나왔고,
test_size를 아주 작게 0.01로 줄 때에도 alpha값이 작을수록 rmse 가 작게나오는 결과를 얻었습니다.
저도 기존 질문자의 궁금증처럼 왜그러는지 이유가 궁금하네요.. ㅠ!
답변 3
0
0
네 선생님 답변 감사합니다.
그런데, 제가 궁금했던 부분은..똑같은 botston 데이터 세트인데.. train_test_split을 하니깐 경향이 반대로 되서 궁금했던 부분입니다.
기존 강의 코드에서는(train_test_split을 하지 않았을 때에는) alpha값이 '클수록' rmse가 작아졌는데..
train_test_split을 하니깐 alpha값이 '작을수록' rmse가 작아져서 궁금증이 생겼었습니다.
train_test_split을 test_size=0.01 로 아주 작게 하고 (거의 train_test_split 안한 것과 비슷하게.. 기존 강의코드와 같이 전체 boston 데이터를 넣어준 것처럼) 전체데이터의 99%인 train 데이터를 넣어주었을 때에도 alpha값이 '작을수록' rmse가 작아지는 결과가 나왔기에..
그래서 기존 질문자의 궁금증 처럼 train_test_split 여부가 영향이 미치는건지 궁금했던 부분입니다..!
0
안녕하십니까,
데이터 세트별로 특성이 있긴 한데, 보통은 Ridge의 경우 alpha가 0 ~ 1 사이 값이 1보다 큰 경우 보다 상대적으로 성능이 좋게 나옵니다. 그리고 Lasso의 경우는 alpha가 1보다 큰 경우가 성능이 상대적으로 좋게 나옵니다.
단 위 경우는 보통이 그렇다는 거고, 데이터의 특성에 따라서 얼마든지 달라질 수 있습니다.
해당 데이터 세트는 alpha가 작은 경우에 성능이 좋아지는 경우입니다. 때문에 테스트 세트로 여러번 (쪼개어) 테스트 해도, alpha가 작은 경우가 성능이 좋게 된 결과로 추정됩니다.