def AnalyzePicks(teammates,opponents): conn = Server.connectSQL(); cursor = conn.cursor() data = [] # Transform probabilities to the parameter space (-inf,inf) through logit # Each value represents modeled effect of hero interactions on winning/losing for idNum in teammates: data.append([logit(x) for x in partner(cursor,idNum)]) for idNum in opponents: data.append([logit(x) for x in counter(cursor,idNum)]) dataMat = np.matrix(data) totalParam = np.sum(dataMat,axis=0).tolist()[0] #sums of each column (total modeled influence of pick on win/lose) probWin = [logistic(x) for x in totalParam] return probWin
command = re.sub('HERO_ID',str(heroID),command) dur_command = 'Duration < ' + str(durations[0]) cursor.execute(re.sub('Duration Command',dur_command,command)) winrates.append(cursor.fetchone()[0]) for ind in range(len(durations)-1): dur_command = 'Duration > ' + str(durations[ind]) + 'AND Duration < ' + str(durations[ind+1]) cursor.execute(re.sub('Duration Command',dur_command,command)) winrates.append(cursor.fetchone()[0]) dur_command = 'Duration > ' + str(durations[-1]) cursor.execute(re.sub('Duration Command',dur_command,command)) winrates.append(cursor.fetchone()[0]) return winrates if __name__ == '__main__': conn = Server.connectSQL(); cursor = conn.cursor() #updateStats(cursor) dur = [30,35,40,45,50,55,60,65,70] durationWins = winTime(cursor,1,[x*60 for x in dur]) print(durationWins) fig = plt.figure(1) ax = plt.subplot() xlabel = ['<' + str(dur[0])] [xlabel.append(str(dur[ind]) + '-' + str(dur[ind+1])) for ind in range(len(dur)-1)] xlabel.append('>' + str(dur[-1])) ind = np.arange(len(durationWins)) rects1 = ax.bar(ind,[100 for x in ind],.5,color = 'r') rects2 = ax.bar(ind,[100*x for x in durationWins],.5,color = 'g')