【问题标题】:convergence warning:Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet [duplicate]收敛警告:随机优化器:达到最大迭代次数(200)并且优化尚未收敛[重复]
【发布时间】:2018-11-16 05:59:45
【问题描述】:

这是一个使用ANN的练习。

我现在在下面的训练集上应用MLPClassifier

D1= {D1+={(6,2), (6,-2), (12,2), (12,-2)}, D1-={(2,0), (0,-2), (0,2), (-2,0)}}

D2= {D2+={(4,2), (4,-2), (-4,2), (-4,-2)}, D2-={(2,1), (2,-1), (-2,1), (-2,-1)}}

并使用以下代码:

x = [[6,-2],[6,2],[12,-2],[12,2],[2,0],[0,-2],[0,2],[-2,0]]

y = [1,1,1,1,-1,-1,-1,-1]

from sklearn import neural_network
clf = neural_network.MLPClassifier(solver='adam',alpha=0.0001,hidden_layer_sizes=(5,2), random_state=1, batch_size='auto')

clf.fit(x,y)

predicted = clf.predict([[0,0],[8,3]])

print(predicted)

尝试更改分类器但失败原因如下:

c:\users\asuspc\appdata\local\programs\python\python36-32\lib\site-packages\sklearn\neural_network\multilayer_perceptron.py:564:ConvergenceWarning:随机优化器:达到最大迭代次数 (200) 并且优化尚未收敛。 % self.max_iter, ConvergenceWarning)

我该怎么办?

【问题讨论】:

  • 这不是错误。只是一个关于在给定迭代中不收敛的警告。您可以尝试通过将max_iter 设置为更高的值来增加迭代次数。

标签: python scikit-learn jupyter


【解决方案1】:

我通过设置 max_iter=2000 解决了这个问题,它需要更长的时间来处理,但渲染一个更好的图表会处理 PyCharm 中的警告。

【讨论】:

    猜你喜欢
    • 2019-12-04
    • 2020-06-20
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    相关资源
    最近更新 更多