Example #1
0
	def __init__(self, playerNumber):
		attribute_names = 'PlayerIsJumping OpponentIsJumping PlayerIsPunching OpponentIsPunching OpponentSide OpponentPosition PlayerActions'
		dataFile = ''
		if playerNumber == 1:
			dataFile = 'falcon1'
		else:
			dataFile = 'falcon2'
		self.moveSet = DataSet(name=dataFile, target='PlayerActions', attrnames=attribute_names)

		self.moveSet_tree = DecisionTreeLearner(self.moveSet)
Example #2
0
class Learner:

	def __init__(self, playerNumber):
		attribute_names = 'PlayerIsJumping OpponentIsJumping PlayerIsPunching OpponentIsPunching OpponentSide OpponentPosition PlayerActions'
		dataFile = ''
		if playerNumber == 1:
			dataFile = 'falcon1'
		else:
			dataFile = 'falcon2'
		self.moveSet = DataSet(name=dataFile, target='PlayerActions', attrnames=attribute_names)

		self.moveSet_tree = DecisionTreeLearner(self.moveSet)
	
	def display_tree(self):
		self.moveSet_tree.display()

	def cross_validation(self):
		print "\nCross Validation:"
		print str(cross_validation(DecisionTreeLearner, self.moveSet, k=10, trials=1))
		
	def get_next_move(self, data):
		return self.get_result(self.moveSet_tree, data)
		
	def get_result(self, tree, data):
		if(isinstance(tree, DecisionLeaf)):
			#print '-----------------------'
			return tree.result
		else:
			attr_name = tree.attrname
			x = data[attr_name]
			#print attr_name + ': ' + x
			if x in tree.branches.keys():
				subtree = tree.branches[x]
				return self.get_result(subtree, data)
			else:
				return "punch|jump|"