コード例 #1
0
ファイル: OD.py プロジェクト: Kazjon/SurpriseEval
#This main function has not been maintained and is probably crashy and unreliable, it's here for legacy only.
if __name__ == "__main__":
	weightFactors = [0.15]
	
	#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)
コード例 #2
0
ファイル: ED.py プロジェクト: Kazjon/SurpriseEval
			fig.set_ylabel("Surprise (ignore sign)")
			#print 'Surprisingness = ',round(surprise,3),', raw = ',abs(round(raw_surprise,3))
		return surprise,raw_surprise
	'''
	
#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)
コード例 #3
0
	#fig=edv.plotSurpriseGradient()
	fig = od.plotArtefacts(stroke='black',fill='white')
	edv.plotExpectationContours(plot=fig,showDU=True,showMU=True)
	#edv.plotUncertaintyChannel(onMedian=False,plot=pl.gcf().add_subplot(14,1,14))
	edv.save(fn)

if __name__ == "__main__":
	mpl.rc('figure',figsize=[18, 12]) 
	mpl.rc('figure.subplot',left=0.075,right=0.995,top=0.925,bottom=0.075)
	contours = 3
	
	namecols = [0]
	timecols = [2]
	valcols = range(2,15)
	
	parser = Parser("data/AllPhoneData_pruned.csv",namecols,timecols,valcols)
	
	# Values to start the search with
	
	Cs = {}
	Cs['Release Year'] = 1
	Cs['RAM Capacity (Mb)'] = 1
	Cs['ROM Capacity (Mb)'] = 1
	Cs['Storage (Mb)'] = 1
	Cs['CPU Clock (MHz)'] = 1
	Cs['Display Diagonal (in)'] = 1
	Cs['Display Width(px)'] = 1
	Cs['Display Length(px)'] = 1
	Cs['Width (mm)'] = 1
	Cs['Length (mm)'] = 1
	Cs['Depth (mm)'] = 1
コード例 #4
0
ファイル: U.py プロジェクト: Kazjon/SurpriseEval
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()
コード例 #5
0
ファイル: N.py プロジェクト: Kazjon/SurpriseEval
def findFile(namestart, parser, prefix='.', dir_name='.'):
	for f in os.listdir(prefix):
		fn, ext = os.path.splitext(f)
		if ext == ".cbwb" and fn.startswith(namestart):
			index = int(fn.strip(namestart))
			print "Found",f,"and setting index to", index
			if not parser is None:
				parser.index = index + 1
			return readObject(prefix+'/'+f)
	return Node(directory=dir_name)
	
if __name__ == "__main__":
	# Read in Data
	namecols = [0]
	timecols = [2]
	valcols = [9]
	parser = Parser("AllPhoneData_pruned.csv",namecols,timecols,valcols,normalize=True)
	
	#t = readObject('test.cbwb')
	t = findFile('test_', parser)
	old_index = parser.index
	
	while not parser.atEnd():
		addInc(t, parser.getNext())
		if parser.index >= old_index * 2:
			t.saveObject('test_'+str(parser.index)+'.cbwb', remove='test_'+str(old_index)+'.cbwb')
			old_index = parser.index
	t.viz.plotClusters('time', Instance.properties[0], depth=2)
	
	t.saveObject('test.cbwb')