Если вы предоставляете случайное начальное число для CV-разветвителя в многоядерном сеточном поиске, гарантированно ли будут одинаковые разбиения по ядрам? - PullRequest
1 голос
/ 08 апреля 2020

Если я запускаю поиск по сетке по нескольким ядрам, а объект сплиттера CV, предоставленный для GridSearchCV, имеет shuffle=True, а аргумент random_state установлен на некоторое целое число, гарантируется ли, что перекрестная проверка расщепляется, используемая поиск по сетке на каждом из отдельных ядер будет одинаковым?

Вот пример:

from sklearn.datasets import load_iris
from sklearn.svm import SVC
from sklearn.model_selection import GridSearchCV, KFold

iris = load_iris()

param_grid = {
    'kernel': ['linear', 'polynomial', 'rbf'],
    'C': np.logspace(-4, 5, 10)
}

cv = KFold(n_splits=5, shuffle=True, random_state=42)

clf = GridSearchCV(SVC(), param_grid=param_grid, cv=cv, n_jobs=10)

clf.fit(iris.data, iris.target)

Итак, в этом случае я распределяю поиск по сетке по 10 ядрам. Я хочу быть уверен, что каждая модель в сетке параметров оценивается с использованием точно такого же разделения перекрестной проверки. Гарантируется ли это при распределении задания поиска по сетке по нескольким ядрам?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...