gridsearchCV - 为每个参数组合打乱数据
gridsearchCV - shuffle data for every single parameter combination
我正在使用 gridsearchCV 来确定模型超参数:
pipe = Pipeline(steps=[(self.FE, FE_algorithm), (self.CA, Class_algorithm)])
param_grid = {**FE_grid, **CA_grid}
scorer = make_scorer(f1_score, average='macro')
search = GridSearchCV(pipe, param_grid, cv=ShuffleSplit(test_size=0.20, n_splits=5,random_state=0), n_jobs=-1,
verbose=3, scoring=scorer)
search.fit(self.data_input, self.data_output)
但是,我相信我 运行 遇到了一些过度拟合的问题:
results
我想在每个参数组合下打乱数据,有什么办法吗?目前,通过 k 折交叉验证,正在为每个参数组合评估相同的验证数据集,k-fold,因此过度拟合成为一个问题。
不,没有。搜索将数据拆分一次,并为折叠和参数组合(source)的每个组合创建一个任务。
按参数组合改组可能无论如何都不可取:然后选择可能只会选择“最简单”的拆分而不是“最佳”参数。如果您认为您过度拟合验证折叠,请考虑使用
- 更少的参数选项
- 更多折叠,或重复拆分*
- 一个
scoring
自定义评估的可调用函数
- 更保守的模型
*我最喜欢的,虽然计算成本可能太高了
我正在使用 gridsearchCV 来确定模型超参数:
pipe = Pipeline(steps=[(self.FE, FE_algorithm), (self.CA, Class_algorithm)])
param_grid = {**FE_grid, **CA_grid}
scorer = make_scorer(f1_score, average='macro')
search = GridSearchCV(pipe, param_grid, cv=ShuffleSplit(test_size=0.20, n_splits=5,random_state=0), n_jobs=-1,
verbose=3, scoring=scorer)
search.fit(self.data_input, self.data_output)
但是,我相信我 运行 遇到了一些过度拟合的问题: results
我想在每个参数组合下打乱数据,有什么办法吗?目前,通过 k 折交叉验证,正在为每个参数组合评估相同的验证数据集,k-fold,因此过度拟合成为一个问题。
不,没有。搜索将数据拆分一次,并为折叠和参数组合(source)的每个组合创建一个任务。
按参数组合改组可能无论如何都不可取:然后选择可能只会选择“最简单”的拆分而不是“最佳”参数。如果您认为您过度拟合验证折叠,请考虑使用
- 更少的参数选项
- 更多折叠,或重复拆分*
- 一个
scoring
自定义评估的可调用函数 - 更保守的模型
*我最喜欢的,虽然计算成本可能太高了