def ShowResult(net, dataReader, title): # draw train data X, Y = dataReader.XTrain, dataReader.YTrain plt.plot(X[:, 0], Y[:, 0], '.', c='b') # create and draw visualized validation data TX = np.linspace(0, 1, 100).reshape(100, 1) TY = net.inference(TX) plt.plot(TX, TY, 'x', c='r') plt.title(title) plt.show() #end def if __name__ == '__main__': dataReader = DataReader(train_data_name, test_data_name) dataReader.ReadData() dataReader.GenerateValidationSet() n_input, n_hidden, n_output = 1, 4, 1 eta, batch_size, max_epoch = 0.7, 15, 10000 eps = 0.001 hp = HyperParameters2(n_input, n_hidden, n_output, eta, max_epoch, batch_size, eps, NetType.Fitting, InitialMethod.Xavier) net = NeuralNet2(hp, "complex_121") net.train(dataReader, 50, True) net.ShowTrainingTrace() ShowResult(net, dataReader, hp.toString())
# Copyright (c) Microsoft. All rights reserved. # Licensed under the MIT license. See LICENSE file in the project root for full license information. import numpy as np from HelperClass2.DataReader import * from HelperClass2.HyperParameters2 import * from HelperClass2.NeuralNet2 import * train_data_name = "../../Data/ch10.train.npz" test_data_name = "../../Data/ch10.test.npz" if __name__ == '__main__': dataReader = DataReader(train_data_name, test_data_name) dataReader.ReadData() dataReader.NormalizeX() dataReader.Shuffle() dataReader.GenerateValidationSet() n_input = dataReader.num_feature n_hidden = 2 n_output = 1 eta, batch_size, max_epoch = 0.1, 5, 10000 eps = 0.08 hp = HyperParameters2(n_input, n_hidden, n_output, eta, max_epoch, batch_size, eps, NetType.BinaryClassifier, InitialMethod.Xavier) net = NeuralNet2(hp, "Arc_221") net.train(dataReader, 5, True) net.ShowTrainingTrace()
def ShowResult(net, dataReader, title): # draw train data X, Y = dataReader.XTrain, dataReader.YTrain plt.plot(X[:, 0], Y[:, 0], '.', c='b') # create and draw visualized validation data TX = np.linspace(0, 1, 100).reshape(100, 1) TY = net.inference(TX) plt.plot(TX, TY, 'x', c='r') plt.title(title) plt.show() #end def if __name__ == '__main__': dataReader = DataReader(x_data_name, y_data_name) dataReader.ReadData() dataReader.GenerateValidationSet() n_input, n_hidden, n_output = 1, 8, 1 eta, batch_size, max_epoch = 0.5, 10, 10000 eps = 0.001 hp = HyperParameters2(n_input, n_hidden, n_output, eta, max_epoch, batch_size, eps, NetType.Fitting, InitialMethod.Xavier) net = NeuralNet2(hp, "complex_121") net.train(dataReader, 50, True) net.ShowTrainingTrace() ShowResult(net, dataReader, hp.toString())
if Y[i,j] == 1: ax.scatter(net.Z1[i,0],net.Z1[i,1],net.Z1[i,2], color=colors[j], marker=shapes[j]) plt.show() fig = plt.figure(figsize=(6,6)) ax = Axes3D(fig) count = Y.shape[0] for i in range(count): for j in range(Y.shape[1]): if Y[i,j] == 1: ax.scatter(net.A1[i,0],net.A1[i,1],net.A1[i,2], color=colors[j], marker=shapes[j]) plt.show() if __name__ == '__main__': dataReader = DataReader(train_data_name, test_data_name) dataReader.ReadData() dataReader.NormalizeY(YNormalizationMethod.MultipleClassifier, base=1) dataReader.NormalizeX() dataReader.Shuffle() dataReader.GenerateValidationSet() n_input = dataReader.num_feature n_hidden = 3 n_output = dataReader.num_category eta, batch_size, max_epoch = 0.1, 10, 5000 eps = 0.1 hp = HyperParameters2(n_input, n_hidden, n_output, eta, max_epoch, batch_size, eps, NetType.MultipleClassifier, InitialMethod.Xavier) net = NeuralNet2(hp, "Bank_233_2")