Exemplo n.º 1
0
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