① 교차 검증
② 반복 검증
③ 교차 평가
④ 반복 평가
① cross_validate()
② GridSearchCV
③ RandomizedSearchCV
④ train_test_split
<풀이>
① cross_validate()는 주어진 모델과 훈련 세트를 사용하여 기본 5-폴드 교차 검증을 수행.
② GridSearchCV와 ③ RandomizedSearchCV는 하이퍼파라미터 튜닝을 수행하면서 최상의 모델을 고르기 위해 교차 검증을 수행.
gs = RandomizedSearchCV(DecisionTreeClassifier(splitter='random', random_state=42), params, n_iter=100, n_jobs=-1, random_state=42)
gs.fit(train_input, train_target)
print(gs.best_params_)
print(np.max(gs.cv_results_['mean_test_score']))
dt = gs.best_estimator_
print(dt.score(test_input, test_target))
>>> {'max_depth': 43, 'min_impurity_decrease': 0.00011407982271508446, 'min_samples_leaf': 19, 'min_samples_split': 18}
0.8458726956392981
0.786923076923077