예제 #1
0
                    "\nData Set: ("
                    + str(dataSet)
                    + ") Run: "
                    + str(run)
                    + " Strategy: "
                    + str(TS.TrainingStrategyType.desc(strat))
                )

                if run == 0:
                    p.initCombinedConfusionMatrix()
                hiddenArchitecture = [
                    2 * len(p.patterns[0]["p"])
                ]  # each hidden layer is a new index in this list, it's value = number of neurons in that layer
                TS.Member.genomeTemplate = genomeTemplateFromArchitecture(
                    len(p.patterns[0]["p"]), hiddenArchitecture, len(p.targets)
                )
                Net.trainingStrategy = TS.TrainingStrategy.getTrainingStrategyOfType(strat)
                Net.trainingStrategy.maxGenerations = maxGenerations
                Net.trainingStrategy.initPopulation(populationSize, (-1.0, 1.0))
                n = Net(p, hiddenArchitecture)

                n.run(PatternType.Train, 0, int(p.count * trainPercentage))
                n.run(PatternType.Test, int(p.count * trainPercentage), p.count)
                # n.run(PatternType.Train, 0, p.count)
                # n.run(PatternType.Test, 0, p.count)
                p.printStats()
            p.saveConfusionMatrix(
                "records/" + str(dataSet.split("/")[1]) + "-" + str(TS.TrainingStrategyType.desc(strat)) + ".csv"
            )
    print("Done")
예제 #2
0
    #                 'data/zoo/zoo.json',
    #                 'data/iris/iris.json']

    # Single:
    # allDataTypes = ['data/ionosphere/ionosphere.json']
    # allDataTypes = ['data/block/pageblocks.json']
    # allDataTypes = ['data/heart/heart.json']
    # allDataTypes = ['data/glass/glass.json']
    # allDataTypes = ['data/car/car.json']
    # allDataTypes = ['data/seeds/seeds.json']
    allDataTypes = ['data/wine/wine.json']
    # allDataTypes = ['data/yeast/yeast.json']
    # allDataTypes = ['data/zoo/zoo.json']
    # allDataTypes = ['data/iris/iris.json']

    trainPercentage = 0.8
    runsPerDataSet = 10

    for dataset in allDataTypes:
        p = PatternSet(dataset)
        for run in range(runsPerDataSet):
            if run == 0:
                p.initCombinedConfusionMatrix()
            n = Network(p)
            n.run(PatternType.Train, 0, int(p.count*trainPercentage))
            saveWeights(n)
            n.run(PatternType.Test, int(p.count*trainPercentage), p.count)
            p.printStats()
        p.saveConfusionMatrix()
    print("Done")