예제 #1
0
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
예제 #2
0
    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')