# D-StreamII training objects
trainer = DStreamII(complexity=0, numInputs=1, discreteOutputs=0, discreteInputs=0, appFieldsDict= {'gridSize': [0.25], 'gridUpperRange':[25], 'gridLowerRange':[0]});

trainInputData = []
trainOutputData = []

# Train to determine the grid size
with open("trace.txt", mode='r') as fp:
    for line in fp:
        dataInfo = line.split()
        trainInputData.append(dataInfo)

with open("trace_obs.txt", mode='r') as fp:
    for line in fp:
        dataInfo = line.split()
        trainOutputData.append(dataInfo)
        
trainer.addBatchObservations(trainInputData, trainOutputData);

trainer.train();

inputData = []

#Execute D-Stream II clustering algorithm
with open("power_use.txt") as fp:
    for line in fp:
        dataInfo  = line.split()
        trainer.execute(dataInfo)

trainer.printClusters()
for trainingSample in range(numTrainingSamples):
    inputRow = next(inputReader);
    outputRow = next(outputReader);
    if (len(inputRow) > 0):
        input1 = float(inputRow[0]);
        input2 = float(inputRow[1]);
        output = float(outputRow[0]);

        firstTS = time.time();
        dStreamIITest.addSingleObservation([input1, input2], output);
        secondTS = time.time();
        dStreamIITimestamps["load" + str(trainingSample)] = secondTS - firstTS;

firstTS = time.time();
dStreamIITest.train();
secondTS = time.time();
dStreamIITimestamps["train"] = secondTS - firstTS;

runningTotal = 0;
for executeSample in range(numExecuteSamples):
    inputRow = next(inputReader);
    outputRow = next(outputReader);
    if (len(inputRow) > 0):
        input1 = float(inputRow[0]);
        output = float(outputRow[0]);

        firstTS = time.time();
        dStreamIITest.execute([input1, input2]);
        theor = output;
        secondTS = time.time();
Exemple #3
0
                        'gridLowerRange': [0]
                    })

trainInputData = []
trainOutputData = []

# Train to determine the grid size
with open("trace.txt", mode='r') as fp:
    for line in fp:
        dataInfo = line.split()
        trainInputData.append(dataInfo)

with open("trace_obs.txt", mode='r') as fp:
    for line in fp:
        dataInfo = line.split()
        trainOutputData.append(dataInfo)

trainer.addBatchObservations(trainInputData, trainOutputData)

trainer.train()

inputData = []

#Execute D-Stream II clustering algorithm
with open("power_use.txt") as fp:
    for line in fp:
        dataInfo = line.split()
        trainer.execute(dataInfo)

trainer.printClusters()
for trainingSample in range(numTrainingSamples):
    inputRow = next(inputReader)
    outputRow = next(outputReader)
    if (len(inputRow) > 0):
        input1 = float(inputRow[0])
        input2 = float(inputRow[1])
        output = float(outputRow[0])

        firstTS = time.time()
        dStreamIITest.addSingleObservation([input1, input2], output)
        secondTS = time.time()
        dStreamIITimestamps["load" + str(trainingSample)] = secondTS - firstTS

firstTS = time.time()
dStreamIITest.train()
secondTS = time.time()
dStreamIITimestamps["train"] = secondTS - firstTS

runningTotal = 0
for executeSample in range(numExecuteSamples):
    inputRow = next(inputReader)
    outputRow = next(outputReader)
    if (len(inputRow) > 0):
        input1 = float(inputRow[0])
        output = float(outputRow[0])

        firstTS = time.time()
        dStreamIITest.execute([input1, input2])
        theor = output
        secondTS = time.time()