인프런 커뮤니티 질문&답변

문환룡님의 프로필 이미지
문환룡

작성한 질문수

처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part3]

머신러닝 회귀 모델 사용법 익히기1 (Linear, Lasso, Ridge 모델)

머신러닝 회귀 모델 사용법 익히기1 (Linear, Lasso, Ridge 질문입니다

작성

·

339

·

수정됨

0

강의 11:02 에서 실행하는

lasso_grid.fit(X_train, y_train) 는 모델의 최적의 하이퍼파리미터를 찾기 위해서 실행을 하고,

그렇게 찾은 최적의 하이퍼 파라미터를 반영한 모델을

lasso_model = lasso_grid.best_estimator_

을 통해서 생성하고 생성한 모델을

ml_pred = predict_bikecount(lasso_model, ml_columns)

을 통해서 학습시키는 것으로 이해했습니다.

 

그런데 영상 4분18초 쯤에는

lr_model = LinearRegression()

로 모델을 생성한 다음 따로 best parameter를 얻지 않고 바로

ml_pred = predict_bikecount(lr_model, ml_columns)

을 실행시킵니다.

 

여기서 생기는 질문이

lasso_grid.fit(X_train, y_train) 을 통해서 이미 학습을 했는데

predict_bikecount 함수 내에 있는

casual_model = model.fit(X_train, y_train_cas) 을 통해서 학습을 왜 한 번 더 하는 것인지 잘 이해가 되지 않습니다.

  1. predict_bikecount 내에 있는 casual_model = model.fit(X_train, y_train_cas)과 registered_model = model.fit(X_train, y_train_reg)는 결과값들이 y_train_cas과 y_train_reg으로 학습에 사용되는 결과값이 'count'와 다르므로, 한번 학습 후 얻은 최적의 하이퍼파라미터를 가진 모델로 재트레이닝시키는 과정으로 이해하면 되나요?

  2. LinearRegression()에서는 왜 따로 best parameter를 계산하지 않는지 궁금합니다.

답변 1

0

안녕하세요. 답변도우미입니다.

1번은 저희가 의도한 바와 동일합니다. 기본적으로는 GridSearch 로 학습데이터를 기준으로 최적의 하이퍼파라미터 값을 알아내고, 이때의 학습된 모델로 예측을 하면 됩니다. 다만, 결과값이 조금 달라서, 완전히 최적정도는 아닐 수 있지만, 본래 데이터로 최적의 하이퍼파라미터값을 알아낸 후, 이를 살짝 다른 결과값을 가진 데이터에 학습시키고, 예측을 하였습니다. 사실 결과값도 일종의 scale? 만 다른 정도라서, 재학습시켜도 유사하고, 이미 만들어놓은 함수가 있어서, 해당 함수를 사용한 것입니다.

2번은 LinearRegression() 은 저희가 고성능을 기대한다기 보다, 해당 기능을 이렇게 사용할 수 있다 정도롤 설명드리는 것이라서, 굳이 GridSearch 까지는 수행하지 않았습니다.

감사합니다.

문환룡님의 프로필 이미지
문환룡

작성한 질문수

질문하기