from numpy import loadtxt, ones, zeros, where import numpy as np from sklearn import datasets from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score import sys, traceback from sklearn.neighbors import KNeighborsClassifier from sklearn.svm import SVC from nn import NeuralNet # load the data set filename = 'data/digitsX.dat' data = loadtxt(filename, delimiter=',') X = data[:,:] filename = 'data/digitsY.dat' data1 = loadtxt(filename, delimiter=',') y = data1 layers = np.array([25]) clf = NeuralNet(layers = layers, learningRate = 2.0, numEpochs = 10) clf.fit(X,y) predicted = clf.predict(X) # print predicted print np.mean(predicted == y)
X = X[idx] y = y[idx] # split the data Xtrain = X[:nTrain, :] ytrain = y[:nTrain] Xtest = X[nTrain:, :] ytest = y[nTrain:] # train the decision tree modelDT = DecisionTreeClassifier() modelDT.fit(Xtrain, ytrain) # train the naive Bayes layers = np.array(([25])) modelNN = NeuralNet(layers=layers, learningRate =2, numEpochs=500, epsilon=.62) modelNN.fit(Xtrain, ytrain) ypred_NNtrain = modelNN.predict(Xtrain) # output predictions on the remaining data ypred_NN = modelNN.predict(Xtest) # compute the training accuracy of the model accuracyNT = accuracy_score(ytrain, ypred_NNtrain) accuracyNN = accuracy_score(ytest, ypred_NN) print "Training = "+str(accuracyNT) print "Neural Net accuracy = "+str(accuracyNN) modelNN.visualizeHiddenNodes("visualizeHiddenNodes.bmp")
import numpy as np from numpy import loadtxt from sklearn import datasets from sklearn.metrics import accuracy_score from nn import NeuralNet # learning rate parameters to be trained by hand numEpochs = 100 learningRate = 0.3 epsilon = 0.12 regularization_parameter = 0.001 nodes_in_hidden_layers = [25] # load the data filenameX = "data/digitsX.dat" dataX = loadtxt(filenameX, delimiter=",") filenameY = "data/digitsY.dat" dataY = loadtxt(filenameY, delimiter=",") n, d = dataX.shape # create NeuralNet class modelNN = NeuralNet(nodes_in_hidden_layers, epsilon, learningRate, numEpochs) # train neural network on digits data modelNN.fit(dataX, dataY) # find the training accuracy # report the training accuracy
import numpy as np from sklearn import datasets from sklearn.metrics import accuracy_score from nn import NeuralNet filename_X = 'data/digitsX.dat' filename_y = 'data/digitsY.dat' X = np.loadtxt(filename_X, delimiter=',') y = np.loadtxt(filename_y, delimiter=',') # takes roughly 1s for each epoch clf_NN = NeuralNet(layers=np.array([25]), learningRate=2.0, numEpochs=450) clf_NN.fit(X, y) y_predict = clf_NN.predict(X) accuracy_NN = accuracy_score(y_predict, y) print "Accuracy: \t" + str(accuracy_NN)
''' AUTHOR Wenqi Xian ''' from numpy import loadtxt import numpy as np from nn import NeuralNet X_train = loadtxt('data/digitsX.dat', delimiter=',') y_train = loadtxt('data/digitsY.dat', delimiter=',') layers = np.array([25]) NN = NeuralNet(layers = layers, learningRate = 1.8, numEpochs = 700) NN.fit(X_train,y_train) predicted = NN.predict(X_train) accuracy = 100.0 * (predicted == y_train).sum() / y_train.shape[0] print accuracy
# neural nets doesnt really make sense import math import numpy as np import sys from import_train import import_training_file from import_train import rmsle from sklearn.neural_network import BernoulliRBM from nn import NeuralNet if __name__ == '__main__': (X, y) = import_training_file(sys.argv[1], True) hidden_layers = [5] learningRate = 1.6 epsil = 0.12 eps = 1000 neural_network = NeuralNet(hidden_layers, learningRate, epsilon=epsil, numEpochs=eps) neural_network.fit(X, y) nn_predict = neural_network.predict(X)
X = digitsX[:] y = digitsY[:] n, d = X.shape nTrain = 0.2 * n #training on 50% of the data # shuffle the data # idx = np.arange(n) # np.random.seed(13) # np.random.shuffle(idx) # X = X[idx] # y = y[idx] # split the data Xtrain = X[:nTrain, :] ytrain = y[:nTrain] # Xtest = X[nTrain:,:] # ytest = y[nTrain:] model = NeuralNet( np.array([25]), .80, 0.12, 600) # 100 @ 2.5 = 0.885, 400 @ 1.6 = 0.88, 1000 @ 1 = 0.8542, model.fit(X, y) ypred = model.predict(Xtrain) accuracy = accuracy_score(ytrain, ypred) print "NeuralNet Accuracy = " + str(accuracy) # model.visualizeHiddenNodes('hiddenLayers.png')
# neural nets doesnt really make sense import math import numpy as np import sys from import_train import import_training_file from import_train import rmsle from sklearn.neural_network import BernoulliRBM from nn import NeuralNet if __name__ == '__main__': (X, y) = import_training_file(sys.argv[1], True) hidden_layers = [5] learningRate = 1.6 epsil = 0.12 eps = 1000 neural_network = NeuralNet(hidden_layers, learningRate, epsilon=epsil, numEpochs=eps) neural_network.fit(X, y) nn_predict = neural_network.predict(X)
# dataset = datasets.load_digits() X = digitsX[:] y = digitsY[:] n,d = X.shape nTrain = 0.2*n #training on 50% of the data # shuffle the data # idx = np.arange(n) # np.random.seed(13) # np.random.shuffle(idx) # X = X[idx] # y = y[idx] # split the data Xtrain = X[:nTrain,:] ytrain = y[:nTrain] # Xtest = X[nTrain:,:] # ytest = y[nTrain:] model = NeuralNet(np.array([25]), .80, 0.12, 600) # 100 @ 2.5 = 0.885, 400 @ 1.6 = 0.88, 1000 @ 1 = 0.8542, model.fit(X,y) ypred = model.predict(Xtrain) accuracy = accuracy_score(ytrain, ypred) print "NeuralNet Accuracy = "+str(accuracy) # model.visualizeHiddenNodes('hiddenLayers.png')