一直一来,我们都是用 TensorFlow 框架搭建深度神经网络,但其实 python 也提供了相应的统计和学习模块,比如我们要拟合函数 y = x**2
首先生成数据集 x 和标准数据 y = x **2
sample = pd.Series(random.sample(range(-10000,10000),sample_size)) print x.describe() # 查看x 的数据分布
然后将数据加载进 dataSet ,格式是 [ ([x_input],[y_input]), ([x_input],[y_input]) .... ]
dataSet = [([x.ix[count]],[y.ix[count]])] while count < sample_size: print "Working on data item:",count dataSet = dataSet + [([x.ix[count,0]],[y.ix[count]])]
导入 neuralpy 包搭建神经网络并训练
fit = neuralpy.Network(1,3,7,1) ''' 包含两个隐藏层,分别含有 3 个节点和 7 个节点,其中输入一个节点,输出一个节点 ''' print "fitting model right now" fit.train(dataSet,epochs,learning_rate)
接下来就可以评估表现的模型
while count < sample_size: out = fit.forward(x[count]) # forward 就是前向传播 print "Obs:", count +1, \ "y = ",round(y[count],4), \ "prediction = ",round(pd.Series(out),4) # pd.Series 就是一维数据的意思
结果如下:
|