def MLP(data, batch_size): #data = load_iris() # list1 = list(data.iloc[0,:-2]) # print(list1) # target = list(data.iloc[0,4:]) # print(target) mlp = MultiLayerPerceptron(_layers=1, _bias=1, _inputs=4, _outputs=2, _learningRate=0.01, _maxIter=200) for i in range(mlp.maxIter): mlp.totalError = 0 data = shuffle(data) #print(data.data[0]) for j in range(len(data)): row = list(data.iloc[j, :-mlp.outputs]) target = list(data.iloc[j, mlp.inputs:]) mlp.estimate(row) #mlp.estimate(data.data[j]) mlp.updateDeltaWeight(target) if j % batch_size == 0: mlp.updateWeight() mlp.updateTotalError(target) # print("at iteration ", i, " error = " + str(mlp.totalError)) if j % batch_size != 0: mlp.updateWeight() mlp.updateTotalError(target) # print("at iteration ", i, " error = " + str(mlp.totalError)) if (mlp.totalError < 0.01): break return mlp