def neural_network(dataset_train, dataset_test):
    # Prendere la colonna Target del dataset
    classiOutput = set()
    for esempio in dataset_train:
        classiOutput.add(esempio[len(esempio) - 1])

    # Selezionare i Target senza duplicazione
    listaClassi = []

    for c in classiOutput:
        listaClassi.append(c)

    # Costruzione dell topologie della Rete
    lng = len(dataset_train[0])
    numeroInput = lng - 1
    # Creo l'oggetto Network
    rete = Network(numeroInput, listaClassi, math.tanh)
    # Aggiunta degli strati
    rete.add_hidden_layer(4)
    # Lo strato di Out avrà 3 unità
    rete.add_output_layer()
    rete.train(dataset_train)

    # Classificazione
    giuste = 0
    sbagliate = 0
    lable_learning = list()
    for test in dataset_test:
        output_class = rete.classify(test[:len(test) - 1])  # Passaggio dell'input alla rete
        lable_learning.append(output_class)
        if output_class == test[len(test) - 1]:
            giuste += 1
        else:
            sbagliate += 1

    rete.close_report()
    return lable_learning
Beispiel #2
0
from NeuralNetwork import Network
zero = [0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0]

one = [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0]

two = [0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1]

three = [1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1]

exampleZero = [zero, [0, 0]]
exampleOne = [one, [0, 1]]
exampleTwo = [two, [1, 0]]
exampleThree = [three, [1, 1]]
examples = [exampleZero, exampleOne, exampleTwo, exampleThree]

network = Network()
network.addLayer(10, 20)
network.addLayer(2, None)
network.train(examples)

print network.process(zero)
print network.process(one)
print network.process(two)
print network.process(three)
Beispiel #3
0
from NeuralNetwork import Network

nn = Network('lastmodel')

nn.train(10000)
import mnist_loader
from NeuralNetwork import Network

training_data, validation_data, test_data = mnist_loader.load_data_wrapper()

net = Network([784, 30, 10])
net.train(training_data, 30, 10, 3.0, test_data=test_data)
net.save_configuration()

print("Done")