簡體   English   中英

Python神經網絡編碼

[英]Python neural network coding

我有一個已經完成標准化的皮膚科數據庫。 這是一個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是一維的,我認為您無需對Y進行轉置。

我是這樣做的:

my_5_input_numbers.csv
0.3,0.5,0.6,0.7,1
0.4,0.6,0.7,0.8,0
0.5,0.7,0.8,0.9,1

使用的numpy:

data_common=np.genfromtxt('my_5_input_numbers.csv',delimiter=',')
"""
data_common=array([[ 0.3,  0.5,  0.6,  0.7,  1. ],
       [ 0.4,  0.6,  0.7,  0.8,  0. ],
       [ 0.5,  0.7,  0.8,  0.9,  1. ]])
data_common.shape=(3,5)       
"""

X_train=data_common[:,-1]#X_train.shape=(3,4)
y_train=data_common[0:4,-1]#y_train.shape=(3,)
y_train=y_train.reshape(3,1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM