我有一个已经完成标准化的皮肤病学数据库。这是一个CSV文件。我需要打开文件并将其输入到numpy数组中。我的数据库有34列和大约350行。我的神经网络有3个隐藏层。这是我目前用于神经网络的python代码。有人可以帮助我处理numpy数组/矩阵中的输入吗?谢谢
这是我的代码:
import numpy as np
#input x
X = np.array([ ])
#input y
y = np.array([]).T
syn0 = 2*np.random.random((34,26)) - 1
syn1 = 2*np.random.random((26,18)) - 1
syn2 = 2*np.random.random((18,11)) - 1
syn3 = 2*np.random.random((11,6)) - 1
for j in xrange(350):
l1 = 1/(1+np.exp(-(np.dot(X,syn0))))
l2 = 1/(1+np.exp(-(np.dot(l1,syn1))))
l3 = 1/(1+np.exp(-(np.dot(l2,syn2))))
l4 = 1/(1+np.exp(-(np.dot(l3,syn3))))
l4_delta = (y - l4)*(l4*(1-l4))
l3_delta = l4_delta.dot(syn3.T) * (l3 * (1-l3))
l2_delta = l3_delta.dot(syn2.T) * (l2 * (1-l2))
l1_delta = l2_delta.dot(syn1.T) * (l1 * (1-l1))
syn3 += l1.T.dot(l4_delta)
syn2 += l1.T.dot(l3_delta)
syn1 += l1.T.dot(l2_delta)
syn0 += X.T.dot(l1_delta)
假设标签在最后一列,
X = np.array([[float(cell) for cell in row[:-1]] for row in csv.reader(open(csv_filename))])
Y = np.array([float(row[-1]) for row in csv.reader(open(csv_filename))])
我认为您不需要转置Y
(假设它是一维的)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句