今天用python实现了一下神经网络回归,遇到了好几个问题,总结了一下问题的类型和解决方案:
本文侧重实现过程中的问题解决
代码如下:
from sklearn import datasets
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn import preprocessing
from sknn.mlp import Regressor, Layer
from sklearn.metrics import mean_squared_error
boston = datasets.load_boston()
x, y = boston.data, boston.target
x_MinMax = preprocessing.MinMaxScaler()
y_MinMax = preprocessing.MinMaxScaler() # 归一化
y = np.array(y).reshape(len(y), 1)
x = x_MinMax.fit_transform(x)
y = y_MinMax.fit_transform(y)
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, train_size=0.8, random_state=0)
fit1 = Regressor(layers=[Layer("Sigmoid", units=6), Layer("Sigmoid", units=14), Layer("Linear")], learning_rate=0.01,random_state=2000, n_iter=10)
fit1.fit(x_train, y_train)
pred1_train = fit1.predict(x_train)
mse_1 = mean_squared_error(pred1_train,y_train)
print ("Train ERROR = ", mse_1)
下面是关键部分要想实现上述代码需要装以下几个工具包
如果报错信息
ImportError: Version check of the existing lazylinker compiled file. Looking for version 0.211, but found None. Extra debug information: force_compile=False, _need_reload=True
1、conda install libpython mingw (这里下载很慢很慢,而且有可能会断 所以下载的时候 时不时看一眼 如果断了 重复上述代码)
如果报错信息,无法加载downsample
点错误得链接会进入pool.py文件,
修改以下几处地方
(1)把原来from theano.tensor.signal import downsample 修改为图中

(2)用contrl+F 搜索第二处downsample 修改为下图
注:除了把downsample改为pool 还要把ds 改为ws

(3)用contrl+F 搜索第二处downsample 修改为


本文分享了使用Python实现神经网络回归的过程,详细记录了遇到的问题及解决方案,包括依赖库安装、代码修改等,对初学者有较高参考价值。
944





