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 (将#修改为@)