>>> from sklearn.model_selection import RandomizedSearchCV
    >>> pipe_svc = make_pipeline(StandardScaler(),
    ...                          SVC(random_state=1))
    >>> param_grid = [{'svc__C': param_range,
    ...                'svc__kernel': ['linear']},
    ...               {'svc__C': param_range,
    ...                'svc__gamma': param_range,
    ...                'svc__kernel': ['rbf']}]
    >>> rs = RandomizedSearchCV(estimator=pipe_svc,
    ...                         param_distributions=param_grid,
    ...                         scoring='accuracy',
    ...                         refit=True,
    ...                         n_iter=20,
    ...                         cv=10,
    ...                         random_state=1,
    ...                         n_jobs=-1)
    >>> rs = rs.fit(X_train, y_train)
    >>> print(rs.best_score_)
    0.9670531400966184
    >>> print(rs.best_params_)
    {'svc__C': 0.05971247755848464, 'svc__kernel': 'linear'}

    코드를 보면 GridSearchCV와 사용법이 매우 비슷합니다. 분포를 사용하여 파라미터 범위를 지정하고 n_iter=20으로 반복 횟수를 20으로 지정한 것만 다릅니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.