W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在這個(gè)例子中,我們來(lái)創(chuàng)建一個(gè)單層神經(jīng)網(wǎng)絡(luò),它由獨(dú)立的神經(jīng)元組成,這些神經(jīng)元在輸入數(shù)據(jù)上起作用以產(chǎn)生輸出。 請(qǐng)注意,這里使用 neural_simple.txt
文件作為輸入。
如下所示導(dǎo)入所需的軟件包 -
import numpy as np
import matplotlib.pyplot as plt
import neurolab as nl
加載數(shù)據(jù)集如下代碼 -
input_data = np.loadtxt(“/Users/admin/neural_simple.txt')
以下是我們要使用的數(shù)據(jù)。 請(qǐng)注意,在此數(shù)據(jù)中,前兩列是特征,最后兩列是標(biāo)簽。
array([[2. , 4. , 0. , 0. ],
[1.5, 3.9, 0. , 0. ],
[2.2, 4.1, 0. , 0. ],
[1.9, 4.7, 0. , 0. ],
[5.4, 2.2, 0. , 1. ],
[4.3, 7.1, 0. , 1. ],
[5.8, 4.9, 0. , 1. ],
[6.5, 3.2, 0. , 1. ],
[3. , 2. , 1. , 0. ],
[2.5, 0.5, 1. , 0. ],
[3.5, 2.1, 1. , 0. ],
[2.9, 0.3, 1. , 0. ],
[6.5, 8.3, 1. , 1. ],
[3.2, 6.2, 1. , 1. ],
[4.9, 7.8, 1. , 1. ],
[2.1, 4.8, 1. , 1. ]])
現(xiàn)在,將這四列分成2個(gè)數(shù)據(jù)列和2個(gè)標(biāo)簽 -
data = input_data[:, 0:2]
labels = input_data[:, 2:]
使用以下命令繪制輸入數(shù)據(jù) -
plt.figure()
plt.scatter(data[:,0], data[:,1])
plt.xlabel('Dimension 1')
plt.ylabel('Dimension 2')
plt.title('Input data')
現(xiàn)在,為每個(gè)維度定義最小值和最大值,如下所示 -
dim1_min, dim1_max = data[:,0].min(), data[:,0].max()
dim2_min, dim2_max = data[:,1].min(), data[:,1].max()
接下來(lái),如下定義輸出層中神經(jīng)元的數(shù)量 -
nn_output_layer = labels.shape[1]
現(xiàn)在,定義一個(gè)單層神經(jīng)網(wǎng)絡(luò) -
dim1 = [dim1_min, dim1_max]
dim2 = [dim2_min, dim2_max]
neural_net = nl.net.newp([dim1, dim2], nn_output_layer)
訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時(shí)代數(shù)和學(xué)習(xí)率如下所示 -
error = neural_net.train(data, labels, epochs = 200, show = 20, lr = 0.01)
現(xiàn)在,使用以下命令可視化并繪制訓(xùn)練進(jìn)度 -
plt.figure()
plt.plot(error)
plt.xlabel('Number of epochs')
plt.ylabel('Training error')
plt.title('Training error progress')
plt.grid()
plt.show()
現(xiàn)在,使用上述分類(lèi)器中的測(cè)試數(shù)據(jù)點(diǎn) -
print('\nTest Results:')
data_test = [[1.5, 3.2], [3.6, 1.7], [3.6, 5.7],[1.6, 3.9]] for item in data_test:
print(item, '-->', neural_net.sim([item])[0])
下面是測(cè)試結(jié)果 -
[1.5, 3.2] --> [1. 0.]
[3.6, 1.7] --> [1. 0.]
[3.6, 5.7] --> [1. 1.]
[1.6, 3.9] --> [1. 0.]
您可以看到迄今為止討論的代碼的輸出圖表 -
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: