私は自分のためにオンラインで見つかったコードを修正しました。ニューラルネットワークのトレーニングは完了です。しかし、私はデータセットのテストをどのように進めるべきかはわかりません。私のデータセットは350項目で構成され、そのうちの半分は訓練に使用し、残りの半分はテストに使用します。どのようにコードがテストモジュールのように見えるか誰でも助けてくれますか? ニューラルネットワークの構造: それは3つの隠れ層 それはありがとう 34個の列を持っているがありますがトレーニング終了後のニューラルネットワークのデータテストコード
これは私の作業コードは、訓練に使用されている:私はそれを理解できるように
import numpy as np
import csv
X = X = np.array([[float(cell) for cell in row[:-1]] for row in csv.reader(open('C:/Users/Acer/Desktop/final sem/Project/Implementation/nn.csv'))])
Y = np.array([float(row[-1]) for row in csv.reader(open('C:/Users/Acer/Desktop/final sem/Project/Implementation/nn.csv'))])
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(-(l1.dot(syn1))))
l3 = 1/(1+np.exp(-(l2.dot(syn2))))
l4 = 1/(1+np.exp(-(l3.dot(syn3))))
l4_delta = (Y[j] - 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 += np.dot(l3.transpose(),l4_delta)
syn2 += np.dot(l2.transpose(),l3_delta)
syn1 += np.dot(l1.transpose(),l2_delta)
syn0 += X.T.dot(l1_delta)
申し訳ありませんが、スマートな回答はありませんが、通常はテスト用データの1/3、学習用データの2/3です。 – DaMachk
大丈夫です。ありがとうございます – KSS