작성
·
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
0
안녕하세요. 답변도우미입니다.
1번은 저희가 의도한 바와 동일합니다. 기본적으로는 GridSearch 로 학습데이터를 기준으로 최적의 하이퍼파라미터 값을 알아내고, 이때의 학습된 모델로 예측을 하면 됩니다. 다만, 결과값이 조금 달라서, 완전히 최적정도는 아닐 수 있지만, 본래 데이터로 최적의 하이퍼파라미터값을 알아낸 후, 이를 살짝 다른 결과값을 가진 데이터에 학습시키고, 예측을 하였습니다. 사실 결과값도 일종의 scale? 만 다른 정도라서, 재학습시켜도 유사하고, 이미 만들어놓은 함수가 있어서, 해당 함수를 사용한 것입니다.
2번은 LinearRegression() 은 저희가 고성능을 기대한다기 보다, 해당 기능을 이렇게 사용할 수 있다 정도롤 설명드리는 것이라서, 굳이 GridSearch 까지는 수행하지 않았습니다.
감사합니다.