IT이야기

Sklearn, gridsearch: 실행 중 진행 상황을 인쇄하는 방법

cyworld 2021. 10. 15. 21:07
반응형

Sklearn, gridsearch: 실행 중 진행 상황을 인쇄하는 방법은 무엇입니까?


분류기의 매개변수를 최적화하기 위해 GridSearchfrom sklearn사용 하고 있습니다. 데이터가 많기 때문에 전체 최적화 프로세스에는 하루 이상이 소요됩니다. 실행 중에 이미 시도한 매개변수 조합의 성능을 보고 싶습니다. 가능합니까?


verbose매개변수를 GridSearchCV양수로 설정하십시오 (숫자가 클수록 더 자세한 정보를 얻을 수 있습니다). 예를 들어:

GridSearchCV(clf, param_grid, cv=cv, scoring='accuracy', verbose=10)  

이것 좀 봐:

https://pactools.github.io/auto_examples/plot_grid_search.html?highlight=gridsearchcvprogressbar

지금에서야 발견해서 사용하고 있습니다. 매우 그것에:

In [1]: GridSearchCVProgressBar
Out[1]: pactools.grid_search.GridSearchCVProgressBar

In [2]:

In [2]: ??GridSearchCVProgressBar
Init signature: GridSearchCVProgressBar(estimator, param_grid, scoring=None, fit_params=None, n_jobs=1, iid=True, refit=True, cv=None, verbose=0, pre_dispatch='2*n_jobs', error_score='raise', return_train_score='warn')
Source:
class GridSearchCVProgressBar(model_selection.GridSearchCV):
    """Monkey patch Parallel to have a progress bar during grid search"""

    def _get_param_iterator(self):
        """Return ParameterGrid instance for the given param_grid"""

        iterator = super(GridSearchCVProgressBar, self)._get_param_iterator()
        iterator = list(iterator)
        n_candidates = len(iterator)

        cv = model_selection._split.check_cv(self.cv, None)
        n_splits = getattr(cv, 'n_splits', 3)
        max_value = n_candidates * n_splits

        class ParallelProgressBar(Parallel):
            def __call__(self, iterable):
                bar = ProgressBar(max_value=max_value, title='GridSearchCV')
                iterable = bar(iterable)
                return super(ParallelProgressBar, self).__call__(iterable)

        # Monkey patch
        model_selection._search.Parallel = ParallelProgressBar

        return iterator
File:           ~/anaconda/envs/python3/lib/python3.6/site-packages/pactools/grid_search.py
Type:           ABCMeta

In [3]: ?GridSearchCVProgressBar
Init signature: GridSearchCVProgressBar(estimator, param_grid, scoring=None, fit_params=None, n_jobs=1, iid=True, refit=True, cv=None, verbose=0, pre_dispatch='2*n_jobs', error_score='raise', return_train_score='warn')
Docstring:      Monkey patch Parallel to have a progress bar during grid search
File:           ~/anaconda/envs/python3/lib/python3.6/site-packages/pactools/grid_search.py
Type:           ABCMeta

ReferenceURL : https://stackoverflow.com/questions/24121018/sklearn-gridsearch-how-to-print-out-progress-during-the-execution

반응형