Это , а не (и, возможно, было бы странно, если бы это было так).
Подробные значения использованных комбинаций параметров возвращаются в атрибуте cv_results_
of приспособленный RandomizedSearchCV
объект. Адаптируя пример из документов (используя значение по умолчанию n_iter = 10
), мы получаем:
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import RandomizedSearchCV
from scipy.stats import uniform
iris = load_iris()
logistic = LogisticRegression(solver='saga', tol=1e-2, max_iter=200,
random_state=0)
distributions = dict(C=uniform(loc=0, scale=4),
penalty=['l2', 'l1'])
clf = RandomizedSearchCV(logistic, distributions, random_state=0)
search = clf.fit(iris.data, iris.target)
search.cv_results_
Вы можете напрямую проверить словарь, возвращаемый search.cv_results_
, или импортировать его в pandas фрейм данных для более компактного представления:
import pandas as pd
df = pd.DataFrame.from_dict(search.cv_results_)
df['params']
# result:
0 {'C': 2.195254015709299, 'penalty': 'l1'}
1 {'C': 3.3770629943240693, 'penalty': 'l1'}
2 {'C': 2.1795327319875875, 'penalty': 'l1'}
3 {'C': 2.4942547871438894, 'penalty': 'l2'}
4 {'C': 1.75034884505077, 'penalty': 'l2'}
5 {'C': 0.22685190926977272, 'penalty': 'l2'}
6 {'C': 1.5337660753031108, 'penalty': 'l2'}
7 {'C': 3.2486749151019727, 'penalty': 'l2'}
8 {'C': 2.2721782443757292, 'penalty': 'l1'}
9 {'C': 3.34431505414951, 'penalty': 'l2'}
, откуда ясно, что значение по умолчанию C=1.0
для LogisticRegression
было не включено в поисковую сетку.
Если у вас есть какая-либо причина для оценки производительности модели с параметрами по умолчанию, вы должны сделать это отдельно - возможно, это довольно просто (всего 2 строки кода).