• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

GridSearchCV refit에 관해서 질문합니다!

21.02.18 00:23 작성 조회수 745

0

grid_dtree = GridSearchCV(dtree, ... , refit=True)

에서 refit을 True가 아닌 False로 설정한다면, 최적의 파라미터로 재학습이 되지 않기 때문에 grid_dtree.fit(X_train, y_train)했을 때 마지막 교차 검증시 사용한 파라미터로 학습이 되는 것인가요? 

그럴 경우(refit=False)에 grid_dtree.best_estimator_를 통해서 최적의 파라미터를 가진 estimator를 다시 구해서 predict를 하는 것일까요?

제가 이해한 것이 맞는지 여쭤봅니다!

답변 2

·

답변을 작성해보세요.

3

안녕하십니까,

GridSearchCV의 본래 목적은 최적 하이퍼 파라미터를 찾는 것입니다. refit을 False로 하면 최적 하이퍼 파라미터만 찾아준다고 생각하시면 편한 것 같습니다.

따라서 찾아낸 하이퍼 파라미터를 기반으로 다시 Classifier를 생성하고 이 Classifier를 학습하는 로직을 사용하면됩니다. 굳이 refit을 False로 했는데 grid_dtree.fit(x_train, y_train)을 해주면 다시 CV 하이퍼 파라미터를 찾는 작업을 수행합니다.

refit=False이면 GridSearchCV가 해당 Classifier를 최적 하이퍼 파라미터로 학습 하지 않았으니, 아래와 같이

dtree = DecisionTreeClassifier(max_depth='찾아낸 최적 depth', ,,,, ) 후

dtree.fit(X_train, y_train) 하시면 됩니다.

감사합니다.

0

SeulA Yoon님의 프로필

SeulA Yoon

질문자

2021.02.18

상세한 답변 감사합니다! 이해가 되었습니다!