def saveToFile(entropyLeagueDict, leagues): featureVector = [] idNameMap = mapLeagueIdtoName(leagues) data = [] for league in leagues: leagueRow = [] entropyMap = entropyLeagueDict.get(league[0]) if entropyMap is None: continue featureVector.append(idNameMap.get(league[0])) leagueRow.append(entropyMap.get('2008/2009')) leagueRow.append(entropyMap.get('2009/2010')) leagueRow.append(entropyMap.get('2010/2011')) leagueRow.append(entropyMap.get('2011/2012')) leagueRow.append(entropyMap.get('2012/2013')) leagueRow.append(entropyMap.get('2013/2014')) leagueRow.append(entropyMap.get('2014/2015')) leagueRow.append(entropyMap.get('2015/2016')) data.append(leagueRow) data = np.asarray(data) utils.createFile(data.T, "seasonEntropy.csv", featureVector)
def DimRed(temp,algo,namesRating): if algo == 'PCA': pca = PCA(n_components=2,random_state=0).fit_transform(temp) else: pca = TSNE(n_components=2,random_state=0).fit_transform(temp) comp1 = pca[:,0] comp2 = pca[:,1] data = [] for a,b,c in zip(comp1,comp2,namesRating): data.append([a,b,c[0],c[1]]) data = [row for row in data if row[3]>80] data.sort(key = lambda x: x[3],reverse=True) #data =[[a,b] for a,b in zip(comp1,comp2)] featureVector = ["pc1","pc2","name","rating"] if algo == 'PCA': utils.createFile(data, "components.csv",featureVector) else: utils.createFile(data, "TSNEcomponents.csv",featureVector)
def getLeagueTeamEntropyDict(matchEntropies, filteredMatches, leagues, teams): print(teams[0]) teamMap = mapTeamIdtoName(teams) leagueMap = mapLeagueIdtoName(leagues) leagueTeamEntropyDict = dict() for match in filteredMatches: leagueTeamEntropyDict[match[2]] = dict() for match in filteredMatches: league = match[2] homeTeam = match[7] awayTeam = match[8] season = match[3] if leagueTeamEntropyDict[league].get(homeTeam) is None: leagueTeamEntropyDict[league][homeTeam] = dict() if leagueTeamEntropyDict[league].get(homeTeam).get(season) is None: leagueTeamEntropyDict[league][homeTeam][season] = [] if leagueTeamEntropyDict[league].get(awayTeam) is None: leagueTeamEntropyDict[league][awayTeam] = dict() if leagueTeamEntropyDict[league].get(awayTeam).get(season) is None: leagueTeamEntropyDict[league][awayTeam][season] = [] for entropy, match in zip(matchEntropies, filteredMatches): leagueTeamEntropyDict[match[2]][match[7]][match[3]].append(entropy) leagueTeamEntropyDict[match[2]][match[8]][match[3]].append(entropy) finalData = [] for league in leagueTeamEntropyDict.keys(): teams = leagueTeamEntropyDict.get(league).keys() for team in teams: seasons = leagueTeamEntropyDict.get(league).get(team).keys() for season in seasons: meanEntropy = np.mean( leagueTeamEntropyDict.get(league).get(team).get(season)) teamName = teamMap.get(team).split(",")[0] finalData.append( [teamName, season, meanEntropy, leagueMap.get(league)]) featureVector = ["Team", "Season", "MeanEntropy", "League"] utils.createFile(finalData, "teamLeagueSeasonEntropy.csv", featureVector)
def getEvolutionData(players): #print (players[0]) retVal = dict() sortedByRating = sorted(players, key = lambda x : x[1],reverse=True)[:10] for player in sortedByRating: playerMap = dict() maptoAttach = dict() playerName = player[-2] x = player[0] temp = [] for row in Database().execute('select date,overall_rating from Player_Attributes where player_api_id is '+str(x)): temp.append(row) for row in temp: if playerMap.get(row[0].split('-')[0]) is None: playerMap[row[0].split('-')[0]] = [] playerMap[row[0].split('-')[0]].append(row[1]) #print(playerMap) retVal[playerName] = dict() for k,v in playerMap.items(): retVal[playerName][k]=np.mean(v) #print(retVal) data = [] featureVector = [] for player in retVal.keys(): row = [] featureVector.append(player) row.append(retVal.get(player).get('2007')) row.append(retVal.get(player).get('2008')) row.append(retVal.get(player).get('2009')) row.append(retVal.get(player).get('2010')) row.append(retVal.get(player).get('2011')) row.append(retVal.get(player).get('2012')) row.append(retVal.get(player).get('2013')) row.append(retVal.get(player).get('2014')) row.append(retVal.get(player).get('2015')) data.append(row) data = np.asarray(data) utils.createFile(data.T,"topPlayerRating.csv",featureVector)
matches = utils.getAllDatafromTable('match') leagueScoreMap = dict() for league in leagues: leagueScoreMap[league[0]] = [] for match in matches: home_team_goals = int(match[9]) away_team_goals = int(match[10]) if home_team_goals == away_team_goals: home_team_score = 1 away_team_score = 1 elif home_team_goals > away_team_goals: home_team_score = 3 away_team_score = 0 else: away_team_score = 3 home_team_score = 0 leagueScoreMap[match[2]].append([home_team_score, away_team_score]) avgLeagueScore = dict() for league in leagueScoreMap.keys(): scores = leagueScoreMap.get(league) avg_home_score = np.mean([score[0] for score in scores]) avg_away_score = np.mean([score[1] for score in scores]) avgLeagueScore[league] = [avg_home_score, avg_away_score] data = [] for league in avgLeagueScore.keys(): avg_home_score = avgLeagueScore.get(league)[0] avg_away_score = avgLeagueScore.get(league)[1] countryName = countryNameMap.get(league) data.append([countryName, avg_home_score, avg_away_score]) utils.createFile(data, "homeAdvantage.csv", ["country", "avg_home_score", "avg_away_score"])
from lib import utils leagues = utils.getAllDatafromTable('league') matches = utils.getAllDatafromTable('match') countries = utils.getAllDatafromTable('country') leagueIdMap = dict() leagueTeamMap = dict() leagueCountryMap = dict() for league in leagues: leagueIdMap[league[0]] = league[2] for league in leagues: leagueCountryMap[league[1]] = league[0] #matches = utils.removeNan(matches) for match in matches: if leagueTeamMap.get(match[2]) is None: leagueTeamMap[match[2]] = set() #print(match[2]) leagueTeamMap[match[2]].add(match[7]) leagueTeamMap[match[2]].add(match[8]) #print(leagueTeamMap.keys()) data = [] for country in countries: leagueId = leagueCountryMap.get(country[0]) #print(leagueId) leagueName = leagueIdMap.get(leagueId) countryName = country[1] numTeams = len(leagueTeamMap.get(leagueId)) data.append([countryName, leagueName, numTeams]) utils.createFile(data, "euroMap.csv", ["country", "league", "# Teams"])