微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AttributeError: 'str' 对象在 MLPRegressor 和 random_state 中没有属性 'decode'

如何解决AttributeError: 'str' 对象在 MLPRegressor 和 random_state 中没有属性 'decode'

我目前正在运行 MLPRegressor 模型

X_train,y_train = sliding_time(data_train.values,window_size=k) 
X_test,y_test = sliding_time(data_test.values,window_size=k)

model_MLPR = MLPRegressor(solver = 'lbfgs',activation = 'relu',hidden_layer_sizes=(120,60,30),max_iter=1000,n_iter_no_change=50,validation_fraction=0.2,random_state=1234).fit(X_train,y_train)

y_pred_MLPR = model_MLPR.predict(X_test)

我遇到了这个错误

AttributeError                            Traceback (most recent call last)
<ipython-input-855-d3fb3c073be9> in <module>
     11     X_test,window_size=k)
     12 
---> 13     model_MLPR = MLPRegressor(solver = 'lbfgs',14                    activation = 'relu',15                    hidden_layer_sizes=(120,~\anaconda3\envs\Pythoncpu\lib\site-packages\sklearn\neural_network\_multilayer_perceptron.py in fit(self,X,y)
    639                                    self.tol):
    640                 self._no_improvement_count += 1
--> 641             else:
    642                 self._no_improvement_count = 0
    643 

~\anaconda3\envs\Pythoncpu\lib\site-packages\sklearn\neural_network\_multilayer_perceptron.py in _fit(self,y,incremental)
    373 
    374         layer_units = ([n_features] + hidden_layer_sizes +
--> 375                        [self.n_outputs_])
    376 
    377         # check random state

~\anaconda3\envs\Pythoncpu\lib\site-packages\sklearn\neural_network\_multilayer_perceptron.py in _fit_lbfgs(self,activations,deltas,coef_grads,intercept_grads,layer_units)
    469             n_fan_in,n_fan_out = layer_units[i],layer_units[i + 1]
    470 
--> 471             end = start + (n_fan_in * n_fan_out)
    472             self._coef_indptr.append((start,end,(n_fan_in,n_fan_out)))
    473             start = end

~\anaconda3\envs\Pythoncpu\lib\site-packages\sklearn\utils\optimize.py in _check_optimize_result(solver,result,max_iter,extra_warning_msg)
    241                 "or scale the data as shown in:\n"
    242                 "    https://scikit-learn.org/stable/modules/"
--> 243                 "preprocessing.html"
    244             ).format(solver,result.status,result_message)
    245             if extra_warning_msg is not None:

AttributeError: 'str' object has no attribute 'decode'

我找到了一些解决方案,包括将 scikit-learn 的版本升级到 0.24.1,因为这个版本中已经修复了一个错误。我已经有了这个版本,所以我无法尝试。

通过读取错误,最终修复的是更改随机状态的种子。虽然这修复了错误,但我仍然不明白为什么会这样。据我所知,种子的值并不重要,它用于在运行多次试验时修复结果。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。