特定の分類子に GridSearchCV (n_jobs > 1) を使用したいのですが、別のソースから 10 分割交差検証のフォールドに関する情報を入手しています。GridSearchCV によって作成されたフォールドを使用する代わりに、既にフォールドに分割されているデータを入力する方法はありますか。
ありがとう!
特定の分類子に GridSearchCV (n_jobs > 1) を使用したいのですが、別のソースから 10 分割交差検証のフォールドに関する情報を入手しています。GridSearchCV によって作成されたフォールドを使用する代わりに、既にフォールドに分割されているデータを入力する方法はありますか。
ありがとう!
たとえば、 LeaveOneGroupOutまたはLeaveOneGroupOutにインスピレーションを得て、関心のある構造を実装することにより、カスタム CV イテレータを作成できます 。
または、整数の配列としてエンコードされた独自の事前計算された折り畳み (0
との間のサンプル インデックスを表すn_samples - 1
) を準備し、その CV イテレータをとユーティリティのcv
引数として渡すことができます。cross_val_score
GridSearchCV
>>> X, y = make_classification(n_samples=10)
>>> import numpy as np
>>> from sklearn.datasets import make_classification
>>> from sklearn.linear_model import LogisticRegression
>>> from sklearn.model_selection import cross_val_score
>>> cv_splits = [
... (np.array([0, 1, 2, 3]), np.array([4, 5, 6])),
... (np.array([1, 2, 3, 4]), np.array([5, 6, 7])),
... (np.array([5, 6, 8, 9]), np.array([1, 2, 3, 4])),
... ]
>>> cross_val_score(LogisticRegression(), X, y, cv=cv_splits)
array([1. , 0.33333333, 0.75 ])