Example #1
0
    #time.struct_time(tm_year=2014, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=15, tm_sec=0,
    #tm_wday=2, tm_yday=1, tm_isdst=-1)
    #https://docs.python.org/2/library/time.html
    t = strptime(date, "%d %m %Y %H %M %S")
    weekday = t[6]
    #range [0, 6], Monday is 0
    #print weekday
    hour = t[3]
    minute = t[4]
    sec = t[5]
    time = (t[3] * 3600 + t[4] * 60 + t[5]) / (24 * 3600.0)
    x_obs = [time]
    x_train.append(x_obs)
    y_obs = energy
    y_train.append(y_obs)
    trainer.addSingleObservation(x_obs, y_obs)

trainer.train()

for i in range(numRow * day_predict, numRow * (day_predict + 1)):
    row = csv[i]
    date = row[0]
    energy = row[1]

    date = date.replace("/", " ")
    date = date.replace(":", " ")
    t = strptime(date, "%d %m %Y %H %M %S")
    weekday = t[6]
    #range [0, 6], Monday is 0
    hour = t[3]
    minute = t[4]
Example #2
0
testRecStop = 250
numExecuteSamples = testRecStop - testRecStart + 1
inDataTest, outDataTest = algorithmTest.interface.collectData(
    testRecStart, testRecStop)
print "Done: collecting data from GDP"
print "Beginning loading and training"
# For testing purpose. print input for test data
# each line in output corresponds to one input data field (record)
# print inDataTest

timestamps = {}
# Add training data to CE object
for i in xrange(len(outDataTrain)):
    # recording time stamps before and after adding to measure load time
    firstTS = time.time()
    algorithmTest.addSingleObservation(inDataTrain[:][i], outDataTrain[i])
    secondTS = time.time()
    timestamps["load" + str(i)] = secondTS - firstTS
# training CE using the added data, while the training time is measured
firstTS = time.time()
algorithmTest.clusterAndTrain()
secondTS = time.time()
timestamps["train"] = secondTS - firstTS
print "Done: loading and training"
print "Beginning execution"
runningTotal = 0

for executeSample in range(testRecStop - testRecStart + 1):
    # computing output of test data using trained CE (time measured)
    # Saving error for each test data.
    firstTS = time.time()
numExecuteSamples = testRecStop - testRecStart + 1
inDataTest, outDataTest = gdpTest.collectData(testRecStart,testRecStop)
print "Done: collecting data from GDP"
print "Beginning loading and training"
# For testing purpose. print input for test data
# each line in output corresponds to one input data field (record)
# print inDataTest

## Change the name of the algorithm to test it out.
algorithmTest = Knn(complexity, numInp, 0, numInp*[0], {})
timestamps = {}
# Add training data to CE object
for i in xrange(len(outDataTrain)):
    # recording time stamps before and after adding to measure load time
    firstTS = time.time()
    algorithmTest.addSingleObservation(inDataTrain[:][i], outDataTrain[i])
    secondTS = time.time()
    timestamps["load" + str(i)] = secondTS - firstTS
# training CE using the added data, while the training time is measured
firstTS = time.time()
algorithmTest.train()
secondTS = time.time()
timestamps["train"] = secondTS - firstTS
print "Done: loading and training"
print "Beginning execution"
runningTotal = 0
for executeSample in range(testRecStop - testRecStart + 1):
    # computing output of test data using trained CE (time measured)
    # Saving error for each test data.
    firstTS = time.time()
    theor = algorithmTest.execute(list(inDataTest[executeSample]))
#read in csv and parse data to trainer

for i in range(numRow*day_train_start,numRow*(day_train_end+1)):
	row = csv[i]
	date=row[0]
	dishwasher=csv[i+1][3]
	date=date.replace("/"," ")
	date=date.replace(":"," ")
	date=date.replace(":"," ")
	t=strptime(date, "%m %d %Y %H %M")
	time = (t[3]*3600+t[4]*60+t[5])/(24*3600.0)
	x_obs = [time, row[2], row[4], row[5], row[6], row[7], row[8]]
	y_obs = dishwasher

	firstTS = time.time();
	algorithmTest.addSingleObservation(x_obs, y_obs);
	secondTS = time.time();
	knnTimestamps["load" + str(i)] = secondTS - firstTS;

firstTS = time.time();
algorithmTest.train();
secondTS = time.time();
teslaTimestamps["train"] = secondTS - firstTS;

runningTotal = 0;

for i in range(numRow*day_predict,numRow*(day_predict+1)):
	row = csv[i]
	date=row[0]
	date_predict = csv[i+1][0]
	output=round(csv[i+1][3],4)
Example #5
0
#read in csv and parse data to trainer

for i in range(numRow * day_train_start, numRow * (day_train_end + 1)):
    row = csv[i]
    date = row[0]
    dishwasher = csv[i + 1][3]
    date = date.replace("/", " ")
    date = date.replace(":", " ")
    date = date.replace(":", " ")
    t = strptime(date, "%m %d %Y %H %M")
    time = (t[3] * 3600 + t[4] * 60 + t[5]) / (24 * 3600.0)
    x_obs = [time, row[2], row[4], row[5], row[6], row[7], row[8]]
    y_obs = dishwasher

    firstTS = time.time()
    algorithmTest.addSingleObservation(x_obs, y_obs)
    secondTS = time.time()
    knnTimestamps["load" + str(i)] = secondTS - firstTS

firstTS = time.time()
algorithmTest.train()
secondTS = time.time()
teslaTimestamps["train"] = secondTS - firstTS

runningTotal = 0

for i in range(numRow * day_predict, numRow * (day_predict + 1)):
    row = csv[i]
    date = row[0]
    date_predict = csv[i + 1][0]
    output = round(csv[i + 1][3], 4)
	#print date;
#time.struct_time(tm_year=2014, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=15, tm_sec=0, 
#tm_wday=2, tm_yday=1, tm_isdst=-1)
#https://docs.python.org/2/library/time.html
	t=strptime(date, "%m %d %Y %H %M")
	weekday = t[6]; #range [0, 6], Monday is 0
	#print weekday
	hour=t[3]
	minute=t[4]
	sec=t[5]
	time = (t[3]*3600+t[4]*60+t[5])/(24*3600.0)
	x_obs = [time, row[2], row[4], row[5], row[6], row[7], row[8]]
	x_train.append(x_obs)
	y_obs = dishwasher
	y_train.append(y_obs)
 	trainer.addSingleObservation(x_obs, y_obs);

trainStart = T.clock()
trainer.train();
trainEnd = T.clock()
trainLatency = trainEnd-trainStart

testLatency=0
MAE = 0
MBE = 0
for i in range(numRow*day_predict_start,numRow*(day_predict_end+1)):
	row = csv[i]
	date=row[0]
	date_predict = csv[i+1][0]
	dishwasher=round(csv[i+1][3],4)
	date=date.replace("/"," ")