SuccessiveHalvingSearchCV给出TypeError:*:'NoneType'和'int'不受支持的操作数类型

问题描述

我已经尝试过https://examples.dask.org/machine-learning/hyperparam-opt.html中的SuccessiveHalvingSearchCV示例。

from sklearn.datasets import make_circles
import numpy as np
from sklearn.neural_network import MLPClassifier
import dask.array as da
from dask_ml.model_selection import SuccessiveHalvingSearchCV
from distributed import Client
client = Client()

X,y = make_circles(n_samples=30_000,random_state=0,noise=0.09)
model = MLPClassifier()
params = {
"hidden_layer_sizes": [
    (24,),(12,12),(6,6,6),(4,4,4),3,3),],"activation": ["relu","logistic","tanh"],"alpha": np.logspace(-6,-3,num=1000),"batch_size": [16,32,64,128,256,512],}

n_examples = 4 * len(X)
n_params = 8
max_iter = n_params  
chunks = n_examples 
X_train = da.from_array(X,chunks=chunks)
y_train = da.from_array(y,chunks=chunks)

search = SuccessiveHalvingSearchCV(model,params,max_iter=max_iter,)
search.fit(X_train,y_train,classes=np.unique(y))

运行search.fit()方法时出现TypeError: unsupported operand type(s) for *: 'nonetype' and 'int'错误。上面来自dask文档的示例对于HyperbandSearchCV和InverseDecaySearchCV非常适用。

编辑:找出错误。在调用SuccessiveHalvingSearchCV()时,初始化参数n_initial_parameters和n_initial_iter。 例如:SuccessiveHalvingSearchCV(model,n_initial_parameters=10,n_initial_iter=5)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)