gpt4 book ai didi

python - Sklearn MLP 分类器隐藏层优化 (RandomizedSearchCV)

转载 作者:行者123 更新时间:2023-11-30 09:17:19 25 4
gpt4 key购买 nike

我设置了以下参数:

parameter_space = {
'hidden_layer_sizes': [(sp_randint.rvs(100,600,1),sp_randint.rvs(100,600,1),), (sp_randint.rvs(100,600,1),)],
'activation': ['tanh', 'relu', 'logistic'],
'solver': ['sgd', 'adam', 'lbfgs'],
'alpha': stats.uniform(0.0001, 0.9),
'learning_rate': ['constant','adaptive']}

除hidden_​​layer_sizes 之外的所有参数均按预期工作。

目前,hidden_​​layer_sizes 随机值是预先计算的,并且在所有迭代中保持不变。

有没有办法获得 1 或 2 层 MLP,其中隐藏层神经元在 RandomizedSearchCV 的每次迭代中随机选取 100 到 600 个神经元。

有什么想法/其他相关提示吗?

最佳答案

RandomizedSearchCV使用ParameterSampler期望有一个随机采样的列表或一个 attribute 的对象rvs()。您可以通过以下方式模仿该对象

class RandIntMatrix(object):
def __init__(self, low, high, shape=(1)):
self.low = low
self.high = high
self.shape = shape

def rvs(self, random_state=None):
np.random.seed(random_state)
return np.random.randint(self.low, self.high, self.shape)

print (RandIntMatrix(100, 600, 3).rvs()) # [ 506 124 310]

关于python - Sklearn MLP 分类器隐藏层优化 (RandomizedSearchCV),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52032019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com