gpt4 book ai didi

Python:Scikit Learn MLPClassifier 放入管道时出错

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:29 25 4
gpt4 key购买 nike

我在 MLPClassifier 上使用 OneVsRestClassifier。我使用它对文本数据进行分类,其中 Xpd.DataFrame 中的一组问题,Y 是多标签和多类字符串.请看下面的代码片段

text_clf = Pipeline([('scale',StandardScaler(with_mean=False)),('clf',OneVsRestClassifier(MLPClassifier(learning_rate = 'adaptive', solver = 'lbfgs',random_state=9000)))])
parameters = {'clf__alpha':[10.0 ** ~ np.arange(1, 7).any()],'clf__hidden_layer_sizes': [(100,),(50,)],'clf__max_iter': [1000,500],'clf__activation':('relu','tanh')}
grid = GridSearchCV(text_clf, parameters, cv=3, n_jobs=-1, scoring= 'accuracy')
with parallel_backend('threading'):
grid.fit(X,Y)

我收到以下错误

ValueError: Invalid parameter activation for estimator OneVsRestClassifier(estimator=MLPClassifier(activation='relu', alpha=0.0001, batch_size='auto', beta_1=0.9,
beta_2=0.999, early_stopping=False, epsilon=1e-08,
hidden_layer_sizes=(100,), learning_rate='adaptive',
learning_rate_init=0.001, max_iter=200, momentum=0.9,
n_iter_no_change=10, nesterovs_momentum=True, power_t=0.5,
random_state=9000, shuffle=True, solver='lbfgs', tol=0.0001,
validation_fraction=0.1, verbose=False, warm_start=False),
n_jobs=None). Check the list of available parameters with `estimator.get_params().keys()`.

据我了解,MLPClassifier 支持多标签分类。是不是说明parameters需要重新审核?如果是这样,那么任何人都可以提供有关在何处更改 parameters 的任何线索吗?

任何帮助将不胜感激。

最佳答案

您的 MLPClassifier 嵌套到 OneVsRestClassifier 中作为其估算器。

换句话说,parameters 应该指定所有 alphahidden_​​layer_sizes ... 都用于嵌套估计器,而不是 OneVsRestClassifier.

像下面这样更改您的参数应该可以完成工作:

parameters = {'clf__estimator__alpha':[10.0 ** ~ np.arange(1,7).any()],
'clf__estimator__hidden_layer_sizes': [(100,),(50,)],
'clf__estimator__max_iter': [1000,500],
'clf__estimator__activation':('relu','tanh')}

关于Python:Scikit Learn MLPClassifier 放入管道时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53827524/

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