def ask_player_mode(number, chips, bet_value, model): print "Player" + str(number) + " Mode : " print " 1 : Manual player (You play)" print " 2 : Random Agent" print " 3 : All-In Agent" print " 4 : Bucket_Agent" print " 5 : Bayesian Agent ( with pre-computed model )" print " 6 : Learning Agent " print " 7 : Regret-Minimization Agent" x = raw_input(" What mode ? [1-7] : ") gamer = None if x == "1": gamer = player("player" + str(number), chips) elif x == "2": gamer = random_agent("player" + str(number), chips) elif x == "3": gamer = All_In_Agent("player" + str(number), chips) elif x == "4": gamer = Agent_Bucket("player" + str(number), chips) elif x == "5": gamer = bayesian("player" + str(number), chips, list(model)) elif x == "6": gamer = LearningAgent("player" + str(number), chips, 2) elif x == "7": gamer = Regret_Agent("player" + str(number), chips, bet_value) else: return False return gamer
def handleCmd4(self): # Loading load = self.canvas.create_text(430, 10, text="Loading...") dep = tkSimpleDialog.askstring( "Naive Bayes", "Please specify dependent variable (browser, location, time, or OS):" ) if dep == False or dep == None or self.dataSet == False: print "User did not specify a variable, or no data set is loaded" self.canvas.delete(load) return dep = dep.lower() if dep != "browser" and dep != "location" and dep != "time" and dep != "os": doneMessage = self.canvas.create_text(370, 30, text="Invalid variable name.") tkMessageBox.showinfo(title="1R Decision Tree", message="Invalid variable name.") self.canvas.delete(doneMessage) self.canvas.delete(load) return else: doneMessage = self.canvas.create_text(350, 30, text="Loaded Bayes classifier: " + dep + " prediction.") self.bayes = bayesian.bayesian(self.dataSet, self.dataSet, dep) self.canvas.delete(load) self.canvas.delete(doneMessage)
def handleCmd6(self): # Loading load = self.canvas.create_text(430, 10, text="Loading...") if self.dataSet == False: print "No data set loaded" self.canvas.delete(load) return # Get Training Set (Open Dialog) tkMessageBox.showinfo(title="Train and Test (Bayes)", message="Please select a training set.") fobj = tkFileDialog.askopenfile(parent=self.root, mode="rb", title="Choose a data file") if fobj == None: print "User did not select a file" self.canvas.delete(load) return csData = CSLogData.CSLogDataClass(fobj, True) csData.cleanData() # just close the file for now print "closing file" fobj.close() # Construct metadata metadata = [ ["ipLocation", {"dict": False, "tslate": True, "vals": {0: "off campus", 1: "on campus"}}], ["dateTime", {"dict": False, "tslate": False, "vals": False}], ["time", {"dict": False, "tslate": False, "vals": False}], [ "referrer", {"dict": False, "tslate": True, "vals": {0: "no referrer", 1: "from colby", 2: "outside source"}}, ], ["statusCode", {"dict": False, "tslate": False, "vals": False}], ["pageSize", {"dict": False, "tslate": False, "vals": False}], ["httpVersion", {"dict": False, "tslate": True, "vals": {10: "HTTP/1.0", 11: "HTTP/1.1"}}], ["accessedPage", {"dict": True, "tslate": False, "vals": False}], ["userAgent", {"dict": True, "tslate": False, "vals": False}], ] self.trainSet = DataSet.DataSet(csData.lines, metadata) self.trainSet.toMatrix() # Get dependent variable dep = tkSimpleDialog.askstring( "Naive Bayes", "Please specify dependent variable (browser, location, time, or OS):" ) if dep == False or self.dataSet == False: print "User did not specify a variable, or no data set is loaded" self.canvas.delete(load) return dep = dep.lower() if dep != "browser" and dep != "location" and dep != "time" and dep != "os": doneMessage = self.canvas.create_text(370, 30, text="Invalid variable name.") tkMessageBox.showinfo(title="1R Decision Tree", message="Invalid variable name.") self.canvas.delete(doneMessage) self.canvas.delete(load) return else: doneMessage = self.canvas.create_text(350, 30, text="Loaded Bayes classifier: " + dep + " prediction.") # Use Bayesian.py (add dataset2 loc and so on) self.bayes = bayesian.bayesian(self.dataSet, self.trainSet, dep) self.canvas.delete(load)
from analysis import analyze sys.path.insert(0, './ridge') from ridge import ridge sys.path.insert(0, './lasso') from lasso import lasso sys.path.insert(0, './bayesian') from bayesian import bayesian sys.path.insert(0, './SVR') from svr import svr start = time.time() ridge(sys.argv[1],sys.argv[2]) ridge_end = time.time() lasso(sys.argv[1],sys.argv[2]) lasso_end = time.time() bayesian(sys.argv[1],sys.argv[2]) bayesian_end = time.time() svr(sys.argv[1],sys.argv[2]) svr_end = time.time() print "Ridge Results" print "Running Time: "+str(ridge_end-start)+" seconds" analyze("ridge_out.csv") print "---" print "Lasso Results" print "Running Time: "+str(lasso_end-ridge_end)+" seconds" analyze("lasso_out.csv") print "---" print "Bayesian Results" print "Running Time: "+str(bayesian_end-lasso_end)+" seconds" analyze("bayesian_out.csv")