#Old phone data import #namecols = [0] #timecols = [2] #valcols = [2,3,4,5,6,7,8,9,10,11,12,13,14] #parser = Parser("AllPhoneData_pruned.csv",namecols,timecols,valcols) namecols = [0] timecols = [2] valcols = range(2,15) contours = 4 parser = Parser("AllPhoneData_pruned.csv",namecols,timecols,valcols) properties = parser.getProperties()[0:2] for ind_attr in properties: for dep_attr in properties: if ind_attr == dep_attr: continue ods = [] for w in weightFactors: ods.append(ObservedDistribution(parser, ind_attr, contours, dep_attr, w)) # Plotting code #fig = OD.plotArtefacts() #fig = OD.plotObservedContours(plot=fig, alpha=.9) #fig.set_title(str(w)) #fig.set_xlabel(ind_attr) #fig.set_ylabel(dep_attr) #OD.save(ind_attr+'-'+dep_attr+'-'+str(w)+'.png') #OD.save("".join([ind_attr,dep_attr,'_David.pdf']))
def plotThings(updater): fig = updater.plotArtefacts() fig = updater.plotObservedContours(plot=fig, alpha=.9) fig.set_title(str(w)) fig.set_xlabel(ind_attr) fig.set_ylabel(dep_attr) if __name__ == "__main__": weightFactors = [.15] condition_train = lambda inst: inst.time < 2001 condition_test = lambda inst: inst.time >= 2001 namecols = [0] timecols = [2] valcols = [2,3,4,5,6,7,8,9,10,11,12,13,14] parser_train = Parser("data/AllPhoneData_pruned.csv",namecols,timecols,valcols,condition_train) parser_test = Parser("data/AllPhoneData_pruned.csv",namecols,timecols,valcols,condition_test) contours = 6 properties = parser_train.getProperties() for ind_attr in [properties[0]]: for dep_attr in [properties[-1]]: if ind_attr == dep_attr: continue for w in weightFactors: updater = Updater(parser_train, ind_attr, contours, dep_attr, w, parser_test=parser_test, prefix="ods/") plotThings(updater) updater.update(2001) plotThings(updater) updater.show()
''' #This main function has not been maintained and is probably crashy and unreliable, it's here for legacy only. if __name__ == "__main__": mpl.rc('figure',figsize=[9, 6]) mpl.rc('figure.subplot',left=0.05,right=0.995,top=0.995,bottom=0.05) contours = 6 namecols = [1,2] timecols = [11] valcols = [3,4,5,6,7,8,9,11] parser = Parser("prunedPhones.csv",namecols,timecols,valcols) #Get either every dimension or a single dimension val1s = [parser.getProperties()[0]] val2s = [parser.getProperties()[1]] weightFactors = [0.2] Cs = [20] gammas = [0.2] #''' od = ObservedDistribution(parser, val1s[0], contours, val2s[0], weightFactors[0]) ed = ExpectedDistribution(od,parallel=False) edv = ExpectedDistributionVisualiser(ed,od,50,50) fig = od.plotObservedContours(title='', alpha=0.25) edv.save('dummy.pdf') #'''
gammas['RAM Capacity (Mb)'] = 1e-2 gammas['ROM Capacity (Mb)'] = 1e-2 gammas['Storage (Mb)'] = 1 gammas['CPU Clock (MHz)'] = 1e-2 gammas['Display Diagonal (in)'] = 1e-2 gammas['Display Width(px)'] = 1e-2 gammas['Display Length(px)'] = 1e-2 gammas['Width (mm)'] = 1e-2 gammas['Length (mm)'] = 1e-2 gammas['Depth (mm)'] = 1e-2 gammas['Volume (cubic cm)'] = 1e-2 gammas['Mass (grams)'] = 1e-2 gammas['Pixel Density (per inch)'] = 1e-2 #Get either every dimension or a single dimension val1s = parser.getProperties() val2s = parser.getProperties() # Values that we've found through previous executions of this grid-search printFound = True found = {} #found[('Release Year','Width (mm)')] = {'C':1000,'gamma':0.1} prefix = "gridoutput/" if not os.path.exists(prefix): os.makedirs(prefix) t = time.localtime(time.time()) logfn = os.path.join(prefix,"gridlog_"+str(t[0])+'.'+str(t[1])+'.'+str(t[2])+'_'+str(t[3])+'.'+str(t[4])+'.'+str(t[5])+".xml") with open(logfn,'w') as f: writer = XMLWriter(f) rootnode = writer.start("root")