如何在带有 GridSearchCV 的 keras 模型的超参数优化中使用简单的验证集?
How to use a simple validation set in hyperparameter optimization of keras model with GridSearchCV?
我正在尝试对大型数据集执行超参数优化。而且我想避免使用交叉验证 cv
来加速优化。这就是为什么我想使用来自训练数据集的验证集 = 0.2 的验证集。
grid = GridSearchCV(estimator=model, param_grid=param_grid, n_jobs=-1, cv=3)
grid_result = grid.fit(X_train, y_train)
我应该如何修改上面的 GridSearchCV() 参数以使用带有 validation_split=0.2
的验证数据集并忽略交叉验证来执行超参数优化?
使用 PredefinedSplit,您可以为超参数 opt 使用相同的验证集。 -1 识别你的火车数据而 0 识别你的有效数据
from sklearn.model_selection import PredefinedSplit, GridSearchCV
X_train = np.random.uniform(0,1, (10000,30))
y_train = np.random.uniform(0,1, 10000)
val_spilt = np.random.choice([-1,0], len(y_train), p=[0.8, 0.2])
grid = GridSearchCV(estimator=model, param_grid=param_grid, n_jobs=-1,
cv=PredefinedSplit(val_spilt))
grid_result = grid.fit(X_train, y_train)
在此处进行手动检查:
ps = PredefinedSplit(val_spilt)
for train_index, val_index in ps.split():
print("TRAIN:", len(train_index), "VAL:", len(val_index))
我正在尝试对大型数据集执行超参数优化。而且我想避免使用交叉验证 cv
来加速优化。这就是为什么我想使用来自训练数据集的验证集 = 0.2 的验证集。
grid = GridSearchCV(estimator=model, param_grid=param_grid, n_jobs=-1, cv=3)
grid_result = grid.fit(X_train, y_train)
我应该如何修改上面的 GridSearchCV() 参数以使用带有 validation_split=0.2
的验证数据集并忽略交叉验证来执行超参数优化?
使用 PredefinedSplit,您可以为超参数 opt 使用相同的验证集。 -1 识别你的火车数据而 0 识别你的有效数据
from sklearn.model_selection import PredefinedSplit, GridSearchCV
X_train = np.random.uniform(0,1, (10000,30))
y_train = np.random.uniform(0,1, 10000)
val_spilt = np.random.choice([-1,0], len(y_train), p=[0.8, 0.2])
grid = GridSearchCV(estimator=model, param_grid=param_grid, n_jobs=-1,
cv=PredefinedSplit(val_spilt))
grid_result = grid.fit(X_train, y_train)
在此处进行手动检查:
ps = PredefinedSplit(val_spilt)
for train_index, val_index in ps.split():
print("TRAIN:", len(train_index), "VAL:", len(val_index))