DataMining_AritificialNeuralNetworks
A python implementation of AritificialNeuralNetworks - ANN
Env : Python2.6
Usage :
PC python :
pip install numpy, pandas
Run .py
python Network.py
Defination :
AritificialNeuralNetworks Struct
class AritificialNeuralNetworks(object):
def __init__(self, layers, learningRate, trainX, trainY, testX, testY, epoch):
# input params
self.layers = layers
self.lr = learningRate
self.epoch = epoch
self.mean = [np.mean(i) for i in trainX.T]
self.stdVar = [np.std(i) for i in trainX.T]
self.trainXPrediction = trainX
self.trainYPrediction = trainY
self.testXPrediction = testX
self.testYPrediction = testY
self.trainX = self.Normalization(trainX)
self.trainY = self.oneHotDataProcessing(trainY)
self.weights = [np.random.uniform(-0.5, 0.5, [y, x]) for x, y in zip(layers[:-1], layers[1:])]
self.biases = [np.zeros([y, 1]) for y in layers[1:]]
self.cntLayer = len(self.layers) - 1
self.error = None
Code Flie :
AritificialNeuralNetworks.py
|--Initial params struct
|--FitTransform Function
|--ForwardUpdate Function
|--BackForwardUpdate Function
|--/* Activation function
sigmoid - sigmoidPrime
tanh - tanhPrime
ReLU - ReLUPrime
|--*/
|--Cost Function
|--Normalization Function
|--OneHotDataProcessing Function
|--Prediction Function
|--Main
tools.py
|--CreateDataSet Function