예제 #1
0
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)
예제 #2
0
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
예제 #4
0
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
예제 #6
0
# 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)
예제 #7
0
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')
예제 #8
0
# 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)
예제 #9
0
# 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')