MCPcopy Index your code
hub / github.com/lawlite19/MachineLearning_Python / neuralNetwork

Function neuralNetwork

NeuralNetwok/NeuralNetwork.py:13–59  ·  view source on GitHub ↗
(input_layer_size,hidden_layer_size,out_put_layer)

Source from the content-addressed store, hash-verified

11import time
12
13def neuralNetwork(input_layer_size,hidden_layer_size,out_put_layer):
14 data_img = loadmat_data("data_digits.mat")
15 X = data_img['X']
16 y = data_img['y']
17
18 '''scaler = StandardScaler()
19 scaler.fit(X)
20 X = scaler.transform(X)'''
21
22 m,n = X.shape
23 """digits = datasets.load_digits()
24 X = digits.data
25 y = digits.target
26 m,n = X.shape
27
28 scaler = StandardScaler()
29 scaler.fit(X)
30 X = scaler.transform(X)"""
31
32 ## 随机显示几行数据
33 rand_indices = [t for t in [np.random.randint(x-x, m) for x in range(100)]] # 生成100个0-m的随机数
34 display_data(X[rand_indices,:]) # 显示100个数字
35
36 #nn_params = np.vstack((Theta1.reshape(-1,1),Theta2.reshape(-1,1)))
37
38 Lambda = 1
39
40 initial_Theta1 = randInitializeWeights(input_layer_size,hidden_layer_size);
41 initial_Theta2 = randInitializeWeights(hidden_layer_size,out_put_layer)
42
43 initial_nn_params = np.vstack((initial_Theta1.reshape(-1,1),initial_Theta2.reshape(-1,1))) #展开theta
44 #np.savetxt("testTheta.csv",initial_nn_params,delimiter=",")
45 start = time.time()
46 result = optimize.fmin_cg(nnCostFunction, initial_nn_params, fprime=nnGradient, args=(input_layer_size,hidden_layer_size,out_put_layer,X,y,Lambda), maxiter=100)
47 print (u'执行时间:',time.time()-start)
48 print (result)
49 '''可视化 Theta1'''
50 length = result.shape[0]
51 Theta1 = result[0:hidden_layer_size*(input_layer_size+1)].reshape(hidden_layer_size,input_layer_size+1)
52 Theta2 = result[hidden_layer_size*(input_layer_size+1):length].reshape(out_put_layer,hidden_layer_size+1)
53 display_data(Theta1[:,1:length])
54 display_data(Theta2[:,1:length])
55 '''预测'''
56 p = predict(Theta1,Theta2,X)
57 print (u"预测准确度为:%f%%"%np.mean(np.float64(p == y.reshape(-1,1))*100))
58 res = np.hstack((p,y.reshape(-1,1)))
59 np.savetxt("predict.csv", res, delimiter=',')
60
61
62# 加载mat文件

Callers 1

NeuralNetwork.pyFile · 0.85

Calls 4

randInitializeWeightsFunction · 0.85
loadmat_dataFunction · 0.70
display_dataFunction · 0.70
predictFunction · 0.70

Tested by

no test coverage detected