작성
·
920
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