├── .gitignore ├── report ├── report.pdf └── report_data_crawling_champion_rank_part.pdf ├── data_statics.py ├── README.md ├── champion_relation.py ├── results ├── rank_win_22k.csv ├── rank_assist_22k.txt ├── rank_death_22k.txt ├── rank_kill_22k.txt └── rank_kill_22k_norm_by_picks.txt ├── sqlite_merge.sql ├── match_predict.py ├── champion_cluster.py ├── data_preprocess.py ├── champion_rank.py ├── sqlite_schema.sql ├── champion_matrix.py └── data_crawl.py /.gitignore: -------------------------------------------------------------------------------- 1 | *.db 2 | *.pyc 3 | *.png 4 | *.[oa] -------------------------------------------------------------------------------- /report/report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simoncos/lola/HEAD/report/report.pdf -------------------------------------------------------------------------------- /report/report_data_crawling_champion_rank_part.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simoncos/lola/HEAD/report/report_data_crawling_champion_rank_part.pdf -------------------------------------------------------------------------------- /data_statics.py: -------------------------------------------------------------------------------- 1 | from cassiopeia import riotapi 2 | from cassiopeia import core 3 | from cassiopeia import type 4 | from cassiopeia.type.api.exception import APIError 5 | from data_crawl import riotapi_setting 6 | 7 | def champions(): 8 | try: 9 | # set your api key and region here 10 | riotapi_setting(api_key='', region='NA') 11 | championlist = core.staticdataapi.get_champions() 12 | except APIError as e: 13 | raise e 14 | return championlist -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LoLA 2 | 3 | LoLA is a LoL (League of Legends) game data analysis / analytics project. See [report](/report). 4 | 5 | ## Crawling 6 | 7 | The data crawling part is based on [Riot API](https://developer.riotgames.com/api-methods/) and a Python wrapper [Cassiopeia](https://github.com/meraki-analytics/cassiopeia) (There is a In-Memory cache problem in Cass, refer to [here](https://github.com/meraki-analytics/cassiopeia/issues/40)). A SQLite database is designed and used in this project, which remodels and stores game objects for our analysis objectives. The database I/O part involves [sqlite3](https://docs.python.org/3.5/library/sqlite3.html) and [pandas](http://pandas.pydata.org/). 8 | 9 | This part has been well tested with `Python 3.5`, though in some environments (e.g. `Windows cmd`) a `decode`/`encode` error may occur in `print` functions due to multi-language issue; you can just comment out all `print` codes without any influcence on crawling itself. `Python 2.X` may also run well with a few edits. 10 | 11 | ## Dataset 12 | 13 | We have obtained data of over 220,000 `Ranked-SOLO-5x5` matches with details in the North American region, Pre-Season 2016. 14 | 15 | - [Google Drive](https://drive.google.com/file/d/1X9B60eUSWarMEG9RS3JHbWDaeNuB48LF/view?usp=sharing) 16 | 17 | ## Analysis 18 | 19 | We are doing analyses such as: 20 | 21 | - Champion Rank 22 | - Champion Clustering 23 | - Champion Recommendation 24 | - Match Prediction 25 | - Cheating Detection 26 | 27 | Our results will be uploaded continuously. As we are doing many experiments, code in this part is quite messy now and will be refined later. 28 | 29 | If you are interested in this project or have any problem, feel free to participate in. 30 | 31 | -------------------------------------------------------------------------------- /champion_relation.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | LoLa champion relationship 4 | """ 5 | import pandas as pd 6 | import sqlite3 7 | import champion_matrix as lola 8 | 9 | #-----fetch picks bans-----# 10 | conn = sqlite3.connect('lola.db') 11 | pick_ban_infor = pd.read_sql("SELECT champion,picks,bans FROM ChampionMatchStats", conn, index_col=['champion']) 12 | pick_infor_matrix = pick_ban_infor['picks'] 13 | conn.close() 14 | 15 | #-----kill matrix-----# 16 | def similar_killer(champion_name): 17 | kill_matrix_adjacency = lola.sqlite_to_kill_matrix('picks').T # norm by picks; edge from column to row 18 | bibli_kill_matrix = kill_matrix_adjacency.T * kill_matrix_adjacency # bibliography kill matrix, bibli_kill 19 | temp_bibli_kill_ten = pd.DataFrame(bibli_kill_matrix.ix[champion_name]).sort(champion_name,ascending=False).iloc[0:10] 20 | 21 | plt_bibli_kill = temp_bibli_kill_ten.plot(kind='barh', title=champion_name + ' is similar with(TOP 10)', stacked=False).set_xlabel('Proportion').get_figure() 22 | plt_bibli_kill.savefig(champion_name + '_similar_killer.png') 23 | 24 | #-----assist matrix-----# 25 | def good_partner(champion_name): 26 | assist_matrix_adjacency = lola.sqlite_to_assist_matrix('picks').T # norm by picks; edge from column to row 27 | bibli_matrix = assist_matrix_adjacency.T * assist_matrix_adjacency # bibliography assist matrix, bibli_assist 28 | temp_bibli_ten = pd.DataFrame(bibli_matrix.ix[champion_name]).sort(champion_name,ascending=False).iloc[0:10] 29 | 30 | plt_bibli = temp_bibli_ten.plot(kind='barh', title='Good partner of ' + champion_name + '(TOP 10)', stacked=False).set_xlabel('Proportion').get_figure() 31 | plt_bibli.savefig(champion_name + '_partner.png') 32 | 33 | 34 | #-----champion counter-----# 35 | def counter(champion_name): 36 | kill_matrix = lola.sqlite_to_kill_matrix('picks') # norm by picks 37 | temp_series = pd.DataFrame(kill_matrix.ix[champion_name]).sort(champion_name,ascending=False).iloc[0:10]#, ascending=False 38 | plttt = temp_series.plot(kind='barh', title='Top 10 choices to counter ' + champion_name, stacked=False).set_xlabel('Proportion').get_figure() 39 | plttt.savefig(champion_name +'_counter.png') 40 | 41 | 42 | #-----champion assist-----# 43 | def assist(champion_name): 44 | assist_matrix = lola.sqlite_to_assist_matrix('picks') # norm by picks 45 | temp_series = pd.DataFrame(assist_matrix[champion_name]).sort(champion_name,ascending=False).iloc[0:10] # select column ,column been assisted by row 46 | plttt = temp_series.plot(kind='barh', title='Top 10 choices to assist ' + champion_name, stacked=False).set_xlabel('Proportion').get_figure() 47 | plttt.savefig(champion_name + '_assist.png') -------------------------------------------------------------------------------- /results/rank_win_22k.csv: -------------------------------------------------------------------------------- 1 | champion,win_rate 2 | Miss Fortune,0.546508210573 3 | Janna,0.542180784694 4 | Dr. Mundo,0.541674103159 5 | Brand,0.53952704482 6 | Trundle,0.535452198998 7 | Amumu,0.534466879207 8 | Rammus,0.534402730375 9 | Malzahar,0.53365236184 10 | Volibear,0.533047265275 11 | Sona,0.529421424271 12 | Talon,0.529117572264 13 | Malphite,0.52797790586 14 | Udyr,0.527632682015 15 | Graves,0.525804073357 16 | Nami,0.525191126708 17 | Blitzcrank,0.525006867116 18 | Vel'Koz,0.524812780829 19 | Lux,0.523797124092 20 | Taric,0.522939397923 21 | Anivia,0.522593476531 22 | Skarner,0.522565320665 23 | Wukong,0.520659211301 24 | Kayle,0.520330237358 25 | Sion,0.52027027027 26 | Ahri,0.520097396516 27 | Singed,0.518808478136 28 | Twisted Fate,0.518710295013 29 | Quinn,0.518407785203 30 | Garen,0.518345642541 31 | Zyra,0.517015005359 32 | Nautilus,0.515478615071 33 | Tryndamere,0.514778893892 34 | Master Yi,0.514309733543 35 | Swain,0.514063029482 36 | Nasus,0.513740945888 37 | Leona,0.512534925556 38 | Soraka,0.511884805502 39 | Sejuani,0.511054086064 40 | Shaco,0.510574439869 41 | Gangplank,0.510497535948 42 | Shen,0.508576412443 43 | Corki,0.508090075063 44 | Fizz,0.507749077491 45 | Shyvana,0.507535682204 46 | Pantheon,0.507130434783 47 | Nocturne,0.506806544274 48 | Zilean,0.506448610557 49 | Warwick,0.505719921105 50 | Evelynn,0.505315011667 51 | Hecarim,0.504102524029 52 | Irelia,0.503857896198 53 | Morgana,0.502295736489 54 | Draven,0.501776668935 55 | Xin Zhao,0.501288221282 56 | Annie,0.500866551127 57 | Heimerdinger,0.500807991773 58 | Galio,0.500597847748 59 | Zed,0.49928693668 60 | Jax,0.498143520171 61 | Fiora,0.497535934292 62 | Xerath,0.497466691687 63 | Braum,0.497400424974 64 | Diana,0.496376126552 65 | Kalista,0.496363089871 66 | Twitch,0.49614213198 67 | Aatrox,0.49587628866 68 | Jinx,0.4957980689 69 | Vayne,0.495580867021 70 | Lucian,0.495528311247 71 | Rengar,0.495485366968 72 | Lulu,0.494683885691 73 | Cho'Gath,0.493922300787 74 | Tahm Kench,0.493922067938 75 | Zac,0.493884098657 76 | Rek'Sai,0.493440455609 77 | Karma,0.493351363534 78 | Vi,0.492572565107 79 | Tristana,0.491737891738 80 | Gnar,0.490207331946 81 | Varus,0.490182894029 82 | Ashe,0.489879414298 83 | Alistar,0.489695111565 84 | Kindred,0.489560029828 85 | Renekton,0.489075984003 86 | Teemo,0.48850430566 87 | Viktor,0.48765595965 88 | Olaf,0.48742314142 89 | Ezreal,0.487114961163 90 | Jarvan IV,0.485328365161 91 | Nunu,0.485080988917 92 | Darius,0.485009747616 93 | Karthus,0.482677627716 94 | Katarina,0.482577251808 95 | Lissandra,0.481960784314 96 | Vladimir,0.47873112181 97 | Sivir,0.477634830025 98 | Thresh,0.476702869402 99 | Yasuo,0.476095931424 100 | Ziggs,0.475907590759 101 | Kennen,0.475818794001 102 | Yorick,0.475811041548 103 | Maokai,0.475785494921 104 | Cassiopeia,0.475414442259 105 | Jayce,0.475235109718 106 | Lee Sin,0.474439358939 107 | Elise,0.473148221816 108 | Ekko,0.472944650853 109 | Syndra,0.47197875166 110 | Poppy,0.469278962409 111 | Caitlyn,0.468197375927 112 | Akali,0.467972995225 113 | Riven,0.467166614859 114 | Kassadin,0.46577694529 115 | Fiddlesticks,0.464245175936 116 | Veigar,0.461304652794 117 | Orianna,0.460418945066 118 | Ryze,0.459135039718 119 | Rumble,0.458697112156 120 | LeBlanc,0.458443670151 121 | Bard,0.458315877671 122 | Nidalee,0.457892965332 123 | Azir,0.457779595175 124 | Illaoi,0.455191217622 125 | Kog'Maw,0.45428462127 126 | Urgot,0.45393258427 127 | Kha'Zix,0.44318468128 128 | Mordekaiser,0.442634560907 129 | Gragas,0.439707673569 130 | -------------------------------------------------------------------------------- /sqlite_merge.sql: -------------------------------------------------------------------------------- 1 | ATTACH DATABASE 'lola_challenger.db' AS 'challenger'; 2 | ATTACH DATABASE 'lola_diamond.db' AS 'diamond'; 3 | ATTACH DATABASE 'lola_silver.db' AS 'silver'; 4 | ATTACH DATABASE 'lola_merged.db' AS 'merged'; 5 | 6 | -- REPLACE INTO: there maybe different values like Participant.kda 7 | -- returned by requests in different time, so we should replace old records 8 | 9 | INSERT OR REPLACE INTO 'merged'.Team SELECT * FROM (SELECT * FROM 'challenger'.Team 10 | UNION SELECT * FROM 'diamond'.Team 11 | UNION SELECT * FROM 'silver'.Team); 12 | INSERT OR REPLACE INTO 'merged'.TeamBan SELECT * FROM (SELECT * FROM 'challenger'.TeamBan 13 | UNION SELECT * FROM 'diamond'.TeamBan 14 | UNION SELECT * FROM 'silver'.TeamBan); 15 | INSERT OR REPLACE INTO 'merged'.Summoner SELECT * FROM (SELECT * FROM 'challenger'.Summoner 16 | UNION SELECT * FROM 'diamond'.Summoner 17 | UNION SELECT * FROM 'silver'.Summoner); 18 | INSERT OR REPLACE INTO 'merged'.Participant SELECT * FROM (SELECT * FROM 'challenger'.Participant 19 | UNION SELECT * FROM 'diamond'.Participant 20 | UNION SELECT * FROM 'silver'.Participant); 21 | INSERT OR REPLACE INTO 'merged'.ParticipantTimeline SELECT * FROM (SELECT * FROM 'challenger'.ParticipantTimeline 22 | UNION SELECT * FROM 'diamond'.ParticipantTimeline 23 | UNION SELECT * FROM 'silver'.ParticipantTimeline); 24 | INSERT OR REPLACE INTO 'merged'.Match SELECT * FROM (SELECT * FROM 'challenger'.Match 25 | UNION SELECT * FROM 'diamond'.Match 26 | UNION SELECT * FROM 'silver'.Match); 27 | INSERT OR REPLACE INTO 'merged'.FrameKillEvent SELECT * FROM (SELECT * FROM 'challenger'.FrameKillEvent 28 | UNION SELECT * FROM 'diamond'.FrameKillEvent 29 | UNION SELECT * FROM 'silver'.FrameKillEvent); 30 | DETACH DATABASE 'challenger'; 31 | DETACH DATABASE 'diamond'; 32 | DETACH DATABASE 'silver'; 33 | DETACH DATABASE 'merged'; 34 | 35 | 36 | /* 37 | check duplicate matches: |A ∩ B ∩ C| + |(A ∩ B) ∪ (A ∩ C) ∪ (B ∩ C)| 38 | 39 | proof: 40 | 41 | |A∪B∪C| = (|A|+|B|+|C|) - |A∩B| - |B∩C| - |C∩A| + |A∩B∩C| 42 | = (|A|+|B|+|C|) - |(A ∩ B) ∪ (A ∩ C) ∪ (B ∩ C)| - |A∩B∩C| 43 | (|A∩B| + |B∩C| + |C∩A| - 2|A∩B∩C| = |(A ∩ B) ∪ (A ∩ C) ∪ (B ∩ C)|) 44 | */ 45 | 46 | /* 47 | 48 | A ∩ B ∩ C 49 | 50 | JOIN method: 51 | select c.match_id, c.version from ('challenger'.Match c 52 | join 'diamond'.Match d on c.match_id=d.match_id 53 | join 'silver'.Match s on c.match_id=s.match_id); 54 | 55 | INTERSECTION method: 56 | select match_id, version from ( 57 | select * from 'challenger'.Match 58 | intersect 59 | select * from 'diamond'.Match 60 | intersect 61 | select * from 'silver'.Match); 62 | */ 63 | 64 | 65 | /* 66 | 67 | (A ∩ B) ∪ (A ∩ C) ∪ (B ∩ C) 68 | 69 | select match_id from ( 70 | select * from (select * from 'challenger'.Match intersect select * from 'diamond'.Match) 71 | union 72 | select * from (select * from 'challenger'.Match intersect select * from 'silver'.Match) 73 | union 74 | select * from (select * from 'diamond'.Match intersect select * from 'silver'.Match) 75 | ); 76 | 77 | */ 78 | 79 | -------------------------------------------------------------------------------- /match_predict.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | import pandas as pd 3 | from sklearn.svm import SVC 4 | import time 5 | from sklearn import cross_validation 6 | from sklearn.metrics import f1_score, classification_report, accuracy_score 7 | from sklearn.ensemble import RandomForestClassifier as rfc 8 | from statics import champion_counts 9 | 10 | # Read matches: Match_id -> Participant(champion, side) & TotalChampionStats(label, ability) -> Team(win) 11 | # 1. 10 participants as features, result following -> GG! 12 | # 2. 2 teams's type difference as features -> GG! 13 | # 3. Ability difference as features 14 | 15 | 16 | # Connect database 17 | conn = sqlite3.connect('lola.db') 18 | cursor = conn.cursor() 19 | df = pd.read_sql('SELECT * FROM ChampionMatchStats', conn, index_col=['champion']) 20 | 21 | all_stats = {} 22 | all_stats_arr = [] 23 | names = [] 24 | 25 | for champion in df.index: 26 | names.append(champion) 27 | kills = df.ix[champion]['kills']/df.ix[champion]['picks']*1000 28 | deaths = df.ix[champion]['deaths']/df.ix[champion]['picks']*1000 29 | assists = df.ix[champion]['assists']/df.ix[champion]['picks']*1000 30 | gold_earned = df.ix[champion]['gold_earned']/df.ix[champion]['picks'] 31 | magic_damage = df.ix[champion]['magic_damage']/df.ix[champion]['picks'] 32 | physical_damage = df.ix[champion]['physical_damage']/df.ix[champion]['picks'] 33 | true_damage = df.ix[champion]['true_damage']/df.ix[champion]['picks'] 34 | damage_taken = df.ix[champion]['damage_taken']/df.ix[champion]['picks'] 35 | crowd_control_dealt = df.ix[champion]['crowd_control_dealt']/df.ix[champion]['picks']*10 36 | ward_kills = df.ix[champion]['ward_kills']/df.ix[champion]['picks']*1000 37 | wards_placed = df.ix[champion]['wards_placed']/df.ix[champion]['picks']*1000 38 | tmp_dict = {'kills': kills, 'assists': assists, 'deaths': deaths, 'gold_earned': gold_earned, 'magic_damage': magic_damage, 39 | 'physical_damage': physical_damage, 'true_damage': true_damage,'damage_taken': damage_taken, 'crowd_control_dealt': crowd_control_dealt, 40 | 'ward_kills': ward_kills,'wards_placed': wards_placed} 41 | tmp_arr = [kills, assists, deaths, gold_earned, magic_damage, physical_damage, true_damage, damage_taken, crowd_control_dealt, ward_kills, 42 | wards_placed] 43 | all_stats[champion] = tmp_dict 44 | all_stats_arr.append(tmp_arr) 45 | 46 | # Initialize set of data 47 | all_team = [] 48 | result = [] 49 | 50 | # Select matches, champions, sides and result 51 | st = time.time() 52 | 53 | cursor.execute('SELECT match_id, win FROM Team WHERE side = ? LIMIT 3000 OFFSET 10000', ('blue',)) 54 | matches = cursor.fetchall() 55 | for match in matches: 56 | # match = (u'2053870096', 0) 57 | item = [] 58 | for i in range(0, len(all_stats['Jax'])): 59 | item.append(0) 60 | # item = [50, 50, 50, ...] 61 | cursor.execute('SELECT * FROM MatchChampion WHERE match_id = ?', (match[0].encode('utf-8'),)) 62 | team = cursor.fetchall() 63 | team = team[0] 64 | # team = (2053870096, u'Graves', u'Alistar', u'Twitch', u'Yasuo', u'Braum', u'Quinn', u'Riven', u'Zed', u'Miss Fortune', u'Zac') 65 | for champion in team[1:6]: 66 | i = 0 67 | for v in all_stats[champion].values(): 68 | item[i] += v 69 | i += 1 70 | for champion in team[6:]: 71 | i = 0 72 | for v in all_stats[champion].values(): 73 | item[i] -= v 74 | i += 1 75 | all_team.append(item) 76 | # [[0, 0, 2, 4, 3, 51387, -921, -26326, -34600, -2184, -3876],...] 77 | 78 | result.append(match[1]) 79 | # [1, 1, 0, ...] 80 | 81 | print len(all_team) 82 | print len(result) 83 | 84 | 85 | print 'Elapsed time: %.2fs' % (time.time() - st) 86 | 87 | st = time.time() 88 | X_train, X_test, y_train, y_test = cross_validation.train_test_split(all_team, result, test_size=0.2, random_state=1) 89 | 90 | # Try classifier 91 | clf = SVC() 92 | print 'done' 93 | clf.fit(X_train, y_train) 94 | result1 = clf.predict(X_test) 95 | print classification_report(y_test, result1) 96 | print accuracy_score(y_test, result1) 97 | print 'Elapsed time: %.2fs' % (time.time() - st) 98 | 99 | st = time.time() 100 | clf2 = rfc(n_estimators=5) 101 | clf2.fit(X_train, y_train) 102 | result2 = clf2.predict(X_test) 103 | print classification_report(y_test, result2) 104 | print accuracy_score(y_test, result2) 105 | print 'Elapsed time: %.2fs' % (time.time() - st) 106 | 107 | cursor.close() 108 | conn.commit() 109 | conn.close() -------------------------------------------------------------------------------- /champion_cluster.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | import pandas as pd 3 | from sklearn.cluster import KMeans 4 | from sklearn.cluster import AgglomerativeClustering 5 | from scipy import spatial 6 | import matplotlib.pyplot as plt 7 | 8 | # All fields' name 9 | fields = ['kills', 'deaths', 'assists', 'gold_earned', 'magic_damage', 'physical_damage', 'true_damage', 'damage_taken', 10 | 'crowd_control_dealt', 'ward_kills', 'wards_placed'] 11 | fields_total = ['total_gold_earned','total_magic_damage','total_physical_damage', 'total_true_damage', 'total_damage_taken', 12 | 'total_crowd_control_dealt','total_ward_kills','total_wards_placed'] 13 | fields_percent = ['gold_percent', 'magic_percent','physical_percent', 'true_percent', 'taken_percent', 'control_percent', 'wardK_percent', 14 | 'wardP_percent'] 15 | 16 | def count_avg_dict(label): 17 | tmp_dict = {'kills': 0, 'deaths': 0, 'assists': 0, 'gold_earned': 0, 'magic_damage': 0, 'physical_damage': 0, 'true_damage': 0, 18 | 'damage_taken': 0, 'crowd_control_dealt': 0, 'ward_kills': 0, 'wards_placed': 0} 19 | for name in label_dict[label]: 20 | for key in tmp_dict.keys(): 21 | tmp_dict[key] += all_stats[name][key] 22 | for key in tmp_dict.keys(): 23 | tmp_dict[key] /= len(label_dict[label]) 24 | return tmp_dict 25 | 26 | def count_avg_arr(label): 27 | tmp_arr = [0,0,0,0,0,0,0,0,0,0,0] 28 | for name in new_label_dict[label]: 29 | for i in range(0, len(fields)): 30 | tmp_arr[i] += all_stats[name][fields[i]] 31 | for i in range(0,len(tmp_arr)): 32 | tmp_arr[i] /= len(new_label_dict[label]) 33 | return tmp_arr 34 | 35 | # iterate all champions' name, retrieve every column by fields' name, calculate the average stats per game of each champions 36 | conn = sqlite3.connect('lola.db') 37 | cursor = conn.cursor() 38 | df = pd.read_sql('SELECT * FROM ChampionMatchStats', conn, index_col=['champion']) 39 | 40 | all_stats = {} 41 | all_stats_arr = [] 42 | names = [] 43 | 44 | for champion in df.index: 45 | names.append(champion) 46 | kills = df.ix[champion]['kills']/df.ix[champion]['picks'] 47 | deaths = df.ix[champion]['deaths']/df.ix[champion]['picks'] 48 | assists = df.ix[champion]['assists']/df.ix[champion]['picks'] 49 | gold_earned = df.ix[champion]['gold_earned']/df.ix[champion]['picks'] 50 | magic_damage = df.ix[champion]['magic_damage']/df.ix[champion]['picks'] 51 | physical_damage = df.ix[champion]['physical_damage']/df.ix[champion]['picks'] 52 | true_damage = df.ix[champion]['true_damage']/df.ix[champion]['picks'] 53 | damage_taken = df.ix[champion]['damage_taken']/df.ix[champion]['picks'] 54 | crowd_control_dealt = df.ix[champion]['crowd_control_dealt']/df.ix[champion]['picks'] 55 | ward_kills = df.ix[champion]['ward_kills']/df.ix[champion]['picks'] 56 | wards_placed = df.ix[champion]['wards_placed']/df.ix[champion]['picks'] 57 | tmp_dict = {'kills': kills, 'assists': assists, 'deaths': deaths, 'gold_earned': gold_earned, 'magic_damage': magic_damage, 58 | 'physical_damage': physical_damage, 'true_damage': true_damage,'damage_taken': damage_taken, 'crowd_control_dealt': crowd_control_dealt, 59 | 'ward_kills': ward_kills,'wards_placed': wards_placed} 60 | tmp_arr = [kills, assists, deaths, gold_earned, magic_damage, physical_damage, true_damage, damage_taken, crowd_control_dealt, ward_kills, 61 | wards_placed] 62 | all_stats[champion] = tmp_dict 63 | all_stats_arr.append(tmp_arr) 64 | 65 | for (k, v) in all_stats.items(): 66 | print(k, '\n', v) 67 | 68 | #------------------k-means------------------# 69 | meandistortions = [] 70 | num_clusters = 6 71 | km = KMeans(n_clusters=num_clusters, max_iter=100, n_init=100) 72 | km.fit(all_stats_arr) 73 | 74 | label_dict = [] 75 | for i in range(0, num_clusters): 76 | label_dict.append([]) 77 | i = 0 78 | for label in km.labels_: 79 | label_dict[label].append(names[i]) 80 | print(names[i], int(label)) 81 | cursor.execute('UPDATE ChampionMatchStats SET label=? WHERE champion=?', (int(label), names[i],)) 82 | i += 1 83 | #Show clustering results and average statistics 84 | for i in range(0, len(label_dict)): 85 | print(label_dict[i]) 86 | print(count_avg_dict(i), '\n') 87 | centers = km.cluster_centers_.tolist() 88 | sum_dist = 0 89 | for label in range(0, num_clusters): 90 | for name in label_dict[label]: 91 | sum_dist += spatial.distance.euclidean(all_stats_arr[names.index(name)], centers[label]) 92 | print(num_clusters, sum_dist/128) 93 | 94 | #Calculate distance between clusters 95 | dist_cluster = 0 96 | num_normalize = 0 97 | for i in range(0, num_clusters): 98 | for j in range(i+1, num_clusters): 99 | dist_cluster += spatial.distance.euclidean(centers[i], centers[j]) 100 | num_normalize += 1 101 | print(f'k-means\nnumber of clusters: {num_clusters}') 102 | print(f'distortion: {sum_dist/128}') 103 | print('distance betweeen clusters/distortion: %.5f\n' % (dist_cluster/(num_normalize*sum_dist/128))) 104 | ''' 105 | meandistortions.append(dist_cluster/(num_normalize*sum_dist/128)) 106 | plt.plot(num_clusters, meandistortions, 'bx-') 107 | plt.xlabel('k') 108 | plt.ylabel('Average distance of clusters/distortion') 109 | plt.title('Selecting k with the Elbow Method') 110 | plt.show() 111 | ''' 112 | 113 | #------------------agglomerative------------------# 114 | meandistortions = [] 115 | num_clusters = 6 116 | ward = AgglomerativeClustering(n_clusters=num_clusters, linkage='complete') 117 | ward.fit(all_stats_arr) 118 | new_label_dict = [] 119 | for i in range(0, num_clusters): 120 | new_label_dict.append([]) 121 | i = 0 122 | for label in ward.labels_: 123 | new_label_dict[label].append(names[i]) 124 | i += 1 125 | #Show clustering results and average statistics 126 | '''for i in range(0, len(new_label_dict)): 127 | #print new_label_dict[i] 128 | #print count_avg_arr(i) 129 | print label_dict[i] 130 | print count_avg_dict(i), '\n' 131 | ''' 132 | 133 | #Find centroids 134 | centroids = [] 135 | for i in range(0, num_clusters): 136 | centroids.append(count_avg_arr(i)) 137 | sum_dist = 0 138 | #Calcultate distortions 139 | for i in range(0, num_clusters): 140 | for name in new_label_dict[i]: 141 | sum_dist += spatial.distance.euclidean(all_stats_arr[names.index(name)], centroids[i]) 142 | print(num, sum_dist/128) 143 | #meandistortions.append(sum_dist/128) 144 | 145 | #Calculate distance between clusters 146 | dist_cluster = 0 147 | num_normalize = 0 148 | for i in range(0, num_clusters): 149 | for j in range(i+1, num_clusters): 150 | dist_cluster += spatial.distance.euclidean(centroids[i], centroids[j]) 151 | num_normalize += 1 152 | print(f'agglomerative clustering\nnumber of clusters: {num_clusters}') 153 | print(f'distortion: {sum_dist}') 154 | print('distance betweeen clusters/distortion: %.5f' % (dist_cluster/(num_normalize*sum_dist/128))) 155 | 156 | ''' 157 | print all_stats['Rumble'] 158 | print all_stats['Orianna'] 159 | print all_stats['Anivia'] 160 | 161 | meandistortions.append(dist_cluster/(num_normalize*sum_dist/128)) 162 | plt.plot(num_clusters, meandistortions, 'bx-') 163 | plt.xlabel('n') 164 | plt.ylabel('Average distance of clusters/distortion') 165 | plt.title('Selecting n with the Elbow Method\nin Agglomerative Clustering') 166 | plt.show() 167 | ''' 168 | cursor.close() 169 | conn.commit() 170 | conn.close() 171 | -------------------------------------------------------------------------------- /data_preprocess.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | import time 3 | from data_statics import champions 4 | 5 | ''' 6 | Update MatchChampion: 7 | 1. SELECT match_id FROM Match 8 | 2. SELECT champion FROM Participant WHERE match_id = ? ORDER BY participant_id 9 | 3. INSERT INTO MatchChampion VALUES(match_id, participant1, ...) 10 | ''' 11 | def match_champion_to_sqlite(): 12 | conn = sqlite3.connect('lola.db') 13 | cursor = conn.cursor() 14 | 15 | print('Updating participants of matches to MatchChampion...') 16 | 17 | # Select uncounted match_ids 18 | cursor.execute('SELECT match_id FROM Match') 19 | result = cursor.fetchall() 20 | 21 | st = time.time() 22 | for item in result: 23 | # Select participants of each match 24 | match_id = int(item[0].encode('utf-8')) 25 | cursor.execute('SELECT champion FROM Participant WHERE match_id = ? ORDER BY CAST(participant_id AS INTEGER)', (match_id,)) 26 | participants = cursor.fetchall() 27 | # Insert participants into MatchChampion 28 | cursor.execute('INSERT INTO MatchChampion VALUES(?,?,?,?,?,?,?,?,?,?,?)', (match_id, participants[0][0].encode('utf-8'), 29 | participants[1][0].encode('utf-8'),participants[2][0].encode('utf-8'), participants[3][0].encode('utf-8'), 30 | participants[4][0].encode('utf-8'),participants[5][0].encode('utf-8'), participants[6][0].encode('utf-8'), 31 | participants[7][0].encode('utf-8'),participants[8][0].encode('utf-8'), participants[9][0].encode('utf-8'), )) 32 | # print '%d Inserted.' % match_id 33 | # Code for update 34 | ''' 35 | cursor.execute('UPDATE MatchChampion SET participant1=?, participant2=?, participant3=?,\ 36 | participant4=?, participant5=?, participant6=?, participant7=?, participant8=?,participant9=?,\ 37 | participant10=? WHERE match_id = ?', (participants[0][0].encode('utf-8'), participants[1][0].encode('utf-8'), 38 | participants[2][0].encode('utf-8'), participants[3][0].encode('utf-8'), participants[4][0].encode('utf-8'), 39 | participants[5][0].encode('utf-8'), participants[6][0].encode('utf-8'), participants[7][0].encode('utf-8'), 40 | participants[8][0].encode('utf-8'), participants[9][0].encode('utf-8'), item[0],)) 41 | ''' 42 | 43 | print('Done.\nElapsed time: %.2fs.\n' % (time.time()-st)) 44 | 45 | cursor.close() 46 | conn.commit() 47 | conn.close() 48 | 49 | ''' 50 | Update ChampionMatchStats' kdas and damages: 51 | 1. SELECT sum(kills), sum(deaths), ... FROM Participant WHERE champion = ... 52 | 2. INSERT INTO ChampionMatchStats VALUES(kills, deaths, ..) 53 | 3. UPDATE ChampionMatchStats SET picks = ?, bans = ? WHERE champion = ? 54 | ''' 55 | def champion_match_stats_to_sqlite(): 56 | # TODO: champion dynamic enumeration using select distinct(champion) from participant 57 | conn = sqlite3.connect('lola.db') 58 | cursor = conn.cursor() 59 | 60 | print('Updating champion stats of matches to ChampionMatchStats...') 61 | # Select kda, damages, wards... of every champions 62 | st = time.time() 63 | for champion in champions(): 64 | cursor.execute('SELECT champion FROM ChampionMatchStats WHERE champion = ?', (champion.name,)) 65 | exist = cursor.fetchone() 66 | if exist is None: 67 | print(champion) 68 | cursor.execute('SELECT sum(kills), sum(deaths), sum(assists), sum(gold_earned), sum(magic_damage_dealt_to_champions),\ 69 | sum(physical_damage_dealt_to_champions), sum(true_damage_dealt_to_champions), sum(damage_taken),\ 70 | sum(crowd_control_dealt), sum(ward_kills), sum(wards_placed) FROM Participant WHERE champion = ?', (champion, )) 71 | result = cursor.fetchone() 72 | # Insert part of champion stats, excluding picks/bans/wins and stats of team 73 | cursor.execute('INSERT INTO ChampionMatchStats VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', (champion, 74 | 0, 0, 0, result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7], result[8], result[9], 75 | result[10], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, None, None)) 76 | # print champion, '\n', result 77 | # Update picks/bans/wins 78 | cursor.execute('SELECT COUNT(champion) FROM Participant WHERE champion = ?',(champion,)) 79 | picks = cursor.fetchone()[0] 80 | cursor.execute('SELECT COUNT(ban) FROM TeamBan WHERE ban = ?',(champion,)) 81 | bans = cursor.fetchone()[0] 82 | cursor.execute('SELECT SUM(participant_win) FROM Participant WHERE champion = ?',(champion,)) 83 | wins = cursor.fetchone()[0] 84 | cursor.execute('UPDATE ChampionMatchStats SET picks = ?, bans = ?, wins = ? WHERE champion = ?',(picks, bans, wins, champion,)) 85 | 86 | print('Done.\nElapsed time: %.2fs\n' % (time.time() - st)) 87 | 88 | cursor.close() 89 | conn.commit() 90 | conn.close() 91 | 92 | # TODO: ChampionMatchStats and ChampionRank Initialization (insert or update), in case that champion / match data updating from crawling 93 | 94 | '''TODO: average tier of match 95 | def select_version_tier(): 96 | conn = sqlite3.connect(addr_db) 97 | cursor = conn.execute("SELECT match_id,version from Match") 98 | for row in cursor: 99 | all_matchid.append(row[0]) 100 | all_version.append(row[1]) 101 | if row[1] not in version: 102 | version.append(row[1]) 103 | 104 | cursor = conn.execute("SELECT previous_season_tier from Participant") 105 | count = 1 106 | temp_avg_tier = [] 107 | for row in cursor: 108 | if row[0] not in tier: # collect all tier 109 | tier.append(row[0]) 110 | if count%10!=0: # collect match tier level 111 | temp_avg_tier.append(row[0]) 112 | count += 1 113 | else: 114 | avg_tier.append(most_common(temp_avg_tier)) 115 | count = 1 116 | temp_avg_tier = [] 117 | conn.close 118 | for i in range(len(all_matchid)): 119 | all_matchid[i] = all_matchid[i].encode("ascII") 120 | avg_tier[i] = avg_tier[i].encode("ascII") 121 | 122 | def insert_avgtier(): 123 | conn = sqlite3.connect(addr_db) 124 | conn.execute("ALTER TABLE Match ADD COLUMN TIER TEXT") # Add COLUMN in Match(#should be dropped) 125 | for i in range(len(avg_tier)): # insert the average match tier 126 | conn.execute("UPDATE Match SET TIER=? WHERE match_id=?",(avg_tier[i],all_matchid[i])) 127 | conn.commit() 128 | print '$-----Table:Match Mission:avg_tier update [Finished].-----$' 129 | conn.execute("ALTER TABLE FrameKillEvent ADD COLUMN avg_tier TEXT") # Add COLUMN in Frame(#should be dropped) 130 | conn.execute("ALTER TABLE FrameKillEvent ADD COLUMN version TEXT") # Add COLUMN in Frame(#should be dropped) 131 | conn.execute("UPDATE FrameKillEvent SET avg_tier = (SELECT TIER FROM Match WHERE Match.match_id = FrameKillEvent.match_id)") 132 | conn.execute("UPDATE FrameKillEvent SET version = (SELECT version FROM Match WHERE Match.match_id = FrameKillEvent.match_id)") 133 | print '$-----Table:FrameKillEvent Mission:avg_tier&version update [Finished].-----$' 134 | conn.commit() 135 | conn.close() 136 | 137 | def most_common(L): 138 | return max(g(sorted(L)), key=lambda(x, v):(len(list(v)),-L.index(x)))[0] 139 | ''' 140 | -------------------------------------------------------------------------------- /champion_rank.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | LoLa champion ranking 4 | """ 5 | import pandas as pd 6 | import numpy as np 7 | from scipy import spatial 8 | from scipy.sparse import linalg 9 | import networkx as nx 10 | import matplotlib.pyplot as plt 11 | import champion_matrix as lola # TODO: lola library namespace 12 | 13 | def print_full(df): 14 | ''' 15 | print all rows of pd.DataFrame 16 | ''' 17 | pd.set_option('display.max_rows', len(df)) 18 | print('\n') 19 | print(df) 20 | pd.reset_option('display.max_rows') 21 | 22 | # TODO: 23 | def champion_win_rate_rank(): 24 | pass 25 | 26 | def champion_pick_rate_rank(): 27 | pass 28 | 29 | def champion_ban_rate_rank(): 30 | pass 31 | 32 | def champion_average_kda_rank(): 33 | pass 34 | 35 | def champion_distribution(champion_matrix_df, champion): #TODO 36 | vector = champion_matrix_df.ix[champion] 37 | values, base = np.histogram(vector, bins=40) 38 | plt.plot(values) 39 | 40 | def champion_cosine_similarity(champion_matrix_df, champion_1, champion_2): #TODO 41 | return 1 - spatial.distance.cosine(champion_matrix_df.ix[champion_1], champion_matrix_df.ix[champion_2]) 42 | 43 | def champion_matrix_rank(champion_matrix_df, criteron, norm=None, row_sum_norm=False): 44 | ''' 45 | champion_matrix_df: pd.DataFrame, kill/death/assist counts between champions, 46 | (a,b)=i means a kills / killed by / assists b for i times 47 | criteron: 'sum', 'eigen', 'eigen_ratio', 'eigen_diff', 'pagerank', 'hits' 48 | norm: row_pick, col_pick, counter_inci, partner_inci (K/D - counter; A - partner) 49 | row_sum_norm: row_sum norm without external information 50 | TODO: eigen_ratio and eigen_diff criteron can only be used in kill matrix, in assist do not make sense (would be forbidden in future) 51 | ''' 52 | champion_matrix = lola.dataframe_to_champion_matrix(champion_matrix_df, norm) 53 | 54 | if row_sum_norm == True: 55 | row_sum = champion_matrix.sum(axis=1) 56 | champion_matrix = champion_matrix / row_sum[:, np.newaxis] # numpy broadcast 57 | 58 | # Count 59 | if criteron == 'sum': 60 | print("Champion Rank by sum:") 61 | rank_df = pd.DataFrame() 62 | rank_df['champion'] = pd.Series(champion_matrix_df.index) 63 | rank_df['sum'] = champion_matrix.sum(axis=1) # row sum 64 | print_full(rank_df.sort_values(by='sum', ascending=False)) 65 | 66 | # ED 67 | elif criteron == 'eigen': 68 | print("Champion Rank by eigenvector centrality") 69 | rank_df = pd.DataFrame() 70 | rank_df['champion'] = pd.Series(champion_matrix_df.index) 71 | # eigenvector with largest eigenvalue (k=1), sometimes all negative, sometimes all positive, absolute values unchanged 72 | rank_df['eigen_1'] = pd.DataFrame(abs(linalg.eigs(champion_matrix, k=1)[1])) # matrix must be float for linalg.eigs 73 | print_full(rank_df.sort_values(by='eigen_1', ascending=False)) 74 | 75 | #rank_df['eigen_2'] = pd.DataFrame(abs(linalg.eigs(champion_matrix, k=2)[1][:,1])) 76 | #print_full(rank_df.sort_values(by='eigen_2', ascending=False)) 77 | 78 | # ED Ratio, eigen(M)/eigen(M.T) 79 | elif criteron == 'eigen_ratio': 80 | print("Champion Rank by eigenvector centrality ratio:") 81 | rank_df = pd.DataFrame() 82 | rank_df['champion'] = pd.Series(champion_matrix_df.index) 83 | rank_df['eigen'] = pd.DataFrame(abs(linalg.eigs(champion_matrix, k=1)[1])) 84 | rank_df['eigen_t'] = pd.DataFrame(abs(linalg.eigs(champion_matrix.transpose(), k=1)[1])) 85 | rank_df['eigen_ratio'] = rank_df['eigen'] / rank_df['eigen_t'] 86 | print_full(rank_df.sort_values(by='eigen_ratio', ascending=False)) 87 | 88 | # ED Diff, eigen(M)-eigen(M.T) 89 | elif criteron == 'eigen_diff': 90 | print("Champion Rank by eigenvector centrality difference:") 91 | rank_df = pd.DataFrame() 92 | rank_df['champion'] = pd.Series(champion_matrix_df.index) 93 | rank_df['eigen'] = pd.DataFrame(abs(linalg.eigs(champion_matrix, k=1)[1])) 94 | rank_df['eigen_t'] = pd.DataFrame(abs(linalg.eigs(champion_matrix.transpose(), k=1)[1])) 95 | rank_df['eigen_diff'] = rank_df['eigen'] - rank_df['eigen_t'] 96 | print_full(rank_df.sort_values(by='eigen_diff', ascending=False)) 97 | 98 | # PageRank: similar results with eigenvector centrality 99 | elif criteron == 'pagerank': 100 | print("Champion Rank by PageRank:") 101 | G = nx.DiGraph(champion_matrix) 102 | pr = nx.pagerank(G) 103 | rank_df = pd.DataFrame() 104 | rank_df['champion'] = pd.Series(champion_matrix_df.index) 105 | rank_df['pagerank'] = pd.DataFrame(data=list(pr.values()), index=list(pr.keys())) 106 | print_full(rank_df.sort_values(by='pagerank', ascending=False)) 107 | 108 | # HITS: 109 | elif criteron == 'hits': 110 | print("Champion Rank by HITS:") 111 | G = nx.DiGraph(champion_matrix) 112 | hub, auth = nx.hits(G) 113 | hub_rank_df = pd.DataFrame() 114 | hub_rank_df['champion'] = pd.Series(champion_matrix_df.index) 115 | hub_rank_df['hub'] = pd.DataFrame(data=list(hub.values()), index=list(hub.keys())) 116 | print_full(hub_rank_df.sort_values(by='hub', ascending=False)) 117 | auth_rank_df = pd.DataFrame() 118 | auth_rank_df['champion'] = pd.Series(champion_matrix_df.index) 119 | auth_rank_df['auth'] = pd.DataFrame(data=list(auth.values()), index=list(auth.keys())) 120 | print_full(auth_rank_df.sort_values(by='auth', ascending=False)) 121 | 122 | else: 123 | raise ValueError('Invalid criteron provided.') 124 | 125 | ''' 126 | TODO: Visualization Part 127 | 128 | def top_banpick_win(): 129 | conn = sqlite3.connect('lola.db') 130 | win_rate_matrix = [] 131 | pick_ban_infor = pd.read_sql("SELECT champion,picks,bans FROM ChampionMatchStats", conn, index_col=['champion']) 132 | top_ten_pick_infor = pick_ban_infor.sort_values(by='picks', ascending=False).iloc[0:10] 133 | top_ten_pick_champions = top_ten_pick_infor.index 134 | for i in top_ten_pick_champions: 135 | win = conn.execute("SELECT COUNT(champion) FROM Participant WHERE Participant.participant_win=1 and participant.champion=?",(i,)) 136 | win = win.fetchone()[0] 137 | win_rate_matrix.append(float(win)/float(top_ten_pick_infor['picks'][i])) 138 | top_ten_pick_infor['win_rate'] = win_rate_matrix 139 | temp_series = pd.DataFrame(top_ten_pick_infor['win_rate']).sort_values(by='win_rate', ascending=True) # inverse the order 140 | # top_ten_pick_infor = # add a new column then insert win_rate into it , then draw the image with name and win_rate 141 | plt_pick = temp_series.plot(kind='barh', title='Win Rate of Pick Top 10 Champion', stacked=False).set_xlabel('Proportion').get_figure() 142 | # plt_pick.savefig('win_rate_pick_Top_10.png') 143 | 144 | win_rate_matrix = [] 145 | top_ten_ban_infor = pick_ban_infor.sort_values(by='bans', ascending=False).iloc[0:10] 146 | top_ten_ban_champions = top_ten_ban_infor.index 147 | for i in top_ten_ban_champions: 148 | win = conn.execute("SELECT COUNT(champion) FROM Participant WHERE Participant.participant_win=1 and participant.champion=?",(i,)) 149 | win = win.fetchone()[0] 150 | win_rate_matrix.append(float(win)/float(top_ten_ban_infor['picks'][i])) 151 | conn.close() 152 | top_ten_ban_infor['win_rate'] = win_rate_matrix 153 | temp_series = pd.DataFrame(top_ten_ban_infor['win_rate']).sort_values(by='win_rate', ascending=True) # inverse the order 154 | #top_ten_pick_infor = # add a new column then insert win_rate into it , then draw the image with name and win_rate 155 | plt_ban = temp_series.plot(kind='barh', title='Win Rate of Ban Top 10 Champion', stacked=False).set_xlabel('Proportion').get_figure() 156 | # plt_ban.savefig('win_rate_ban_Top_10.png') 157 | 158 | 159 | def win_rate(): 160 | conn = sqlite3.connect('lola.db') 161 | win_rate_matrix = [] 162 | pick_ban_infor = pd.read_sql("SELECT champion,picks,bans FROM ChampionMatchStats", conn, index_col=['champion']) 163 | all_pick_infor = pick_ban_infor.sort_values(by='picks', ascending=False) 164 | all_pick_champions = all_pick_infor.index 165 | for i in all_pick_champions: 166 | win = conn.execute("SELECT COUNT(champion) FROM Participant WHERE Participant.participant_win=1 and participant.champion=?",(i,)) 167 | win = win.fetchone()[0] 168 | win_rate_matrix.append(float(win)/float(all_pick_infor['picks'][i])) 169 | conn.close() 170 | all_pick_infor['win_rate'] = win_rate_matrix 171 | temp_series = pd.DataFrame(all_pick_infor['win_rate']).sort_values(by='win_rate', ascending=True) 172 | # top_ten_pick_infor = # add a new column then insert win_rate into it , then draw the image with name and win_rate 173 | plt_all = temp_series.plot(kind='barh', title='Win Rate Rank', stacked=False).set_xlabel('Proportion').get_figure() 174 | # plt_all.savefig('win_rate.png') 175 | ''' -------------------------------------------------------------------------------- /sqlite_schema.sql: -------------------------------------------------------------------------------- 1 | /* initialize database with command: sqlite3 lola.db < sqlite_schema.sql */ 2 | 3 | CREATE TABLE `Summoner` ( 4 | -- `id` integer NOT NULL, 5 | `summoner_id` text NOT NULL UNIQUE, /*key*/ 6 | `summoner_name` text NOT NULL, 7 | `is_crawled` integer NOT NULL 8 | -- PRIMARY KEY(id) 9 | ); 10 | CREATE TABLE `Match` ( 11 | -- `id` integer NOT NULL, 12 | `match_id` text NOT NULL UNIQUE, /*key*/ 13 | `version` text NOT NULL, 14 | `duration` integer NOT NULL, 15 | -- `season` text NOT NULL, 16 | `data` text, 17 | `is_crawled` integer NOT NULL, 18 | `is_counted` integer NOT NULL /*for ChampionMatchStats*/ 19 | -- PRIMARY KEY(id) 20 | ); 21 | CREATE TABLE `MatchChampion` ( 22 | `match_id` integer NOT NULL, /*key*/ 23 | `participant1` text, 24 | `participant2` text, 25 | `participant3` text, 26 | `participant4` text, 27 | `participant5` text, 28 | `participant6` text, 29 | `participant7` text, 30 | `participant8` text, 31 | `participant9` text, 32 | `participant10` text 33 | ); 34 | CREATE TABLE `FrameKillEvent` ( 35 | -- `id` integer NOT NULL, 36 | `match_id` text NOT NULL, /*key*/ 37 | `happen` integer NOT NULL, /*key*/ 38 | `victim` text NOT NULL, /*key*/ 39 | `minute` integer NOT NULL, 40 | `killer` text NOT NULL, 41 | `assist` text 42 | -- PRIMARY KEY(id) 43 | ); 44 | CREATE TABLE `Team` ( 45 | -- `id` integer NOT NULL, 46 | `match_id` text NOT NULL, /*key*/ 47 | `side` text NOT NULL, /*key*/ 48 | `dragon_kills` integer NOT NULL, 49 | `baron_kills` integer NOT NULL, 50 | `win` integer NOT NULL 51 | -- PRIMARY KEY(id) 52 | ); 53 | CREATE TABLE `TeamBan` ( 54 | -- `id` integer NOT NULL, 55 | `match_id` text NOT NULL, /*key*/ 56 | `side` text NOT NULL, /*key*/ 57 | `ban` text NOT NULL /*key*/ 58 | -- PRIMARY KEY(id) 59 | ); 60 | CREATE TABLE `Participant` ( 61 | -- `id` integer NOT NULL, 62 | `summoner_id` text NOT NULL, /*key*/ 63 | `match_id` text NOT NULL, /*key*/ 64 | `participant_id` text NOT NULL, 65 | `side` text NOT NULL, 66 | `champion` text NOT NULL, 67 | `previous_season_tier` text, 68 | `summoner_spell_d` text NOT NULL, 69 | `summoner_spell_f` text NOT NULL, 70 | 71 | `kda` real NOT NULL, 72 | `kills` integer NOT NULL, 73 | `deaths` integer NOT NULL, 74 | `assists` integer NOT NULL, 75 | `champion_level` integer NOT NULL, 76 | `turret_kills` integer NOT NULL, 77 | `cs` integer NOT NULL, /*minion + monster kills*/ 78 | `killing_sprees` integer NOT NULL, 79 | `largest_critical_strike` integer NOT NULL, 80 | `largest_killing_spree` integer NOT NULL, 81 | `largest_multi_kill` integer NOT NULL, 82 | `gold_earned` integer NOT NULL, 83 | `gold_spent` integer NOT NULL, 84 | `magic_damage_dealt` integer NOT NULL, 85 | `magic_damage_dealt_to_champions` integer NOT NULL, 86 | `magic_damage_taken` integer NOT NULL, 87 | `physical_damage_dealt` integer NOT NULL, 88 | `physical_damage_dealt_to_champions` integer NOT NULL, 89 | `physical_damage_taken` integer NOT NULL, 90 | `true_damage_dealt` integer NOT NULL, 91 | `true_damage_dealt_to_champions` integer NOT NULL, 92 | `true_damage_taken` integer NOT NULL, 93 | `damage_dealt` integer NOT NULL, 94 | `damage_dealt_to_champions` integer NOT NULL, 95 | `damage_taken` integer NOT NULL, 96 | `healing_done` integer NOT NULL, 97 | `units_healed` integer NOT NULL, 98 | `crowd_control_dealt` integer NOT NULL, 99 | `vision_wards_bought` integer NOT NULL, 100 | `ward_kills` integer NOT NULL, 101 | `wards_placed` integer NOT NULL, 102 | `participant_win` integer NOT NULL, 103 | CONSTRAINT unq_match_participant UNIQUE(match_id, participant_id) 104 | -- PRIMARY KEY(id) 105 | ); 106 | CREATE TABLE `ParticipantTimeline` ( 107 | -- `id` integer NOT NULL, 108 | `summoner_id` text NOT NULL, /*key*/ 109 | `match_id` text NOT NULL, /*key*/ 110 | `delta` text NOT NULL, /*key*/ 111 | `side` text NOT NULL, 112 | `participant_id` text NOT NULL, 113 | `role` text NOT NULL, 114 | `lane` text NOT NULL, 115 | 116 | `creeps_per_min_delta` real, 117 | `cs_diff_per_min_delta` real, 118 | `gold_per_min_delta` real, 119 | `xp_per_min_delta` real, 120 | `xp_diff_per_min_delta` real, 121 | `damage_taken_per_min_delta` real, 122 | `damage_taken_diff_per_min_delta` real 123 | -- PRIMARY KEY(id) 124 | ); 125 | CREATE TABLE `ChampionMatchStats` ( 126 | `champion` TEXT NOT NULL UNIQUE, /*key*/ 127 | `picks` integer NOT NULL DEFAULT 0, 128 | `bans` integer NOT NULL DEFAULT 0, 129 | `wins` integer NOT NULL DEFAULT 0, 130 | `kills` integer NOT NULL DEFAULT 0, 131 | `deaths` integer NOT NULL DEFAULT 0, 132 | `assists` integer NOT NULL DEFAULT 0, 133 | `gold_earned` integer NOT NULL DEFAULT 0, 134 | `magic_damage` integer NOT NULL DEFAULT 0, 135 | `physical_damage` integer NOT NULL DEFAULT 0, 136 | `true_damage` integer NOT NULL DEFAULT 0, 137 | `damage_taken` integer NOT NULL DEFAULT 0, 138 | `crowd_control_dealt` integer NOT NULL DEFAULT 0, 139 | `ward_kills` integer NOT NULL DEFAULT 0, 140 | `wards_placed` integer NOT NULL DEFAULT 0, 141 | `team_kills` integer NOT NULL DEFAULT 0, 142 | `team_deaths` integer NOT NULL DEFAULT 0, 143 | `team_assists` integer NOT NULL DEFAULT 0, 144 | `team_gold_earned` integer NOT NULL DEFAULT 0, 145 | `team_magic_damage` integer NOT NULL DEFAULT 0, 146 | `team_physical_damage` integer NOT NULL DEFAULT 0, 147 | `team_true_damage` integer NOT NULL DEFAULT 0, 148 | `team_damage_taken` integer NOT NULL DEFAULT 0, 149 | `team_crowd_control_dealt` integer NOT NULL DEFAULT 0, 150 | `team_ward_kills` integer NOT NULL DEFAULT 0, 151 | `team_wards_placed` integer NOT NULL DEFAULT 0, 152 | `label` integer DEFAULT 0, 153 | `version` text, 154 | `avg_tier` text 155 | ); 156 | CREATE TABLE `ChampionRank` ( 157 | `champion` text NOT NULL UNIQUE, /*key*/ 158 | `pick_rate` real NOT NULL DEFAULT 0, 159 | `ban_rate` real NOT NULL DEFAULT 0, 160 | `win_rate` real NOT NULL DEFAULT 0, 161 | `kill_rate` real NOT NULL DEFAULT 0, 162 | `assist_rate` real NOT NULL DEFAULT 0, 163 | `death_rate` real NOT NULL DEFAULT 0, 164 | `eigen` real NOT NULL DEFAULT 0, 165 | `eigen_ratio` real NOT NULL DEFAULT 0, 166 | `eigen_diff` real NOT NULL DEFAULT 0, 167 | `pagerank` real NOT NULL DEFAULT 0, 168 | `hits` real NOT NULL DEFAULT 0, 169 | `version` text, 170 | `avg_tier` text 171 | -- kill / death / eigen / pagerank... 172 | ); 173 | CREATE TABLE `ChampionKillMatrix` ( 174 | -- `id` integer NOT NULL, 175 | `killer` text NOT NULL, 176 | `victim` text NOT NULL, 177 | `kills` integer NOT NULL, 178 | `version` text, 179 | `avg_tier` text 180 | -- PRIMARY KEY(id) 181 | ); 182 | CREATE TABLE `ChampionAssistMatrix` ( 183 | -- `id` integer NOT NULL, 184 | `killer` text NOT NULL, /*key*/ 185 | `assist` text NOT NULL, /*key*/ 186 | `assists` integer NOT NULL, 187 | `version` text, 188 | `avg_tier` text 189 | -- PRIMARY KEY(id) 190 | ); 191 | CREATE TABLE `ChampionIncidenceMatrix` ( 192 | -- `id` integer NOT NULL, 193 | `champion_1` text NOT NULL, /*key*/ 194 | `champion_2` text NOT NULL, /*key*/ 195 | `counters` integer NOT NULL, 196 | `partners` integer NOT NULL, 197 | `version` text, 198 | `avg_tier` text 199 | -- PRIMARY KEY(id) 200 | ); 201 | 202 | CREATE INDEX index_Participant_match_id on Participant(match_id); 203 | CREATE UNIQUE INDEX killer_victim on ChampionKillMatrix(killer, victim); 204 | CREATE UNIQUE INDEX killer_assist on ChampionAssistMatrix(killer, assist); 205 | 206 | -- INSERT INTO new.Participant SELECT * FROM old.Participant ORDER bY match_id ASC, CAST(participant_id AS INTEGER) ASC 207 | 208 | -------------------------------------------------------------------------------- /champion_matrix.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | LoLa champion relationship matrix 4 | """ 5 | import time 6 | import pandas as pd 7 | import numpy as np 8 | import sqlite3 9 | import itertools 10 | 11 | # TODO: DECORATOR 12 | def time_report(): 13 | # start_time = time.time() 14 | # extract_Kill_infor() 15 | # end_time = time.time() 16 | # print 'Generate Kill Matrix costs: %.2fs' %(end_time-start_time) 17 | pass 18 | 19 | def initial_matrix(): 20 | ''' 21 | initial champion-champion matrix, no direction 22 | ''' 23 | conn = sqlite3.connect('lola.db') 24 | # TODO: champion static data 25 | cursor = conn.execute("SELECT champion FROM ChampionMatchStats") 26 | champions = cursor.fetchall() 27 | conn.close() 28 | champion_list = [] 29 | for i in range(len(champions)): 30 | champion_list.append(champions[i][0]) 31 | initial_matrix_df = pd.DataFrame(columns=champion_list, index=champion_list).fillna(0) 32 | return initial_matrix_df 33 | 34 | def kill_matrix(): 35 | ''' 36 | row: killer, column: victim 37 | ''' 38 | kill_matrix_df = initial_matrix() 39 | temp_happen = [] 40 | conn = sqlite3.connect('lola.db') 41 | cursor = conn.execute("SELECT match_id,happen,killer,victim from FrameKillEvent") 42 | i = 0 43 | # use the order of column (by match and happen) in the FrameKillEvent table 44 | # TODO: avoid using database record order, instead use match_id and happen to de-duplicate 45 | for row in cursor: 46 | temp_happen.append(row[1]) 47 | if i==0: 48 | temp_killer = row[2] 49 | temp_victim = row[3] 50 | kill_matrix_df.ix[temp_killer, temp_victim] += 1 51 | i += 1 52 | else: 53 | if not row[1]==temp_happen[i-1]: 54 | temp_killer = row[2] 55 | temp_victim = row[3] 56 | kill_matrix_df.ix[temp_killer, temp_victim] += 1 # row kills column 57 | i += 1 58 | conn.close() 59 | kill_matrix_df.to_csv('kill_matrix.csv') 60 | return kill_matrix_df 61 | 62 | def assist_matrix(): 63 | ''' 64 | row: assist, column: killer 65 | ''' 66 | assist_matrix_df = initial_matrix() 67 | conn = sqlite3.connect('lola.db') 68 | cursor = conn.execute("SELECT killer,assist from FrameKillEvent") # consider the relationship between a&v or a&k? 69 | for row in cursor: 70 | if not row[1]==None: 71 | temp_killer = row[0] 72 | temp_assist = row[1] 73 | assist_matrix_df.ix[temp_assist, temp_killer] += 1 # row helps column 74 | conn.close() 75 | assist_matrix_df.to_csv('assist_matrix.csv') 76 | return assist_matrix_df 77 | 78 | def incidence_matrices(): 79 | conn = sqlite3.connect('lola.db') 80 | match_ids = pd.read_sql("SELECT match_id FROM MatchChampion", conn)['match_id'] 81 | 82 | counter_matrix = initial_matrix() 83 | partner_matrix = initial_matrix() 84 | 85 | count = 0 86 | print('processed match count:') 87 | for m in match_ids: # ten champions each match, combinations 88 | count += 1 89 | if count % 100 == 0: 90 | print(count) 91 | match_champions = conn.execute("SELECT * FROM MatchChampion WHERE match_id = ?", (str(m),)).fetchall() 92 | champions = list(match_champions[0]) 93 | champions.remove(match_champions[0][0]) # remove match_id in the list 94 | champions = [c.decode('utf8') for c in champions] # from byte like b'xx' 95 | champions_team_1 = champions[:5] 96 | champions_team_2 = champions[5:] 97 | 98 | for t in (champions_team_1, champions_team_2): 99 | for cp in itertools.combinations(t, 2): 100 | partner_matrix[cp[0]][cp[1]] += 1 101 | partner_matrix[cp[1]][cp[0]] += 1 102 | 103 | for cc in itertools.product(champions_team_1, champions_team_2): 104 | counter_matrix[cc[0]][cc[1]] += 1 105 | counter_matrix[cc[1]][cc[0]] += 1 106 | 107 | conn.close() 108 | return counter_matrix, partner_matrix 109 | 110 | def kill_matrix_to_sqlite(): 111 | kill_matrix_df = kill_matrix() 112 | conn = sqlite3.connect('lola.db') 113 | temp_champions = list(kill_matrix_df.columns) 114 | for i in temp_champions: 115 | for j in temp_champions: 116 | conn.execute("INSERT OR REPLACE INTO ChampionKillMatrix(killer,victim,kills) VALUES(?,?,?)",(i,j,int(kill_matrix_df[j][i]))) 117 | print('$-----Table:ChampionKillMatrix Mission:kill infor-%s [Finished].-----$'%i) 118 | conn.commit() 119 | conn.close() 120 | 121 | def assist_matrix_to_sqlite(assist_matrix_df): 122 | assist_matrix_df = assist_matrix() 123 | conn = sqlite3.connect('lola.db') 124 | temp_champions = list(assist_matrix_df.columns) 125 | for i in temp_champions: 126 | for j in temp_champions: 127 | conn.execute("INSERT OR REPLACE INTO ChampionAssistMatrix(killer,assist,assists) VALUES(?,?,?)",(i,j,int(assist_matrix_df[i][j]))) 128 | print('$-----Table:ChampionAssistMatrix Mission:assist infor-%s [Finished].-----$'%i) 129 | conn.commit() 130 | conn.close() 131 | 132 | def incidence_matrices_to_sqlite(): 133 | incidence_matrices_df = incidence_matrices() 134 | counter_matrix_df = incidence_matrices_df[0] 135 | partner_matrix_df = incidence_matrices_df[1] 136 | 137 | conn = sqlite3.connect('lola.db') 138 | temp_champions = list(counter_matrix_df.columns) 139 | for i in temp_champions: 140 | for j in temp_champions: 141 | conn.execute("INSERT OR REPLACE INTO ChampionIncidenceMatrix(champion_1,champion_2,counters, partners) VALUES(?,?,?,?)",(i, j, int(counter_matrix_df[j][i]), int(partner_matrix_df[j][i]))) 142 | print('$-----Table:ChampionIncidenceMatrix Mission:inci infor-%s [Finished].-----$'%i) 143 | conn.commit() 144 | conn.close() 145 | 146 | def sqlite_to_kill_matrix(): 147 | ''' 148 | read champion kill matrix from database, Kill(i,j) means i kills j 149 | norm: None / 'picks' 150 | ''' 151 | kill_matrix_df = initial_matrix() 152 | conn = sqlite3.connect('lola.db') 153 | cursor = conn.execute("SELECT killer,victim,kills FROM ChampionKillMatrix") 154 | for row in cursor: 155 | kill_matrix_df.ix[row[0]][row[1]] = row[2] 156 | conn.close() 157 | return kill_matrix_df 158 | 159 | def sqlite_to_death_matrix(norm=None): 160 | ''' 161 | read champion death matrix from database, Death(i,j) means i is victim of j 162 | norm: None / 'picks' 163 | ''' 164 | death_matrix_df = sqlite_to_kill_matrix(norm).transpose() # D is K.transpose() 165 | return death_matrix_df 166 | 167 | def sqlite_to_assist_matrix(norm=None): 168 | ''' 169 | read champion assist matrix from database, Assist(i,j) means i assists j 170 | norm: None / 'picks' 171 | ''' 172 | assist_matrix_df = initial_matrix() 173 | conn = sqlite3.connect('lola.db') 174 | cursor = conn.execute("SELECT killer,assist,assists FROM ChampionAssistMatrix") 175 | for row in cursor: 176 | assist_matrix_df.ix[row[1]][row[0]] = row[2] 177 | conn.close() 178 | return assist_matrix_df 179 | 180 | def sqlite_to_incidence_matrix(relation): 181 | ''' 182 | read champion incidence matrix from database, Incidence(i,j) means i and j are both picked (undirected) 183 | ''' 184 | incidence_matrix_df = initial_matrix() 185 | conn = sqlite3.connect('lola.db') 186 | 187 | if relation == 'counter': 188 | cursor = conn.execute("SELECT champion_1,champion_2,counters FROM ChampionIncidenceMatrix") 189 | for row in cursor: 190 | incidence_matrix_df.ix[row[0]][row[1]] = row[2] 191 | incidence_matrix_df[row[0]][row[1]] = row[2] 192 | elif relation == 'partner': 193 | cursor = conn.execute("SELECT champion_1,champion_2,partners FROM ChampionIncidenceMatrix") 194 | for row in cursor: 195 | incidence_matrix_df.ix[row[0]][row[1]] = row[2] 196 | incidence_matrix_df[row[0]][row[1]] = row[2] 197 | conn.close() 198 | return incidence_matrix_df 199 | 200 | def dataframe_to_champion_matrix(matrix_df, norm): 201 | ''' 202 | generate normalized champion matrix, numpy.ndarray 203 | ''' 204 | if norm == None: 205 | champion_matrix = matrix_df.as_matrix().astype(float) 206 | elif norm == 'row_pick': 207 | normed_matrix_df = matrix_norm_by_pick(matrix_df, 'row') 208 | champion_matrix = normed_matrix_df.as_matrix().astype(float) 209 | elif norm == 'col_pick': 210 | normed_matrix_df = matrix_norm_by_pick(matrix_df, 'col') 211 | champion_matrix = normed_matrix_df.as_matrix().astype(float) 212 | elif norm == 'counter_inci': 213 | champion_matrix = matrix_norm_by_incidence(matrix_df, 'counter') 214 | elif norm == 'partner_inci': 215 | champion_matrix = matrix_norm_by_incidence(matrix_df, 'partner') 216 | else: 217 | raise ValueError('No such normalization method: {}'.format(norm)) 218 | 219 | return champion_matrix 220 | 221 | def matrix_norm_by_pick(matrix_df, direction): 222 | ''' 223 | norm by picks of row champion 224 | ''' 225 | conn = sqlite3.connect('lola.db') 226 | pick_ban_info = pd.read_sql("SELECT champion,picks,bans FROM ChampionMatchStats", conn, index_col=['champion']) 227 | conn.close() 228 | pick_infor_matrix_df = pick_ban_info['picks'] 229 | if direction == 'row': 230 | normed_matrix_df = matrix_df.divide(pick_infor_matrix_df, axis='index') # no nan in normal cases 231 | elif direction == 'col': 232 | normed_matrix_df = matrix_df.divide(pick_infor_matrix_df, axis='columns') 233 | return(normed_matrix_df) 234 | 235 | def matrix_norm_by_incidence(matrix_df, relation): 236 | ''' 237 | norm by incidence of counter/partner pairs 238 | ''' 239 | matrix = matrix_df.as_matrix().astype(float) 240 | inci_matrix = sqlite_to_incidence_matrix(relation).as_matrix().astype(float) 241 | normed_matrix = np.divide(matrix, inci_matrix) # matrix divide matrix element-wise 242 | normed_matrix = np.nan_to_num(normed_matrix) # fill nan with 0 243 | return(normed_matrix) 244 | 245 | ''' TODO:devided matrix by version and avg_tier 246 | def AM_table(): 247 | conn = sqlite3.connect('lola.db') 248 | temp = conn.execute('SELECT DISTINCT(champion) FROM Participant') 249 | c = [] # c[]: a list of 128 champions 250 | cc = [] # permutation sized 127*127 251 | for i in temp.fetchall(): 252 | c.append(i[0]) 253 | cc = permutations(c,2) 254 | 255 | for i in range(len(version)): 256 | for j in range(len(tier)): 257 | #for k in cc: 258 | for q in range(len(c)): 259 | t = conn.execute("SELECT count(*) FROM FrameKillEvent WHERE version=? AND avg_tier=? AND killer=? AND assist=?",(version[i],tier[j],'Vayne',c[q]))#k[0],k[1] 260 | conn.execute("INSERT INTO AM_Table VALUES(?,?,?,?,?)",(version[i],tier[j],'Vayne',c[q],t.fetchall()[0][0]))#k[0],k[1] 261 | t = conn.execute("SELECT count(*) FROM FrameKillEvent WHERE version=? AND avg_tier=? AND killer=? AND assist=?",(version[i],tier[j],'Vayne',c[q]))#k[0],k[1] 262 | print 'Hero:%s--%s Num:%d'%('Vayne',c[q],t.fetchall()[0][0]) #k[0],k[1] 263 | print '$-----Table:AM_table Mission:Tier-%s [Finished].-----$' %tier[j] 264 | print '$-----Table:AM_table Mission:Version-%s [Finished].-----$' %version[i] 265 | conn.commit() 266 | conn.close() 267 | ''' -------------------------------------------------------------------------------- /data_crawl.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | LoLa data crawling based on Cassiopeia. 4 | """ 5 | 6 | from cassiopeia import riotapi 7 | from cassiopeia import type 8 | from cassiopeia.type.api.exception import APIError 9 | import sqlite3 10 | import pandas as pd 11 | import math 12 | import time 13 | import random 14 | 15 | def auto_retry(api_call_method): 16 | """ A decorator to automatically retry 500/503s (Service Unavailable) and skip 400s (Bad Request) or 404 (Not Found). """ 17 | def call_wrapper(*args, **kwargs): 18 | try: 19 | return api_call_method(*args, **kwargs) 20 | except APIError as error: 21 | # try again once 22 | if error.error_code in [500, 503]: 23 | try: 24 | print("Got a 500 or 503, trying again after 5 seconds...") 25 | time.sleep(5) 26 | return api_call_method(*args, **kwargs) 27 | except APIError as another_error: 28 | if another_error.error_code in [500, 503, 400, 404]: 29 | pass 30 | else: 31 | raise another_error 32 | 33 | # skip 34 | elif error.error_code in [400, 404]: 35 | print("Got a 400 or 404") 36 | pass # may make match None in auto_retry(riotapi.get_match)! 37 | 38 | # fatal 39 | else: 40 | raise error 41 | return call_wrapper 42 | 43 | 44 | def riotapi_setting(api_key, region): 45 | try: 46 | riotapi.set_rate_limits((10, 10), (500, 600)) 47 | riotapi.set_api_key(api_key) 48 | riotapi.set_region(region) 49 | except Exception as e: 50 | raise e 51 | 52 | def main(): 53 | riotapi.get_summoner_by_id = auto_retry(riotapi.get_summoner_by_id) # handling server errors 54 | riotapi.get_match_list = auto_retry(riotapi.get_match_list) 55 | riotapi.get_match = auto_retry(riotapi.get_match) 56 | 57 | print('\nCrawling process starts...') 58 | 59 | # set your api_key, region, seed_summoner_id, seasons, ranked_queues 60 | # inadequate settings of may lead to 404 61 | riotapi_setting(api_key, region='NA') 62 | begin_crawling(seed_summoner_id='22005573', seasons='PRESEASON2016',ranked_queues='RANKED_SOLO_5x5') 63 | 64 | def begin_crawling(seed_summoner_id, seasons, ranked_queues): 65 | ''' 66 | Breadth first crawling interations, Summoner -> Match -> Summoner... 67 | ''' 68 | #seed intialization 69 | try: 70 | print('Seed initializing...') 71 | seed_summoner = riotapi.get_summoner_by_id(seed_summoner_id) 72 | conn = sqlite3.connect('lola.db') 73 | conn.execute("INSERT INTO Summoner VALUES('{}','{}',{})".format(seed_summoner.id, seed_summoner.name, 0)) #watch out "" / '' 74 | conn.commit() 75 | conn.close() 76 | print('\nInitialization completed.') 77 | except Exception as e: 78 | print('\nInitialization failed: ', e) # possibly because the seed is already in database 79 | pass 80 | 81 | # summoner queue interations 82 | total_summoner_processed = 0 83 | total_match_processed = 0 84 | total_match_cralwed = 0 85 | total_match_duplicate = 0 86 | total_match_none = 0 87 | iteration = 0 88 | try: 89 | conn = sqlite3.connect('lola.db') 90 | queue_summoner_ids = pd.read_sql("SELECT summoner_id FROM Summoner WHERE is_crawled=0", conn) 91 | except Exception as e: 92 | raise(e) 93 | finally: 94 | conn.close() 95 | while not queue_summoner_ids.empty: 96 | print('\nSummoner Queue Length:', len(queue_summoner_ids)) 97 | iteration += 1 # only a relative number because of crawling restrarts 98 | print ('Iteration', iteration, 'in the process...') 99 | queue_summoner_ids_list = list(queue_summoner_ids['summoner_id']) 100 | random.shuffle(queue_summoner_ids_list) 101 | for summoner_id in queue_summoner_ids_list[:]: # pd.dataframe to list of list(queue_summoner_ids['summoner_id']) 102 | conn = sqlite3.connect('lola.db') 103 | summoner = riotapi.get_summoner_by_id(summoner_id) 104 | match_reference_list = riotapi.get_match_list(summoner=summoner, seasons=seasons, ranked_queues=ranked_queues) 105 | 106 | if match_reference_list is None: # TODO: tag this summoner to be 400/404 status (or the loop may happen quite rarely) 107 | print("Summoner {} has None MatchList, skip..".format(summoner_id)) 108 | continue 109 | 110 | print('\nSummoner {} ({}) in {}, {}: '.format(summoner.name, summoner.id, ranked_queues, seasons)) 111 | print('Total Match Number of the summoner: {}'.format(len(match_reference_list))) 112 | 113 | match_no = 0 # crawled + duplicate + none 114 | crawled_match_no = 0 115 | duplicate_match_no = 0 116 | none_match_no = 0 117 | for mf in match_reference_list[:]: 118 | if is_match_duplicate(mf, conn) == False: 119 | try: 120 | # TODO: urllib.error.URLError: 121 | match = riotapi.get_match(mf) # match reference -> match 122 | except Exception as e: 123 | raise(e) 124 | # may be None even if mf is not None, see https://github.com/meraki-analytics/cassiopeia/issues/57 125 | # can not use != because of Match.__eq__ use Match.id 126 | if match is None: 127 | none_match_no += 1 128 | continue # jump to the next interation 129 | match_to_sqlite(match, summoner, conn) 130 | # match is crawled 131 | conn.execute("UPDATE Match SET is_crawled = 1 WHERE match_id='{}'".format(mf.id)) 132 | crawled_match_no += 1 133 | else : 134 | duplicate_match_no += 1 135 | match_no += 1 136 | if match_no % 10 == 0: 137 | print (match_no, 'matches in', len(match_reference_list), 'processed.') 138 | # summoner has been crawled 139 | conn.execute("UPDATE Summoner SET is_crawled = 1 WHERE summoner_id='{}'".format(summoner_id)) 140 | conn.commit() # commit after every summoner finished 141 | conn.close() 142 | # sums of different kinds of matches 143 | total_summoner_processed += 1 144 | total_match_processed += match_no 145 | total_match_cralwed += crawled_match_no 146 | total_match_duplicate += duplicate_match_no 147 | total_match_none += none_match_no 148 | print('\ntotal processed summoner:', total_summoner_processed,'\ntotal processed match:', total_match_processed, \ 149 | '\ntotal crawled match', total_match_cralwed, '\ntotal duplicate match:', total_match_duplicate, \ 150 | '\ntotal none match:', total_match_none) 151 | 152 | # read new queue for next iteration 153 | try: 154 | conn = sqlite3.connect('lola.db') 155 | queue_summoner_ids = pd.read_sql("SELECT summoner_id FROM Summoner WHERE is_crawled=0", conn) #update queue 156 | except Exception as e: 157 | raise(e) 158 | finally: 159 | conn.close() 160 | 161 | def is_match_duplicate(match_reference, conn): 162 | ''' 163 | Check if a given match has a record in database 164 | ''' 165 | try: 166 | is_empty = pd.read_sql("SELECT * FROM Match WHERE match_id = '{}'".format(match_reference.id), conn).empty 167 | except Exception as e: 168 | conn.close() 169 | raise(e) 170 | 171 | return not is_empty 172 | 173 | def match_to_sqlite(match, summoner, conn): 174 | ''' 175 | Store Match basic information to database; 176 | Arrange extraction and storation of match detail information 177 | ''' 178 | #match basic 179 | match_id = match.id 180 | version = match.version 181 | duration = math.ceil((match.duration).total_seconds() / 60) #minute 182 | #data = str(match.data) # discarded 183 | try: 184 | conn.execute("INSERT INTO Match VALUES(?,?,?,?,?,?)", (match_id, version, duration, None, 0, 0)) 185 | except Exception as e: 186 | conn.close() 187 | raise(e) 188 | 189 | # match details 190 | team_to_sqlite(match.red_team, match, conn) 191 | team_to_sqlite(match.blue_team, match, conn) 192 | for p in match.participants[:]: 193 | summoner_to_sqlite(p, summoner, conn) 194 | participant_to_sqlite(p, match, conn) 195 | participant_timeline_to_sqlite(p, match, conn) 196 | 197 | if match.timeline is None: # match.timeline may be None 198 | print("Match {} does not have Match.Timeline data, skip..".format(match.id)) 199 | return 200 | if match.timeline.frames is None: # match.timeline.frames may be None 201 | print("Match {} does not have Match.Timeline.Frames data, skip..".format(match.id)) 202 | return 203 | 204 | for f in match.timeline.frames[:]: 205 | frame_kill_event_to_sqlite(f, match, conn) 206 | 207 | def team_to_sqlite(team, match, conn): 208 | ''' 209 | Extract Match.Team Information to database 210 | ''' 211 | match_id = match.id 212 | team_side = str(team.side)[5:] 213 | team_dragon_kills = team.dragon_kills 214 | team_baron_kills = team.baron_kills 215 | team_win = int(team.win) # binary to int 216 | team_bans = team.bans 217 | try: 218 | conn.execute("INSERT INTO Team VALUES(?,?,?,?,?)", (match_id, team_side, team_dragon_kills, team_baron_kills, team_win)) 219 | for b in team_bans: 220 | ban = str(b)[4:-1] # Cass to text 221 | conn.execute("INSERT INTO TeamBan VALUES(?,?,?)", (match_id, team_side, ban)) 222 | except Exception as e: 223 | conn.close() 224 | raise(e) 225 | 226 | def summoner_to_sqlite(participant, summoner, conn): 227 | ''' 228 | Extract Summoner basic information to database. (duplicate handled in database) 229 | ''' 230 | summoner_id = participant.summoner_id 231 | if summoner_id != summoner.id: 232 | summoner_name = participant.summoner_name 233 | is_crawled = 0 234 | try: 235 | #summoner_id is UNIQUE in database 236 | conn.execute("INSERT INTO Summoner VALUES(?,?,?)", (summoner_id, summoner_name, is_crawled)) 237 | except Exception: 238 | #print(e, summoner_name) 239 | pass 240 | 241 | def participant_to_sqlite(participant, match, conn): 242 | ''' 243 | Extract Match.Participant Information to database 244 | ''' 245 | #match initial 246 | summoner_id = participant.summoner_id 247 | match_id = match.id 248 | side = str(participant.side)[5:] 249 | participant_id = participant.id 250 | champion = participant.champion.name 251 | previous_season_tier = participant.previous_season_tier.value # bug fixed in Cass, see: https://github.com/meraki-analytics/cassiopeia/issues/55 252 | #masteries = participant.masteries # discarded 253 | #runes = participant.runes # discarded 254 | summoner_spell_d = str(participant.summoner_spell_d) # Cass to text 255 | summoner_spell_f = str(participant.summoner_spell_f) # Cass to text 256 | 257 | # match stats 258 | participant_stats = participant.stats 259 | kda = participant_stats.kda 260 | kills = participant_stats.kills 261 | deaths = participant_stats.deaths 262 | assists = participant_stats.assists 263 | champion_level = participant_stats.champion_level 264 | turret_kills = participant_stats.turret_kills 265 | cs = participant_stats.cs # farming 266 | killing_sprees = participant_stats.killing_sprees 267 | largest_critical_strike = participant_stats.largest_critical_strike 268 | largest_killing_spree = participant_stats.largest_killing_spree 269 | largest_multi_kill = participant_stats.largest_multi_kill 270 | gold_earned = participant_stats.gold_earned 271 | gold_spent = participant_stats.gold_spent 272 | magic_damage_dealt = participant_stats.magic_damage_dealt 273 | magic_damage_dealt_to_champions = participant_stats.magic_damage_dealt_to_champions 274 | magic_damage_taken = participant_stats.magic_damage_taken 275 | physical_damage_dealt = participant_stats.physical_damage_dealt 276 | physical_damage_dealt_to_champions = participant_stats.physical_damage_dealt_to_champions 277 | physical_damage_taken = participant_stats.physical_damage_taken 278 | true_damage_dealt = participant_stats.true_damage_dealt # physical_damage_dealt + magic_damage_dealt + true_damage_dealt 279 | true_damage_dealt_to_champions = participant_stats.true_damage_dealt_to_champions 280 | true_damage_taken = participant_stats.true_damage_taken 281 | damage_dealt = participant_stats.damage_dealt 282 | damage_dealt_to_champions = participant_stats.damage_dealt_to_champions 283 | damage_taken = participant_stats.damage_taken 284 | healing_done = participant_stats.healing_done 285 | units_healed = participant_stats.units_healed 286 | crowd_control_dealt = participant_stats.crowd_control_dealt 287 | vision_wards_bought = participant_stats.vision_wards_bought 288 | ward_kills = participant_stats.ward_kills 289 | wards_placed = participant_stats.wards_placed 290 | participant_win = int(participant_stats.win) 291 | 292 | try: 293 | conn.execute("INSERT INTO Participant VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", \ 294 | (summoner_id, match_id, participant_id, side, champion, previous_season_tier, summoner_spell_d, summoner_spell_f, \ 295 | kda, kills, deaths, assists, champion_level, turret_kills, cs, killing_sprees, largest_critical_strike, largest_killing_spree, largest_multi_kill, \ 296 | gold_earned, gold_spent, magic_damage_dealt, magic_damage_dealt_to_champions, magic_damage_taken, physical_damage_dealt, physical_damage_dealt_to_champions, physical_damage_taken, \ 297 | true_damage_dealt, true_damage_dealt_to_champions, true_damage_taken, damage_dealt, damage_dealt_to_champions, damage_taken, healing_done, units_healed, \ 298 | crowd_control_dealt, vision_wards_bought, ward_kills, wards_placed, participant_win) ) 299 | except sqlite3.Error as e: 300 | conn.close() 301 | raise(e) 302 | 303 | def participant_timeline_to_sqlite(participant, match, conn): 304 | ''' 305 | Extract Match.Participant.Timeline information to database 306 | ''' 307 | summoner_id = participant.summoner_id 308 | match_id = match.id 309 | side = str(participant.side)[5:] 310 | participant_id = participant.id 311 | 312 | participant_timeline = participant.timeline 313 | role = participant_timeline.role.value 314 | lane = participant_timeline.lane.value 315 | creeps_per_min_deltas = participant_timeline.creeps_per_min_deltas 316 | cs_diff_per_min_deltas = participant_timeline.cs_diff_per_min_deltas 317 | gold_per_min_deltas = participant_timeline.gold_per_min_deltas 318 | xp_per_min_deltas = participant_timeline.xp_per_min_deltas 319 | xp_diff_per_min_deltas = participant_timeline.xp_diff_per_min_deltas 320 | damage_taken_per_min_deltas = participant_timeline.damage_taken_per_min_deltas 321 | damage_taken_diff_per_min_deltas = participant_timeline.damage_taken_diff_per_min_deltas 322 | 323 | try: 324 | deltas_tuple = (creeps_per_min_deltas, cs_diff_per_min_deltas, gold_per_min_deltas, xp_per_min_deltas, 325 | xp_diff_per_min_deltas, damage_taken_per_min_deltas, damage_taken_diff_per_min_deltas) 326 | zero_to_ten = [deltas.zero_to_ten if deltas else None for deltas in deltas_tuple] 327 | ten_to_twenty = [deltas.ten_to_twenty if deltas else None for deltas in deltas_tuple] 328 | twenty_to_thirty = [deltas.twenty_to_thirty if deltas else None for deltas in deltas_tuple] 329 | thirty_to_end = [deltas.thirty_to_end if deltas else None for deltas in deltas_tuple] 330 | 331 | except Exception as e: 332 | conn.close() 333 | raise(e) 334 | 335 | data_deltas = {'zero_to_ten': zero_to_ten, 'ten_to_twenty': ten_to_twenty, 'twenty_to_thirty': twenty_to_thirty, 'thirty_to_end': thirty_to_end} 336 | try: 337 | for delta, values in data_deltas.items(): 338 | creeps_per_min_delta = values[0] 339 | cs_diff_per_min_delta = values[1] 340 | gold_per_min_delta = values[2] 341 | xp_per_min_delta = values[3] 342 | xp_diff_per_min_delta = values[4] 343 | damage_taken_per_min_delta = values[5] 344 | damage_taken_diff_per_min_delta = values[6] 345 | conn.execute("INSERT INTO ParticipantTimeline VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?)", \ 346 | (summoner_id, match_id, delta, side, participant_id, role, lane, \ 347 | creeps_per_min_delta, cs_diff_per_min_delta, gold_per_min_delta, xp_per_min_delta, \ 348 | xp_diff_per_min_delta, damage_taken_per_min_delta, damage_taken_diff_per_min_delta) ) 349 | except Exception as e: 350 | conn.close() 351 | raise(e) 352 | 353 | def frame_kill_event_to_sqlite(frame, match, conn): 354 | ''' 355 | Extract Match.Timeline.Frame.Event information to database (only kill events between participants) 356 | ''' 357 | match_id = match.id 358 | minute = frame.timestamp.seconds // 60 359 | events = frame.events 360 | try: 361 | for event in events[:]: 362 | if event.type == type.core.common.EventType.kill and event.killer and event.victim: # there exists victim without killer 363 | happen = event.timestamp.seconds 364 | killer = event.killer.champion.name 365 | victim = event.victim.champion.name 366 | assists = event.assists 367 | if len(assists) == 0: 368 | conn.execute("INSERT INTO FrameKillEvent VALUES(?,?,?,?,?,?)", (match_id, happen, victim, minute, killer, None)) 369 | else: 370 | for a in event.assists: 371 | assist = a.champion.name 372 | conn.execute("INSERT INTO FrameKillEvent VALUES(?,?,?,?,?,?)", (match_id, happen, victim, minute, killer, assist)) 373 | 374 | except Exception as e: 375 | conn.close() 376 | raise(e) 377 | 378 | if __name__ == "__main__": 379 | main() -------------------------------------------------------------------------------- /results/rank_assist_22k.txt: -------------------------------------------------------------------------------- 1 | Champion Rank by counts: 2 | champion count 3 | 101 Thresh 824053 4 | 10 Blitzcrank 599817 5 | 54 Lee Sin 597177 6 | 57 Lucian 508481 7 | 64 Miss Fortune 461307 8 | 66 Morgana 444125 9 | 38 Janna 424918 10 | 110 Vayne 394661 11 | 11 Brand 356225 12 | 59 Lux 354702 13 | 55 Leona 351284 14 | 24 Ezreal 339149 15 | 94 Soraka 327060 16 | 3 Alistar 314451 17 | 12 Braum 312428 18 | 60 Malphite 311055 19 | 102 Tristana 296568 20 | 13 Caitlyn 256157 21 | 42 Jinx 254083 22 | 9 Bard 253117 23 | 93 Sona 249311 24 | 67 Nami 243651 25 | 69 Nautilus 241032 26 | 87 Shen 234989 27 | 58 Lulu 223844 28 | 1 Ahri 215630 29 | 121 Yasuo 205290 30 | 97 Tahm Kench 202146 31 | 124 Zed 198274 32 | 105 Twisted Fate 195338 33 | 6 Annie 184811 34 | 19 Dr. Mundo 183612 35 | 81 Rengar 179737 36 | 103 Trundle 177828 37 | 27 Fizz 171484 38 | 78 Rammus 164754 39 | 33 Graves 158519 40 | 4 Amumu 154527 41 | 21 Ekko 152722 42 | 80 Renekton 149132 43 | 40 Jax 147581 44 | 51 Kindred 140518 45 | 120 Xin Zhao 139158 46 | 116 Volibear 137703 47 | 63 Master Yi 136896 48 | 53 LeBlanc 136719 49 | 76 Poppy 136659 50 | 82 Riven 131350 51 | 113 Vi 125218 52 | 77 Quinn 124761 53 | 7 Ashe 122196 54 | 118 Wukong 121845 55 | 39 Jarvan IV 116048 56 | 29 Gangplank 115803 57 | 68 Nasus 113407 58 | 43 Kalista 113064 59 | 74 Orianna 109869 60 | 123 Zac 108053 61 | 17 Darius 107724 62 | 31 Gnar 105400 63 | 107 Udyr 104094 64 | 26 Fiora 103598 65 | 37 Irelia 103035 66 | 18 Diana 102617 67 | 91 Sivir 102301 68 | 44 Karma 102292 69 | 34 Hecarim 101535 70 | 75 Pantheon 100515 71 | 70 Nidalee 100079 72 | 115 Vladimir 99907 73 | 99 Taric 99601 74 | 86 Shaco 99437 75 | 30 Garen 97124 76 | 5 Anivia 96572 77 | 112 Vel'Koz 95938 78 | 61 Malzahar 94928 79 | 16 Corki 94687 80 | 22 Elise 94625 81 | 126 Zilean 92070 82 | 79 Rek'Sai 89189 83 | 104 Tryndamere 87515 84 | 20 Draven 87454 85 | 36 Illaoi 87199 86 | 46 Kassadin 83860 87 | 117 Warwick 83740 88 | 15 Cho'Gath 82490 89 | 98 Talon 82317 90 | 127 Zyra 81364 91 | 114 Viktor 79366 92 | 100 Teemo 76353 93 | 48 Kayle 70909 94 | 88 Shyvana 70368 95 | 84 Ryze 69714 96 | 8 Azir 69030 97 | 106 Twitch 67821 98 | 23 Evelynn 65596 99 | 56 Lissandra 62975 100 | 32 Gragas 61903 101 | 47 Katarina 61834 102 | 111 Veigar 61420 103 | 109 Varus 59356 104 | 71 Nocturne 58228 105 | 73 Olaf 57607 106 | 85 Sejuani 56019 107 | 96 Syndra 51847 108 | 90 Sion 50757 109 | 72 Nunu 49815 110 | 49 Kennen 48869 111 | 50 Kha'Zix 48208 112 | 35 Heimerdinger 47630 113 | 119 Xerath 45950 114 | 41 Jayce 44514 115 | 62 Maokai 44047 116 | 95 Swain 42617 117 | 89 Singed 41391 118 | 25 Fiddlesticks 39794 119 | 125 Ziggs 37400 120 | 52 Kog'Maw 36591 121 | 83 Rumble 34179 122 | 2 Akali 33534 123 | 0 Aatrox 30917 124 | 45 Karthus 30515 125 | 92 Skarner 28356 126 | 28 Galio 27114 127 | 14 Cassiopeia 23276 128 | 122 Yorick 12544 129 | 108 Urgot 9302 130 | 65 Mordekaiser 8807 131 | 132 | --------------------------------------------------------- 133 | Champion Rank by eigenvector centrality 134 | champion eigen_1 135 | 101 Thresh 0.366188 136 | 54 Lee Sin 0.269323 137 | 10 Blitzcrank 0.267256 138 | 57 Lucian 0.219929 139 | 66 Morgana 0.197386 140 | 64 Miss Fortune 0.195009 141 | 38 Janna 0.191850 142 | 110 Vayne 0.167639 143 | 11 Brand 0.163847 144 | 59 Lux 0.163160 145 | 55 Leona 0.152718 146 | 60 Malphite 0.144738 147 | 24 Ezreal 0.144474 148 | 12 Braum 0.141355 149 | 94 Soraka 0.140755 150 | 3 Alistar 0.137088 151 | 102 Tristana 0.125367 152 | 9 Bard 0.112504 153 | 93 Sona 0.109902 154 | 67 Nami 0.109734 155 | 87 Shen 0.108155 156 | 13 Caitlyn 0.107259 157 | 69 Nautilus 0.106923 158 | 42 Jinx 0.106093 159 | 1 Ahri 0.104617 160 | 58 Lulu 0.102492 161 | 121 Yasuo 0.096748 162 | 105 Twisted Fate 0.095172 163 | 124 Zed 0.091871 164 | 97 Tahm Kench 0.089002 165 | 6 Annie 0.084789 166 | 19 Dr. Mundo 0.083950 167 | 81 Rengar 0.082087 168 | 103 Trundle 0.081830 169 | 27 Fizz 0.081070 170 | 78 Rammus 0.075198 171 | 21 Ekko 0.071163 172 | 80 Renekton 0.070282 173 | 4 Amumu 0.069769 174 | 33 Graves 0.068974 175 | 40 Jax 0.066775 176 | 53 LeBlanc 0.065117 177 | 76 Poppy 0.063208 178 | 51 Kindred 0.062794 179 | 120 Xin Zhao 0.062147 180 | 116 Volibear 0.061889 181 | 82 Riven 0.061391 182 | 63 Master Yi 0.061266 183 | 118 Wukong 0.056477 184 | 113 Vi 0.056248 185 | 77 Quinn 0.056158 186 | 29 Gangplank 0.055009 187 | 39 Jarvan IV 0.052883 188 | 68 Nasus 0.052522 189 | 74 Orianna 0.052128 190 | 43 Kalista 0.050585 191 | 7 Ashe 0.050447 192 | 17 Darius 0.050444 193 | 31 Gnar 0.049828 194 | 123 Zac 0.049420 195 | 26 Fiora 0.048634 196 | 37 Irelia 0.048449 197 | 18 Diana 0.048230 198 | 115 Vladimir 0.048070 199 | 107 Udyr 0.046694 200 | 75 Pantheon 0.046379 201 | 5 Anivia 0.046314 202 | 34 Hecarim 0.046288 203 | 70 Nidalee 0.046174 204 | 44 Karma 0.045742 205 | 86 Shaco 0.044763 206 | 30 Garen 0.044709 207 | 61 Malzahar 0.044593 208 | 112 Vel'Koz 0.044229 209 | 22 Elise 0.043406 210 | 99 Taric 0.043204 211 | 91 Sivir 0.042501 212 | 16 Corki 0.041197 213 | 126 Zilean 0.040630 214 | 79 Rek'Sai 0.040502 215 | 46 Kassadin 0.040415 216 | 36 Illaoi 0.040217 217 | 104 Tryndamere 0.039125 218 | 15 Cho'Gath 0.038645 219 | 114 Viktor 0.038548 220 | 98 Talon 0.038388 221 | 117 Warwick 0.037592 222 | 20 Draven 0.037400 223 | 127 Zyra 0.036874 224 | 100 Teemo 0.034951 225 | 84 Ryze 0.034137 226 | 8 Azir 0.033099 227 | 48 Kayle 0.033081 228 | 88 Shyvana 0.031975 229 | 56 Lissandra 0.030703 230 | 23 Evelynn 0.030032 231 | 106 Twitch 0.029159 232 | 47 Katarina 0.029082 233 | 111 Veigar 0.028578 234 | 32 Gragas 0.028188 235 | 73 Olaf 0.026566 236 | 71 Nocturne 0.026273 237 | 85 Sejuani 0.025455 238 | 109 Varus 0.025212 239 | 96 Syndra 0.025053 240 | 90 Sion 0.023367 241 | 49 Kennen 0.022859 242 | 72 Nunu 0.022487 243 | 35 Heimerdinger 0.022164 244 | 119 Xerath 0.022113 245 | 50 Kha'Zix 0.022051 246 | 41 Jayce 0.021011 247 | 62 Maokai 0.020175 248 | 95 Swain 0.020074 249 | 89 Singed 0.019310 250 | 25 Fiddlesticks 0.018074 251 | 125 Ziggs 0.017610 252 | 83 Rumble 0.016242 253 | 2 Akali 0.015633 254 | 52 Kog'Maw 0.015584 255 | 45 Karthus 0.014396 256 | 0 Aatrox 0.014101 257 | 92 Skarner 0.012548 258 | 28 Galio 0.012458 259 | 14 Cassiopeia 0.011005 260 | 122 Yorick 0.005708 261 | 108 Urgot 0.004102 262 | 65 Mordekaiser 0.003952 263 | 264 | ------------------------------------------------------------------------- 265 | 266 | Champion Rank by eigenvector centrality ratio 267 | champion eigen eigen_t eigen_ratio 268 | 94 Soraka 0.140755 0.016630 8.463918 269 | 38 Janna 0.191850 0.027047 7.093150 270 | 12 Braum 0.141355 0.034861 4.054836 271 | 67 Nami 0.109734 0.028086 3.907055 272 | 3 Alistar 0.137088 0.037932 3.614014 273 | 99 Taric 0.043204 0.012688 3.404982 274 | 101 Thresh 0.366188 0.111528 3.283376 275 | 55 Leona 0.152718 0.050740 3.009801 276 | 10 Blitzcrank 0.267256 0.107709 2.481276 277 | 9 Bard 0.112504 0.046955 2.395972 278 | 69 Nautilus 0.106923 0.047106 2.269849 279 | 93 Sona 0.109902 0.050075 2.194747 280 | 58 Lulu 0.102492 0.046893 2.185678 281 | 66 Morgana 0.197386 0.095333 2.070485 282 | 126 Zilean 0.040630 0.020714 1.961418 283 | 44 Karma 0.045742 0.025045 1.826381 284 | 72 Nunu 0.022487 0.012439 1.807884 285 | 87 Shen 0.108155 0.063035 1.715795 286 | 78 Rammus 0.075198 0.046943 1.601915 287 | 62 Maokai 0.020175 0.013206 1.527727 288 | 97 Tahm Kench 0.089002 0.059804 1.488224 289 | 28 Galio 0.012458 0.008476 1.469835 290 | 123 Zac 0.049420 0.035058 1.409646 291 | 85 Sejuani 0.025455 0.018335 1.388282 292 | 4 Amumu 0.069769 0.051025 1.367351 293 | 89 Singed 0.019310 0.014158 1.363860 294 | 32 Gragas 0.028188 0.021003 1.342088 295 | 90 Sion 0.023367 0.017554 1.331189 296 | 127 Zyra 0.036874 0.028207 1.307285 297 | 39 Jarvan IV 0.052883 0.041127 1.285860 298 | 92 Skarner 0.012548 0.010041 1.249642 299 | 103 Trundle 0.081830 0.066212 1.235880 300 | 60 Malphite 0.144738 0.118656 1.219809 301 | 25 Fiddlesticks 0.018074 0.015229 1.186817 302 | 35 Heimerdinger 0.022164 0.019703 1.124896 303 | 122 Yorick 0.005708 0.005253 1.086631 304 | 74 Orianna 0.052128 0.048505 1.074708 305 | 79 Rek'Sai 0.040502 0.037926 1.067896 306 | 59 Lux 0.163160 0.153570 1.062451 307 | 56 Lissandra 0.030703 0.029472 1.041762 308 | 31 Gnar 0.049828 0.048397 1.029572 309 | 19 Dr. Mundo 0.083950 0.081710 1.027421 310 | 36 Illaoi 0.040217 0.039163 1.026919 311 | 112 Vel'Koz 0.044229 0.043586 1.014754 312 | 91 Sivir 0.042501 0.043179 0.984319 313 | 7 Ashe 0.050447 0.051568 0.978272 314 | 49 Kennen 0.022859 0.023975 0.953478 315 | 11 Brand 0.163847 0.172124 0.951910 316 | 117 Warwick 0.037592 0.040107 0.937302 317 | 83 Rumble 0.016242 0.017465 0.929977 318 | 76 Poppy 0.063208 0.067993 0.929624 319 | 68 Nasus 0.052522 0.056867 0.923592 320 | 116 Volibear 0.061889 0.069472 0.890853 321 | 108 Urgot 0.004102 0.004615 0.888803 322 | 6 Annie 0.084789 0.095773 0.885316 323 | 125 Ziggs 0.017610 0.019955 0.882470 324 | 119 Xerath 0.022113 0.025125 0.880132 325 | 54 Lee Sin 0.269323 0.313155 0.860029 326 | 80 Renekton 0.070282 0.082242 0.854578 327 | 115 Vladimir 0.048070 0.056338 0.853234 328 | 48 Kayle 0.033081 0.038782 0.852989 329 | 105 Twisted Fate 0.095172 0.113717 0.836925 330 | 0 Aatrox 0.014101 0.016994 0.829741 331 | 5 Anivia 0.046314 0.056302 0.822597 332 | 34 Hecarim 0.046288 0.056727 0.815982 333 | 107 Udyr 0.046694 0.057315 0.814687 334 | 95 Swain 0.020074 0.024732 0.811647 335 | 1 Ahri 0.104617 0.128981 0.811103 336 | 13 Caitlyn 0.107259 0.132278 0.810861 337 | 113 Vi 0.056248 0.069547 0.808776 338 | 64 Miss Fortune 0.195009 0.244885 0.796331 339 | 88 Shyvana 0.031975 0.040357 0.792310 340 | 100 Teemo 0.034951 0.044266 0.789570 341 | 24 Ezreal 0.144474 0.184224 0.784234 342 | 8 Azir 0.033099 0.042309 0.782298 343 | 120 Xin Zhao 0.062147 0.079523 0.781503 344 | 23 Evelynn 0.030032 0.038729 0.775437 345 | 65 Mordekaiser 0.003952 0.005104 0.774245 346 | 29 Gangplank 0.055009 0.071052 0.774219 347 | 61 Malzahar 0.044593 0.057840 0.770970 348 | 73 Olaf 0.026566 0.034671 0.766251 349 | 45 Karthus 0.014396 0.018823 0.764805 350 | 84 Ryze 0.034137 0.044712 0.763485 351 | 51 Kindred 0.062794 0.082340 0.762615 352 | 109 Varus 0.025212 0.033149 0.760565 353 | 118 Wukong 0.056477 0.076391 0.739312 354 | 22 Elise 0.043406 0.059664 0.727507 355 | 41 Jayce 0.021011 0.028987 0.724832 356 | 111 Veigar 0.028578 0.039797 0.718086 357 | 16 Corki 0.041197 0.057450 0.717088 358 | 96 Syndra 0.025053 0.034945 0.716931 359 | 42 Jinx 0.106093 0.148141 0.716163 360 | 57 Lucian 0.219929 0.309444 0.710723 361 | 21 Ekko 0.071163 0.100397 0.708823 362 | 104 Tryndamere 0.039125 0.055256 0.708059 363 | 33 Graves 0.068974 0.097456 0.707747 364 | 71 Nocturne 0.026273 0.037233 0.705635 365 | 15 Cho'Gath 0.038645 0.054788 0.705356 366 | 77 Quinn 0.056158 0.079924 0.702644 367 | 121 Yasuo 0.096748 0.137758 0.702303 368 | 114 Viktor 0.038548 0.055601 0.693289 369 | 14 Cassiopeia 0.011005 0.016200 0.679306 370 | 86 Shaco 0.044763 0.066279 0.675372 371 | 70 Nidalee 0.046174 0.068417 0.674890 372 | 52 Kog'Maw 0.015584 0.023222 0.671060 373 | 20 Draven 0.037400 0.056323 0.664030 374 | 17 Darius 0.050444 0.077763 0.648683 375 | 37 Irelia 0.048449 0.075943 0.637966 376 | 18 Diana 0.048230 0.076363 0.631589 377 | 26 Fiora 0.048634 0.077091 0.630863 378 | 98 Talon 0.038388 0.060953 0.629801 379 | 43 Kalista 0.050585 0.081339 0.621896 380 | 40 Jax 0.066775 0.108284 0.616670 381 | 102 Tristana 0.125367 0.206040 0.608459 382 | 75 Pantheon 0.046379 0.076662 0.604986 383 | 81 Rengar 0.082087 0.136615 0.600862 384 | 82 Riven 0.061391 0.103054 0.595721 385 | 106 Twitch 0.029159 0.048963 0.595544 386 | 30 Garen 0.044709 0.075406 0.592906 387 | 53 LeBlanc 0.065117 0.110608 0.588716 388 | 110 Vayne 0.167639 0.293263 0.571632 389 | 46 Kassadin 0.040415 0.071069 0.568675 390 | 124 Zed 0.091871 0.167994 0.546871 391 | 50 Kha'Zix 0.022051 0.040980 0.538083 392 | 47 Katarina 0.029082 0.055121 0.527600 393 | 27 Fizz 0.081070 0.154659 0.524187 394 | 2 Akali 0.015633 0.032186 0.485695 395 | 63 Master Yi 0.061266 0.135089 0.453520 396 | 397 | ----------------------------------------------------------------------- 398 | 399 | Champion Rank by eigenvector centrality difference 400 | champion eigen eigen_t eigen_diff 401 | 101 Thresh 0.366188 0.111528 0.254660 402 | 38 Janna 0.191850 0.027047 0.164803 403 | 10 Blitzcrank 0.267256 0.107709 0.159547 404 | 94 Soraka 0.140755 0.016630 0.124125 405 | 12 Braum 0.141355 0.034861 0.106494 406 | 66 Morgana 0.197386 0.095333 0.102053 407 | 55 Leona 0.152718 0.050740 0.101978 408 | 3 Alistar 0.137088 0.037932 0.099156 409 | 67 Nami 0.109734 0.028086 0.081648 410 | 9 Bard 0.112504 0.046955 0.065548 411 | 93 Sona 0.109902 0.050075 0.059827 412 | 69 Nautilus 0.106923 0.047106 0.059818 413 | 58 Lulu 0.102492 0.046893 0.055600 414 | 87 Shen 0.108155 0.063035 0.045120 415 | 99 Taric 0.043204 0.012688 0.030515 416 | 97 Tahm Kench 0.089002 0.059804 0.029198 417 | 78 Rammus 0.075198 0.046943 0.028256 418 | 60 Malphite 0.144738 0.118656 0.026082 419 | 44 Karma 0.045742 0.025045 0.020697 420 | 126 Zilean 0.040630 0.020714 0.019915 421 | 4 Amumu 0.069769 0.051025 0.018744 422 | 103 Trundle 0.081830 0.066212 0.015618 423 | 123 Zac 0.049420 0.035058 0.014361 424 | 39 Jarvan IV 0.052883 0.041127 0.011756 425 | 72 Nunu 0.022487 0.012439 0.010049 426 | 59 Lux 0.163160 0.153570 0.009591 427 | 127 Zyra 0.036874 0.028207 0.008667 428 | 32 Gragas 0.028188 0.021003 0.007185 429 | 85 Sejuani 0.025455 0.018335 0.007119 430 | 62 Maokai 0.020175 0.013206 0.006969 431 | 90 Sion 0.023367 0.017554 0.005814 432 | 89 Singed 0.019310 0.014158 0.005152 433 | 28 Galio 0.012458 0.008476 0.003982 434 | 74 Orianna 0.052128 0.048505 0.003624 435 | 25 Fiddlesticks 0.018074 0.015229 0.002845 436 | 79 Rek'Sai 0.040502 0.037926 0.002575 437 | 92 Skarner 0.012548 0.010041 0.002507 438 | 35 Heimerdinger 0.022164 0.019703 0.002461 439 | 19 Dr. Mundo 0.083950 0.081710 0.002241 440 | 31 Gnar 0.049828 0.048397 0.001431 441 | 56 Lissandra 0.030703 0.029472 0.001231 442 | 36 Illaoi 0.040217 0.039163 0.001054 443 | 112 Vel'Koz 0.044229 0.043586 0.000643 444 | 122 Yorick 0.005708 0.005253 0.000455 445 | 108 Urgot 0.004102 0.004615 -0.000513 446 | 91 Sivir 0.042501 0.043179 -0.000677 447 | 49 Kennen 0.022859 0.023975 -0.001115 448 | 7 Ashe 0.050447 0.051568 -0.001120 449 | 65 Mordekaiser 0.003952 0.005104 -0.001152 450 | 83 Rumble 0.016242 0.017465 -0.001223 451 | 125 Ziggs 0.017610 0.019955 -0.002345 452 | 117 Warwick 0.037592 0.040107 -0.002515 453 | 0 Aatrox 0.014101 0.016994 -0.002893 454 | 119 Xerath 0.022113 0.025125 -0.003012 455 | 68 Nasus 0.052522 0.056867 -0.004345 456 | 45 Karthus 0.014396 0.018823 -0.004427 457 | 95 Swain 0.020074 0.024732 -0.004658 458 | 76 Poppy 0.063208 0.067993 -0.004785 459 | 14 Cassiopeia 0.011005 0.016200 -0.005195 460 | 48 Kayle 0.033081 0.038782 -0.005701 461 | 116 Volibear 0.061889 0.069472 -0.007583 462 | 52 Kog'Maw 0.015584 0.023222 -0.007639 463 | 109 Varus 0.025212 0.033149 -0.007937 464 | 41 Jayce 0.021011 0.028987 -0.007976 465 | 73 Olaf 0.026566 0.034671 -0.008104 466 | 115 Vladimir 0.048070 0.056338 -0.008269 467 | 11 Brand 0.163847 0.172124 -0.008277 468 | 88 Shyvana 0.031975 0.040357 -0.008382 469 | 23 Evelynn 0.030032 0.038729 -0.008697 470 | 8 Azir 0.033099 0.042309 -0.009211 471 | 100 Teemo 0.034951 0.044266 -0.009315 472 | 96 Syndra 0.025053 0.034945 -0.009892 473 | 5 Anivia 0.046314 0.056302 -0.009988 474 | 34 Hecarim 0.046288 0.056727 -0.010439 475 | 84 Ryze 0.034137 0.044712 -0.010575 476 | 107 Udyr 0.046694 0.057315 -0.010621 477 | 71 Nocturne 0.026273 0.037233 -0.010960 478 | 6 Annie 0.084789 0.095773 -0.010984 479 | 111 Veigar 0.028578 0.039797 -0.011219 480 | 80 Renekton 0.070282 0.082242 -0.011960 481 | 61 Malzahar 0.044593 0.057840 -0.013247 482 | 113 Vi 0.056248 0.069547 -0.013299 483 | 29 Gangplank 0.055009 0.071052 -0.016042 484 | 104 Tryndamere 0.039125 0.055256 -0.016132 485 | 15 Cho'Gath 0.038645 0.054788 -0.016143 486 | 16 Corki 0.041197 0.057450 -0.016253 487 | 22 Elise 0.043406 0.059664 -0.016258 488 | 2 Akali 0.015633 0.032186 -0.016554 489 | 114 Viktor 0.038548 0.055601 -0.017053 490 | 120 Xin Zhao 0.062147 0.079523 -0.017376 491 | 105 Twisted Fate 0.095172 0.113717 -0.018544 492 | 20 Draven 0.037400 0.056323 -0.018923 493 | 50 Kha'Zix 0.022051 0.040980 -0.018929 494 | 51 Kindred 0.062794 0.082340 -0.019546 495 | 106 Twitch 0.029159 0.048963 -0.019803 496 | 118 Wukong 0.056477 0.076391 -0.019914 497 | 86 Shaco 0.044763 0.066279 -0.021516 498 | 70 Nidalee 0.046174 0.068417 -0.022243 499 | 98 Talon 0.038388 0.060953 -0.022565 500 | 77 Quinn 0.056158 0.079924 -0.023766 501 | 1 Ahri 0.104617 0.128981 -0.024364 502 | 13 Caitlyn 0.107259 0.132278 -0.025019 503 | 47 Katarina 0.029082 0.055121 -0.026039 504 | 17 Darius 0.050444 0.077763 -0.027320 505 | 37 Irelia 0.048449 0.075943 -0.027494 506 | 18 Diana 0.048230 0.076363 -0.028133 507 | 26 Fiora 0.048634 0.077091 -0.028457 508 | 33 Graves 0.068974 0.097456 -0.028482 509 | 21 Ekko 0.071163 0.100397 -0.029233 510 | 75 Pantheon 0.046379 0.076662 -0.030282 511 | 46 Kassadin 0.040415 0.071069 -0.030654 512 | 30 Garen 0.044709 0.075406 -0.030697 513 | 43 Kalista 0.050585 0.081339 -0.030755 514 | 24 Ezreal 0.144474 0.184224 -0.039749 515 | 121 Yasuo 0.096748 0.137758 -0.041010 516 | 40 Jax 0.066775 0.108284 -0.041508 517 | 82 Riven 0.061391 0.103054 -0.041662 518 | 42 Jinx 0.106093 0.148141 -0.042048 519 | 54 Lee Sin 0.269323 0.313155 -0.043833 520 | 53 LeBlanc 0.065117 0.110608 -0.045491 521 | 64 Miss Fortune 0.195009 0.244885 -0.049876 522 | 81 Rengar 0.082087 0.136615 -0.054528 523 | 27 Fizz 0.081070 0.154659 -0.073589 524 | 63 Master Yi 0.061266 0.135089 -0.073823 525 | 124 Zed 0.091871 0.167994 -0.076123 526 | 102 Tristana 0.125367 0.206040 -0.080673 527 | 57 Lucian 0.219929 0.309444 -0.089515 528 | 110 Vayne 0.167639 0.293263 -0.125625 529 | 530 | -------------------------------------------------------------- 531 | 532 | Champion Rank by PageRank 533 | champion pagerank 534 | 57 Lucian 0.033892 535 | 110 Vayne 0.032861 536 | 54 Lee Sin 0.032173 537 | 64 Miss Fortune 0.027670 538 | 102 Tristana 0.023309 539 | 24 Ezreal 0.020622 540 | 11 Brand 0.017594 541 | 42 Jinx 0.017441 542 | 124 Zed 0.017341 543 | 59 Lux 0.015812 544 | 27 Fizz 0.015702 545 | 13 Caitlyn 0.015701 546 | 63 Master Yi 0.014631 547 | 81 Rengar 0.014520 548 | 121 Yasuo 0.014102 549 | 1 Ahri 0.012968 550 | 60 Malphite 0.012359 551 | 101 Thresh 0.011896 552 | 40 Jax 0.011802 553 | 10 Blitzcrank 0.011795 554 | 105 Twisted Fate 0.011530 555 | 53 LeBlanc 0.011458 556 | 33 Graves 0.011353 557 | 82 Riven 0.010944 558 | 21 Ekko 0.010688 559 | 66 Morgana 0.010401 560 | 6 Annie 0.010365 561 | 51 Kindred 0.009378 562 | 43 Kalista 0.009311 563 | 77 Quinn 0.009196 564 | 120 Xin Zhao 0.009162 565 | 19 Dr. Mundo 0.009111 566 | 80 Renekton 0.008905 567 | 75 Pantheon 0.008552 568 | 118 Wukong 0.008518 569 | 30 Garen 0.008476 570 | 17 Darius 0.008465 571 | 26 Fiora 0.008413 572 | 18 Diana 0.008413 573 | 37 Irelia 0.008276 574 | 113 Vi 0.008055 575 | 116 Volibear 0.008041 576 | 70 Nidalee 0.007777 577 | 29 Gangplank 0.007727 578 | 86 Shaco 0.007720 579 | 46 Kassadin 0.007714 580 | 76 Poppy 0.007680 581 | 103 Trundle 0.007510 582 | 87 Shen 0.007149 583 | 16 Corki 0.007144 584 | 20 Draven 0.007122 585 | 97 Tahm Kench 0.007099 586 | 98 Talon 0.007007 587 | 22 Elise 0.006915 588 | 107 Udyr 0.006896 589 | 7 Ashe 0.006825 590 | 104 Tryndamere 0.006680 591 | 34 Hecarim 0.006648 592 | 61 Malzahar 0.006620 593 | 68 Nasus 0.006571 594 | 47 Katarina 0.006380 595 | 106 Twitch 0.006356 596 | 5 Anivia 0.006352 597 | 15 Cho'Gath 0.006347 598 | 115 Vladimir 0.006332 599 | 114 Viktor 0.006241 600 | 55 Leona 0.006185 601 | 4 Amumu 0.006169 602 | 93 Sona 0.006131 603 | 91 Sivir 0.005849 604 | 69 Nautilus 0.005766 605 | 9 Bard 0.005753 606 | 78 Rammus 0.005746 607 | 31 Gnar 0.005718 608 | 74 Orianna 0.005632 609 | 58 Lulu 0.005517 610 | 100 Teemo 0.005418 611 | 112 Vel'Koz 0.005318 612 | 84 Ryze 0.005228 613 | 39 Jarvan IV 0.005177 614 | 117 Warwick 0.005146 615 | 88 Shyvana 0.005130 616 | 50 Kha'Zix 0.005124 617 | 8 Azir 0.005073 618 | 111 Veigar 0.004975 619 | 36 Illaoi 0.004930 620 | 23 Evelynn 0.004923 621 | 79 Rek'Sai 0.004862 622 | 3 Alistar 0.004847 623 | 48 Kayle 0.004839 624 | 71 Nocturne 0.004834 625 | 109 Varus 0.004699 626 | 123 Zac 0.004559 627 | 73 Olaf 0.004505 628 | 12 Braum 0.004457 629 | 96 Syndra 0.004366 630 | 2 Akali 0.004258 631 | 41 Jayce 0.003889 632 | 127 Zyra 0.003873 633 | 56 Lissandra 0.003830 634 | 67 Nami 0.003828 635 | 52 Kog'Maw 0.003713 636 | 38 Janna 0.003710 637 | 44 Karma 0.003581 638 | 119 Xerath 0.003504 639 | 95 Swain 0.003487 640 | 49 Kennen 0.003436 641 | 32 Gragas 0.003201 642 | 126 Zilean 0.003167 643 | 125 Ziggs 0.003053 644 | 35 Heimerdinger 0.003038 645 | 85 Sejuani 0.002984 646 | 45 Karthus 0.002941 647 | 90 Sion 0.002854 648 | 94 Soraka 0.002844 649 | 0 Aatrox 0.002830 650 | 83 Rumble 0.002804 651 | 14 Cassiopeia 0.002696 652 | 25 Fiddlesticks 0.002650 653 | 89 Singed 0.002496 654 | 99 Taric 0.002433 655 | 62 Maokai 0.002431 656 | 72 Nunu 0.002405 657 | 92 Skarner 0.002181 658 | 28 Galio 0.001975 659 | 122 Yorick 0.001688 660 | 65 Mordekaiser 0.001686 661 | 108 Urgot 0.001642 662 | 663 | ------------------------------------------------- 664 | 665 | Champion Rank by HITS 666 | champion hub 667 | 101 Thresh 0.050444 668 | 10 Blitzcrank 0.036815 669 | 54 Lee Sin 0.032331 670 | 38 Janna 0.026406 671 | 66 Morgana 0.026240 672 | 11 Brand 0.020976 673 | 55 Leona 0.020791 674 | 59 Lux 0.019962 675 | 12 Braum 0.019559 676 | 94 Soraka 0.019067 677 | 3 Alistar 0.018464 678 | 60 Malphite 0.017590 679 | 57 Lucian 0.017211 680 | 64 Miss Fortune 0.015877 681 | 67 Nami 0.015042 682 | 9 Bard 0.014991 683 | 93 Sona 0.014818 684 | 69 Nautilus 0.014169 685 | 87 Shen 0.013414 686 | 58 Lulu 0.013381 687 | 110 Vayne 0.013373 688 | 24 Ezreal 0.012701 689 | 1 Ahri 0.012311 690 | 97 Tahm Kench 0.011520 691 | 105 Twisted Fate 0.011135 692 | 121 Yasuo 0.010955 693 | 124 Zed 0.010508 694 | 6 Annie 0.010506 695 | 103 Trundle 0.010098 696 | 102 Tristana 0.010028 697 | 19 Dr. Mundo 0.010022 698 | 81 Rengar 0.009537 699 | 27 Fizz 0.009420 700 | 78 Rammus 0.009046 701 | 13 Caitlyn 0.008661 702 | 21 Ekko 0.008496 703 | 42 Jinx 0.008466 704 | 4 Amumu 0.008333 705 | 80 Renekton 0.008294 706 | 40 Jax 0.007756 707 | 76 Poppy 0.007642 708 | 53 LeBlanc 0.007620 709 | 116 Volibear 0.007486 710 | 120 Xin Zhao 0.007286 711 | 82 Riven 0.007172 712 | 63 Master Yi 0.007071 713 | 51 Kindred 0.007007 714 | 118 Wukong 0.006707 715 | 113 Vi 0.006652 716 | 29 Gangplank 0.006415 717 | 39 Jarvan IV 0.006373 718 | 68 Nasus 0.006207 719 | 74 Orianna 0.006135 720 | 17 Darius 0.005989 721 | 33 Graves 0.005961 722 | 123 Zac 0.005958 723 | 44 Karma 0.005919 724 | 31 Gnar 0.005909 725 | 99 Taric 0.005760 726 | 115 Vladimir 0.005745 727 | 77 Quinn 0.005739 728 | 37 Irelia 0.005697 729 | 18 Diana 0.005688 730 | 26 Fiora 0.005669 731 | 112 Vel'Koz 0.005548 732 | 70 Nidalee 0.005538 733 | 107 Udyr 0.005505 734 | 34 Hecarim 0.005489 735 | 75 Pantheon 0.005480 736 | 5 Anivia 0.005474 737 | 126 Zilean 0.005355 738 | 61 Malzahar 0.005304 739 | 30 Garen 0.005289 740 | 86 Shaco 0.005228 741 | 22 Elise 0.005206 742 | 127 Zyra 0.004845 743 | 79 Rek'Sai 0.004809 744 | 36 Illaoi 0.004805 745 | 46 Kassadin 0.004702 746 | 15 Cho'Gath 0.004563 747 | 104 Tryndamere 0.004516 748 | 114 Viktor 0.004504 749 | 117 Warwick 0.004462 750 | 98 Talon 0.004386 751 | 7 Ashe 0.004149 752 | 100 Teemo 0.004136 753 | 84 Ryze 0.004036 754 | 48 Kayle 0.003966 755 | 8 Azir 0.003876 756 | 43 Kalista 0.003801 757 | 88 Shyvana 0.003764 758 | 56 Lissandra 0.003660 759 | 23 Evelynn 0.003563 760 | 16 Corki 0.003519 761 | 91 Sivir 0.003496 762 | 32 Gragas 0.003463 763 | 47 Katarina 0.003381 764 | 111 Veigar 0.003379 765 | 73 Olaf 0.003119 766 | 85 Sejuani 0.003108 767 | 71 Nocturne 0.003082 768 | 96 Syndra 0.002933 769 | 20 Draven 0.002928 770 | 90 Sion 0.002839 771 | 72 Nunu 0.002822 772 | 49 Kennen 0.002741 773 | 35 Heimerdinger 0.002630 774 | 119 Xerath 0.002598 775 | 50 Kha'Zix 0.002558 776 | 62 Maokai 0.002500 777 | 41 Jayce 0.002446 778 | 106 Twitch 0.002400 779 | 95 Swain 0.002374 780 | 89 Singed 0.002330 781 | 25 Fiddlesticks 0.002210 782 | 109 Varus 0.002194 783 | 125 Ziggs 0.002047 784 | 83 Rumble 0.001959 785 | 2 Akali 0.001821 786 | 45 Karthus 0.001728 787 | 0 Aatrox 0.001647 788 | 28 Galio 0.001513 789 | 92 Skarner 0.001507 790 | 52 Kog'Maw 0.001378 791 | 14 Cassiopeia 0.001311 792 | 122 Yorick 0.000696 793 | 108 Urgot 0.000444 794 | 65 Mordekaiser 0.000420 795 | champion auth 796 | 57 Lucian 0.049054 797 | 110 Vayne 0.045616 798 | 64 Miss Fortune 0.037666 799 | 54 Lee Sin 0.034599 800 | 102 Tristana 0.031954 801 | 24 Ezreal 0.026606 802 | 42 Jinx 0.022739 803 | 13 Caitlyn 0.020093 804 | 124 Zed 0.018780 805 | 27 Fizz 0.017187 806 | 11 Brand 0.015953 807 | 59 Lux 0.015899 808 | 121 Yasuo 0.015710 809 | 81 Rengar 0.015161 810 | 63 Master Yi 0.015125 811 | 1 Ahri 0.014372 812 | 33 Graves 0.014252 813 | 43 Kalista 0.013932 814 | 105 Twisted Fate 0.012545 815 | 60 Malphite 0.012176 816 | 53 LeBlanc 0.012107 817 | 40 Jax 0.012011 818 | 82 Riven 0.011131 819 | 21 Ekko 0.010991 820 | 77 Quinn 0.010042 821 | 51 Kindred 0.009844 822 | 6 Annie 0.009711 823 | 20 Draven 0.009197 824 | 120 Xin Zhao 0.008932 825 | 80 Renekton 0.008924 826 | 19 Dr. Mundo 0.008876 827 | 18 Diana 0.008477 828 | 16 Corki 0.008426 829 | 26 Fiora 0.008415 830 | 17 Darius 0.008413 831 | 118 Wukong 0.008307 832 | 75 Pantheon 0.008295 833 | 37 Irelia 0.008247 834 | 30 Garen 0.008030 835 | 46 Kassadin 0.007851 836 | 7 Ashe 0.007818 837 | 29 Gangplank 0.007703 838 | 113 Vi 0.007682 839 | 66 Morgana 0.007616 840 | 70 Nidalee 0.007505 841 | 106 Twitch 0.007479 842 | 116 Volibear 0.007338 843 | 86 Shaco 0.007188 844 | 76 Poppy 0.007104 845 | 101 Thresh 0.007088 846 | 10 Blitzcrank 0.007007 847 | 98 Talon 0.006835 848 | 103 Trundle 0.006828 849 | 91 Sivir 0.006558 850 | 22 Elise 0.006553 851 | 107 Udyr 0.006381 852 | 61 Malzahar 0.006370 853 | 114 Viktor 0.006317 854 | 5 Anivia 0.006294 855 | 87 Shen 0.006246 856 | 34 Hecarim 0.006170 857 | 115 Vladimir 0.006135 858 | 68 Nasus 0.006110 859 | 104 Tryndamere 0.006092 860 | 47 Katarina 0.006087 861 | 15 Cho'Gath 0.005909 862 | 4 Amumu 0.005532 863 | 74 Orianna 0.005494 864 | 97 Tahm Kench 0.005392 865 | 31 Gnar 0.005216 866 | 78 Rammus 0.005100 867 | 84 Ryze 0.004924 868 | 109 Varus 0.004770 869 | 8 Azir 0.004751 870 | 100 Teemo 0.004691 871 | 50 Kha'Zix 0.004535 872 | 88 Shyvana 0.004479 873 | 39 Jarvan IV 0.004468 874 | 117 Warwick 0.004393 875 | 111 Veigar 0.004360 876 | 58 Lulu 0.004335 877 | 48 Kayle 0.004302 878 | 23 Evelynn 0.004264 879 | 79 Rek'Sai 0.004226 880 | 36 Illaoi 0.004135 881 | 112 Vel'Koz 0.004132 882 | 71 Nocturne 0.004120 883 | 96 Syndra 0.003950 884 | 73 Olaf 0.003809 885 | 69 Nautilus 0.003787 886 | 123 Zac 0.003759 887 | 2 Akali 0.003582 888 | 93 Sona 0.003355 889 | 52 Kog'Maw 0.003291 890 | 55 Leona 0.003259 891 | 56 Lissandra 0.003234 892 | 41 Jayce 0.003196 893 | 9 Bard 0.003134 894 | 95 Swain 0.002764 895 | 3 Alistar 0.002743 896 | 119 Xerath 0.002713 897 | 49 Kennen 0.002528 898 | 32 Gragas 0.002257 899 | 125 Ziggs 0.002224 900 | 12 Braum 0.002216 901 | 127 Zyra 0.002209 902 | 44 Karma 0.002186 903 | 35 Heimerdinger 0.002151 904 | 45 Karthus 0.002018 905 | 85 Sejuani 0.001952 906 | 83 Rumble 0.001875 907 | 0 Aatrox 0.001870 908 | 14 Cassiopeia 0.001825 909 | 90 Sion 0.001799 910 | 67 Nami 0.001799 911 | 38 Janna 0.001720 912 | 126 Zilean 0.001643 913 | 25 Fiddlesticks 0.001570 914 | 89 Singed 0.001500 915 | 62 Maokai 0.001349 916 | 72 Nunu 0.001305 917 | 92 Skarner 0.001104 918 | 94 Soraka 0.001085 919 | 99 Taric 0.000939 920 | 28 Galio 0.000876 921 | 65 Mordekaiser 0.000613 922 | 122 Yorick 0.000562 923 | 108 Urgot 0.000560 -------------------------------------------------------------------------------- /results/rank_death_22k.txt: -------------------------------------------------------------------------------- 1 | Champion Rank by counts: 2 | champion count 3 | 54 Lee Sin 413971 4 | 57 Lucian 390609 5 | 110 Vayne 376555 6 | 101 Thresh 326365 7 | 64 Miss Fortune 314363 8 | 10 Blitzcrank 270329 9 | 11 Brand 246890 10 | 102 Tristana 235608 11 | 121 Yasuo 224078 12 | 24 Ezreal 221383 13 | 124 Zed 208135 14 | 13 Caitlyn 206745 15 | 42 Jinx 198552 16 | 66 Morgana 193202 17 | 27 Fizz 184018 18 | 40 Jax 180801 19 | 59 Lux 176627 20 | 63 Master Yi 176347 21 | 81 Rengar 172481 22 | 82 Riven 160110 23 | 60 Malphite 154180 24 | 55 Leona 148751 25 | 1 Ahri 148445 26 | 6 Annie 143383 27 | 105 Twisted Fate 135792 28 | 80 Renekton 134260 29 | 21 Ekko 131653 30 | 120 Xin Zhao 125260 31 | 17 Darius 123510 32 | 33 Graves 122195 33 | 3 Alistar 120729 34 | 38 Janna 118249 35 | 51 Kindred 117979 36 | 26 Fiora 117620 37 | 12 Braum 117393 38 | 53 LeBlanc 117030 39 | 94 Soraka 116691 40 | 19 Dr. Mundo 114491 41 | 9 Bard 113901 42 | 77 Quinn 111748 43 | 37 Irelia 106933 44 | 69 Nautilus 104592 45 | 97 Tahm Kench 104458 46 | 76 Poppy 104345 47 | 18 Diana 101993 48 | 43 Kalista 101770 49 | 93 Sona 100974 50 | 104 Tryndamere 97771 51 | 68 Nasus 97243 52 | 58 Lulu 96728 53 | 103 Trundle 95635 54 | 36 Illaoi 93340 55 | 87 Shen 93219 56 | 115 Vladimir 92588 57 | 118 Wukong 92558 58 | 113 Vi 89694 59 | 75 Pantheon 89539 60 | 30 Garen 88374 61 | 7 Ashe 88036 62 | 70 Nidalee 87641 63 | 20 Draven 81955 64 | 86 Shaco 81711 65 | 29 Gangplank 80960 66 | 31 Gnar 80826 67 | 98 Talon 79616 68 | 116 Volibear 77679 69 | 107 Udyr 76386 70 | 78 Rammus 75543 71 | 22 Elise 75093 72 | 100 Teemo 74929 73 | 67 Nami 74557 74 | 4 Amumu 74091 75 | 46 Kassadin 72993 76 | 61 Malzahar 71202 77 | 34 Hecarim 71066 78 | 16 Corki 69053 79 | 84 Ryze 68897 80 | 15 Cho'Gath 65801 81 | 91 Sivir 64040 82 | 39 Jarvan IV 63418 83 | 114 Viktor 62813 84 | 8 Azir 62792 85 | 74 Orianna 62781 86 | 5 Anivia 59880 87 | 106 Twitch 59342 88 | 47 Katarina 58400 89 | 112 Vel'Koz 55350 90 | 48 Kayle 54798 91 | 117 Warwick 53312 92 | 73 Olaf 52409 93 | 44 Karma 49878 94 | 88 Shyvana 49841 95 | 111 Veigar 49468 96 | 50 Kha'Zix 48115 97 | 127 Zyra 47700 98 | 79 Rek'Sai 46795 99 | 96 Syndra 44979 100 | 71 Nocturne 44928 101 | 23 Evelynn 44897 102 | 2 Akali 44344 103 | 56 Lissandra 43851 104 | 109 Varus 43249 105 | 123 Zac 41855 106 | 35 Heimerdinger 40039 107 | 41 Jayce 38353 108 | 49 Kennen 38256 109 | 99 Taric 38244 110 | 126 Zilean 36207 111 | 52 Kog'Maw 34841 112 | 32 Gragas 34669 113 | 95 Swain 34335 114 | 89 Singed 31678 115 | 90 Sion 28189 116 | 25 Fiddlesticks 27877 117 | 0 Aatrox 27853 118 | 119 Xerath 27612 119 | 83 Rumble 26852 120 | 62 Maokai 24150 121 | 45 Karthus 24112 122 | 125 Ziggs 24057 123 | 14 Cassiopeia 23529 124 | 72 Nunu 23370 125 | 85 Sejuani 23235 126 | 28 Galio 14348 127 | 92 Skarner 13910 128 | 122 Yorick 10314 129 | 65 Mordekaiser 9705 130 | 108 Urgot 8103 131 | 132 | 133 | --------------------------------------------------------- 134 | 135 | Champion Rank by eigenvector centrality 136 | champion eigen_1 137 | 57 Lucian 0.284331 138 | 110 Vayne 0.278845 139 | 54 Lee Sin 0.266263 140 | 101 Thresh 0.247360 141 | 64 Miss Fortune 0.232469 142 | 10 Blitzcrank 0.202109 143 | 102 Tristana 0.181989 144 | 11 Brand 0.172064 145 | 24 Ezreal 0.167283 146 | 13 Caitlyn 0.159116 147 | 42 Jinx 0.153063 148 | 66 Morgana 0.142654 149 | 121 Yasuo 0.139911 150 | 124 Zed 0.139336 151 | 27 Fizz 0.121567 152 | 63 Master Yi 0.119177 153 | 59 Lux 0.118476 154 | 81 Rengar 0.117442 155 | 40 Jax 0.116078 156 | 55 Leona 0.113546 157 | 82 Riven 0.100437 158 | 60 Malphite 0.100291 159 | 1 Ahri 0.098033 160 | 6 Annie 0.096597 161 | 3 Alistar 0.092081 162 | 33 Graves 0.090952 163 | 38 Janna 0.090293 164 | 12 Braum 0.089594 165 | 105 Twisted Fate 0.089313 166 | 21 Ekko 0.088452 167 | 9 Bard 0.087640 168 | 94 Soraka 0.086841 169 | 80 Renekton 0.085309 170 | 120 Xin Zhao 0.085063 171 | 51 Kindred 0.081403 172 | 43 Kalista 0.080338 173 | 53 LeBlanc 0.079379 174 | 77 Quinn 0.078648 175 | 19 Dr. Mundo 0.077301 176 | 17 Darius 0.077208 177 | 69 Nautilus 0.077070 178 | 93 Sona 0.076858 179 | 97 Tahm Kench 0.075333 180 | 26 Fiora 0.074233 181 | 76 Poppy 0.069611 182 | 58 Lulu 0.069033 183 | 18 Diana 0.067579 184 | 37 Irelia 0.067446 185 | 7 Ashe 0.067342 186 | 103 Trundle 0.065210 187 | 20 Draven 0.063626 188 | 87 Shen 0.063417 189 | 113 Vi 0.062363 190 | 104 Tryndamere 0.061922 191 | 118 Wukong 0.061917 192 | 70 Nidalee 0.060734 193 | 36 Illaoi 0.060284 194 | 68 Nasus 0.060063 195 | 75 Pantheon 0.058752 196 | 115 Vladimir 0.057205 197 | 86 Shaco 0.057108 198 | 67 Nami 0.056821 199 | 30 Garen 0.056466 200 | 98 Talon 0.054580 201 | 116 Volibear 0.053441 202 | 16 Corki 0.052710 203 | 78 Rammus 0.052263 204 | 22 Elise 0.052211 205 | 107 Udyr 0.052062 206 | 29 Gangplank 0.051144 207 | 31 Gnar 0.050897 208 | 4 Amumu 0.050543 209 | 46 Kassadin 0.049737 210 | 91 Sivir 0.049395 211 | 34 Hecarim 0.047378 212 | 100 Teemo 0.046853 213 | 61 Malzahar 0.045990 214 | 106 Twitch 0.045769 215 | 84 Ryze 0.044317 216 | 39 Jarvan IV 0.043693 217 | 15 Cho'Gath 0.043017 218 | 74 Orianna 0.041870 219 | 8 Azir 0.041668 220 | 114 Viktor 0.041073 221 | 5 Anivia 0.040418 222 | 112 Vel'Koz 0.039386 223 | 47 Katarina 0.038629 224 | 44 Karma 0.036324 225 | 117 Warwick 0.036216 226 | 48 Kayle 0.035366 227 | 127 Zyra 0.035291 228 | 88 Shyvana 0.034155 229 | 50 Kha'Zix 0.034109 230 | 73 Olaf 0.033807 231 | 79 Rek'Sai 0.033463 232 | 111 Veigar 0.031798 233 | 109 Varus 0.031700 234 | 23 Evelynn 0.031612 235 | 71 Nocturne 0.031345 236 | 123 Zac 0.030216 237 | 96 Syndra 0.029837 238 | 56 Lissandra 0.029131 239 | 2 Akali 0.028968 240 | 99 Taric 0.027964 241 | 126 Zilean 0.026857 242 | 52 Kog'Maw 0.025732 243 | 49 Kennen 0.025113 244 | 41 Jayce 0.024943 245 | 35 Heimerdinger 0.024863 246 | 32 Gragas 0.024665 247 | 95 Swain 0.022063 248 | 89 Singed 0.020183 249 | 25 Fiddlesticks 0.019010 250 | 90 Sion 0.018768 251 | 119 Xerath 0.018212 252 | 0 Aatrox 0.017874 253 | 83 Rumble 0.016729 254 | 72 Nunu 0.016457 255 | 85 Sejuani 0.016083 256 | 62 Maokai 0.016070 257 | 125 Ziggs 0.015714 258 | 45 Karthus 0.015698 259 | 14 Cassiopeia 0.015208 260 | 28 Galio 0.009964 261 | 92 Skarner 0.009573 262 | 122 Yorick 0.006500 263 | 65 Mordekaiser 0.006345 264 | 108 Urgot 0.005552 265 | 266 | ------------------------------------------------------------------------- 267 | 268 | Champion Rank by eigenvector centrality ratio 269 | champion eigen eigen_t eigen_ratio 270 | 94 Soraka 0.086841 0.011900 7.297653 271 | 38 Janna 0.090293 0.021174 4.264333 272 | 12 Braum 0.089594 0.025578 3.502756 273 | 3 Alistar 0.092081 0.031395 2.932938 274 | 101 Thresh 0.247360 0.086753 2.851297 275 | 55 Leona 0.113546 0.040736 2.787353 276 | 99 Taric 0.027964 0.010393 2.690499 277 | 67 Nami 0.056821 0.021400 2.655255 278 | 9 Bard 0.087640 0.037626 2.329216 279 | 10 Blitzcrank 0.202109 0.087401 2.312424 280 | 69 Nautilus 0.077070 0.038957 1.978355 281 | 93 Sona 0.076858 0.039109 1.965219 282 | 58 Lulu 0.069033 0.038792 1.779533 283 | 66 Morgana 0.142654 0.080362 1.775142 284 | 126 Zilean 0.026857 0.015866 1.692685 285 | 44 Karma 0.036324 0.021466 1.692199 286 | 36 Illaoi 0.060284 0.037814 1.594224 287 | 62 Maokai 0.016070 0.010521 1.527380 288 | 72 Nunu 0.016457 0.010830 1.519564 289 | 89 Singed 0.020183 0.013435 1.502244 290 | 97 Tahm Kench 0.075333 0.051175 1.472071 291 | 28 Galio 0.009964 0.006853 1.454106 292 | 127 Zyra 0.035291 0.024726 1.427244 293 | 25 Fiddlesticks 0.019010 0.013637 1.394028 294 | 122 Yorick 0.006500 0.004912 1.323265 295 | 65 Mordekaiser 0.006345 0.004799 1.322290 296 | 35 Heimerdinger 0.024863 0.018866 1.317845 297 | 32 Gragas 0.024665 0.018738 1.316297 298 | 87 Shen 0.063417 0.050239 1.262291 299 | 90 Sion 0.018768 0.015007 1.250580 300 | 7 Ashe 0.067342 0.054732 1.230396 301 | 8 Azir 0.041668 0.034549 1.206057 302 | 31 Gnar 0.050897 0.042355 1.201673 303 | 78 Rammus 0.052263 0.044637 1.170866 304 | 115 Vladimir 0.057205 0.048947 1.168700 305 | 4 Amumu 0.050543 0.043247 1.168698 306 | 108 Urgot 0.005552 0.004769 1.164033 307 | 11 Brand 0.172064 0.147950 1.162990 308 | 56 Lissandra 0.029131 0.025408 1.146558 309 | 17 Darius 0.077208 0.067368 1.146065 310 | 13 Caitlyn 0.159116 0.139129 1.143657 311 | 49 Kennen 0.025113 0.022195 1.131485 312 | 83 Rumble 0.016729 0.014987 1.116188 313 | 91 Sivir 0.049395 0.044695 1.105136 314 | 84 Ryze 0.044317 0.040653 1.090128 315 | 103 Trundle 0.065210 0.059831 1.089890 316 | 85 Sejuani 0.016083 0.014816 1.085526 317 | 68 Nasus 0.060063 0.055344 1.085255 318 | 52 Kog'Maw 0.025732 0.023938 1.074969 319 | 39 Jarvan IV 0.043693 0.040675 1.074211 320 | 92 Skarner 0.009573 0.008960 1.068483 321 | 80 Renekton 0.085309 0.080449 1.060419 322 | 100 Teemo 0.046853 0.044336 1.056773 323 | 120 Xin Zhao 0.085063 0.080746 1.053470 324 | 0 Aatrox 0.017874 0.016967 1.053430 325 | 40 Jax 0.116078 0.110695 1.048625 326 | 121 Yasuo 0.139911 0.133741 1.046140 327 | 6 Annie 0.096597 0.092649 1.042614 328 | 14 Cassiopeia 0.015208 0.014679 1.036029 329 | 48 Kayle 0.035366 0.034153 1.035538 330 | 74 Orianna 0.041870 0.040537 1.032887 331 | 45 Karthus 0.015698 0.015299 1.026050 332 | 76 Poppy 0.069611 0.067976 1.024051 333 | 19 Dr. Mundo 0.077301 0.075618 1.022252 334 | 42 Jinx 0.153063 0.150423 1.017550 335 | 112 Vel'Koz 0.039386 0.038819 1.014605 336 | 73 Olaf 0.033807 0.034048 0.992906 337 | 22 Elise 0.052211 0.052739 0.989987 338 | 51 Kindred 0.081403 0.082248 0.989722 339 | 21 Ekko 0.088452 0.090068 0.982055 340 | 82 Riven 0.100437 0.102489 0.979982 341 | 104 Tryndamere 0.061922 0.063303 0.978183 342 | 26 Fiora 0.074233 0.076639 0.968613 343 | 123 Zac 0.030216 0.031249 0.966929 344 | 79 Rek'Sai 0.033463 0.034651 0.965720 345 | 20 Draven 0.063626 0.066567 0.955820 346 | 117 Warwick 0.036216 0.037969 0.953842 347 | 60 Malphite 0.100291 0.105322 0.952230 348 | 54 Lee Sin 0.266263 0.283480 0.939266 349 | 70 Nidalee 0.060734 0.064954 0.935025 350 | 41 Jayce 0.024943 0.026712 0.933762 351 | 15 Cho'Gath 0.043017 0.046174 0.931645 352 | 125 Ziggs 0.015714 0.016960 0.926546 353 | 113 Vi 0.062363 0.067376 0.925586 354 | 105 Twisted Fate 0.089313 0.096573 0.924820 355 | 43 Kalista 0.080338 0.087079 0.922589 356 | 110 Vayne 0.278845 0.305472 0.912834 357 | 64 Miss Fortune 0.232469 0.255346 0.910406 358 | 107 Udyr 0.052062 0.057490 0.905580 359 | 109 Varus 0.031700 0.035009 0.905460 360 | 29 Gangplank 0.051144 0.056946 0.898119 361 | 61 Malzahar 0.045990 0.051902 0.886089 362 | 95 Swain 0.022063 0.024995 0.882696 363 | 111 Veigar 0.031798 0.036033 0.882451 364 | 37 Irelia 0.067446 0.076572 0.880825 365 | 88 Shyvana 0.034155 0.038905 0.877909 366 | 18 Diana 0.067579 0.077173 0.875678 367 | 59 Lux 0.118476 0.135427 0.874830 368 | 33 Graves 0.090952 0.104156 0.873232 369 | 116 Volibear 0.053441 0.061530 0.868536 370 | 77 Quinn 0.078648 0.090802 0.866146 371 | 1 Ahri 0.098033 0.114972 0.852673 372 | 34 Hecarim 0.047378 0.055607 0.852015 373 | 114 Viktor 0.041073 0.048212 0.851933 374 | 57 Lucian 0.284331 0.334871 0.849076 375 | 63 Master Yi 0.119177 0.141122 0.844499 376 | 96 Syndra 0.029837 0.035582 0.838526 377 | 30 Garen 0.056466 0.067588 0.835451 378 | 50 Kha'Zix 0.034109 0.040842 0.835153 379 | 16 Corki 0.052710 0.063216 0.833804 380 | 24 Ezreal 0.167283 0.201970 0.828254 381 | 75 Pantheon 0.058752 0.071896 0.817175 382 | 119 Xerath 0.018212 0.022543 0.807853 383 | 2 Akali 0.028968 0.036112 0.802171 384 | 118 Wukong 0.061917 0.077289 0.801104 385 | 23 Evelynn 0.031612 0.039657 0.797140 386 | 106 Twitch 0.045769 0.057889 0.790625 387 | 102 Tristana 0.181989 0.231427 0.786377 388 | 5 Anivia 0.040418 0.051755 0.780960 389 | 46 Kassadin 0.049737 0.064029 0.776795 390 | 71 Nocturne 0.031345 0.040805 0.768157 391 | 47 Katarina 0.038629 0.050666 0.762430 392 | 86 Shaco 0.057108 0.075527 0.756124 393 | 27 Fizz 0.121567 0.163430 0.743851 394 | 98 Talon 0.054580 0.073928 0.738284 395 | 81 Rengar 0.117442 0.161733 0.726145 396 | 124 Zed 0.139336 0.198167 0.703125 397 | 53 LeBlanc 0.079379 0.113158 0.701492 398 | 399 | ----------------------------------------------------------------------- 400 | 401 | Champion Rank by eigenvector centrality difference 402 | champion eigen eigen_t eigen_diff 403 | 101 Thresh 0.247360 0.086753 0.160606 404 | 10 Blitzcrank 0.202109 0.087401 0.114708 405 | 94 Soraka 0.086841 0.011900 0.074941 406 | 55 Leona 0.113546 0.040736 0.072810 407 | 38 Janna 0.090293 0.021174 0.069119 408 | 12 Braum 0.089594 0.025578 0.064016 409 | 66 Morgana 0.142654 0.080362 0.062292 410 | 3 Alistar 0.092081 0.031395 0.060686 411 | 9 Bard 0.087640 0.037626 0.050013 412 | 69 Nautilus 0.077070 0.038957 0.038113 413 | 93 Sona 0.076858 0.039109 0.037749 414 | 67 Nami 0.056821 0.021400 0.035422 415 | 58 Lulu 0.069033 0.038792 0.030240 416 | 97 Tahm Kench 0.075333 0.051175 0.024158 417 | 11 Brand 0.172064 0.147950 0.024114 418 | 36 Illaoi 0.060284 0.037814 0.022470 419 | 13 Caitlyn 0.159116 0.139129 0.019987 420 | 99 Taric 0.027964 0.010393 0.017570 421 | 44 Karma 0.036324 0.021466 0.014859 422 | 87 Shen 0.063417 0.050239 0.013177 423 | 7 Ashe 0.067342 0.054732 0.012610 424 | 126 Zilean 0.026857 0.015866 0.010990 425 | 127 Zyra 0.035291 0.024726 0.010564 426 | 17 Darius 0.077208 0.067368 0.009840 427 | 31 Gnar 0.050897 0.042355 0.008542 428 | 115 Vladimir 0.057205 0.048947 0.008257 429 | 78 Rammus 0.052263 0.044637 0.007627 430 | 4 Amumu 0.050543 0.043247 0.007296 431 | 8 Azir 0.041668 0.034549 0.007119 432 | 89 Singed 0.020183 0.013435 0.006748 433 | 121 Yasuo 0.139911 0.133741 0.006171 434 | 35 Heimerdinger 0.024863 0.018866 0.005997 435 | 32 Gragas 0.024665 0.018738 0.005927 436 | 72 Nunu 0.016457 0.010830 0.005627 437 | 62 Maokai 0.016070 0.010521 0.005549 438 | 40 Jax 0.116078 0.110695 0.005383 439 | 103 Trundle 0.065210 0.059831 0.005378 440 | 25 Fiddlesticks 0.019010 0.013637 0.005373 441 | 80 Renekton 0.085309 0.080449 0.004861 442 | 68 Nasus 0.060063 0.055344 0.004718 443 | 91 Sivir 0.049395 0.044695 0.004699 444 | 120 Xin Zhao 0.085063 0.080746 0.004318 445 | 6 Annie 0.096597 0.092649 0.003948 446 | 90 Sion 0.018768 0.015007 0.003761 447 | 56 Lissandra 0.029131 0.025408 0.003724 448 | 84 Ryze 0.044317 0.040653 0.003664 449 | 28 Galio 0.009964 0.006853 0.003112 450 | 39 Jarvan IV 0.043693 0.040675 0.003019 451 | 49 Kennen 0.025113 0.022195 0.002918 452 | 42 Jinx 0.153063 0.150423 0.002640 453 | 100 Teemo 0.046853 0.044336 0.002517 454 | 52 Kog'Maw 0.025732 0.023938 0.001795 455 | 83 Rumble 0.016729 0.014987 0.001741 456 | 19 Dr. Mundo 0.077301 0.075618 0.001683 457 | 76 Poppy 0.069611 0.067976 0.001635 458 | 122 Yorick 0.006500 0.004912 0.001588 459 | 65 Mordekaiser 0.006345 0.004799 0.001547 460 | 74 Orianna 0.041870 0.040537 0.001333 461 | 85 Sejuani 0.016083 0.014816 0.001267 462 | 48 Kayle 0.035366 0.034153 0.001214 463 | 0 Aatrox 0.017874 0.016967 0.000907 464 | 108 Urgot 0.005552 0.004769 0.000782 465 | 92 Skarner 0.009573 0.008960 0.000614 466 | 112 Vel'Koz 0.039386 0.038819 0.000567 467 | 14 Cassiopeia 0.015208 0.014679 0.000529 468 | 45 Karthus 0.015698 0.015299 0.000399 469 | 73 Olaf 0.033807 0.034048 -0.000242 470 | 22 Elise 0.052211 0.052739 -0.000528 471 | 51 Kindred 0.081403 0.082248 -0.000845 472 | 123 Zac 0.030216 0.031249 -0.001033 473 | 79 Rek'Sai 0.033463 0.034651 -0.001188 474 | 125 Ziggs 0.015714 0.016960 -0.001246 475 | 104 Tryndamere 0.061922 0.063303 -0.001381 476 | 21 Ekko 0.088452 0.090068 -0.001616 477 | 117 Warwick 0.036216 0.037969 -0.001753 478 | 41 Jayce 0.024943 0.026712 -0.001769 479 | 82 Riven 0.100437 0.102489 -0.002052 480 | 26 Fiora 0.074233 0.076639 -0.002405 481 | 95 Swain 0.022063 0.024995 -0.002932 482 | 20 Draven 0.063626 0.066567 -0.002941 483 | 15 Cho'Gath 0.043017 0.046174 -0.003156 484 | 109 Varus 0.031700 0.035009 -0.003310 485 | 70 Nidalee 0.060734 0.064954 -0.004220 486 | 111 Veigar 0.031798 0.036033 -0.004236 487 | 119 Xerath 0.018212 0.022543 -0.004332 488 | 88 Shyvana 0.034155 0.038905 -0.004750 489 | 113 Vi 0.062363 0.067376 -0.005014 490 | 60 Malphite 0.100291 0.105322 -0.005031 491 | 107 Udyr 0.052062 0.057490 -0.005428 492 | 96 Syndra 0.029837 0.035582 -0.005746 493 | 29 Gangplank 0.051144 0.056946 -0.005802 494 | 61 Malzahar 0.045990 0.051902 -0.005912 495 | 50 Kha'Zix 0.034109 0.040842 -0.006733 496 | 43 Kalista 0.080338 0.087079 -0.006741 497 | 114 Viktor 0.041073 0.048212 -0.007139 498 | 2 Akali 0.028968 0.036112 -0.007144 499 | 105 Twisted Fate 0.089313 0.096573 -0.007260 500 | 23 Evelynn 0.031612 0.039657 -0.008045 501 | 116 Volibear 0.053441 0.061530 -0.008089 502 | 34 Hecarim 0.047378 0.055607 -0.008229 503 | 37 Irelia 0.067446 0.076572 -0.009125 504 | 71 Nocturne 0.031345 0.040805 -0.009460 505 | 18 Diana 0.067579 0.077173 -0.009594 506 | 16 Corki 0.052710 0.063216 -0.010506 507 | 30 Garen 0.056466 0.067588 -0.011121 508 | 5 Anivia 0.040418 0.051755 -0.011336 509 | 47 Katarina 0.038629 0.050666 -0.012037 510 | 106 Twitch 0.045769 0.057889 -0.012121 511 | 77 Quinn 0.078648 0.090802 -0.012154 512 | 75 Pantheon 0.058752 0.071896 -0.013144 513 | 33 Graves 0.090952 0.104156 -0.013204 514 | 46 Kassadin 0.049737 0.064029 -0.014292 515 | 118 Wukong 0.061917 0.077289 -0.015373 516 | 1 Ahri 0.098033 0.114972 -0.016938 517 | 59 Lux 0.118476 0.135427 -0.016951 518 | 54 Lee Sin 0.266263 0.283480 -0.017217 519 | 86 Shaco 0.057108 0.075527 -0.018419 520 | 98 Talon 0.054580 0.073928 -0.019348 521 | 63 Master Yi 0.119177 0.141122 -0.021945 522 | 64 Miss Fortune 0.232469 0.255346 -0.022878 523 | 110 Vayne 0.278845 0.305472 -0.026627 524 | 53 LeBlanc 0.079379 0.113158 -0.033778 525 | 24 Ezreal 0.167283 0.201970 -0.034688 526 | 27 Fizz 0.121567 0.163430 -0.041862 527 | 81 Rengar 0.117442 0.161733 -0.044291 528 | 102 Tristana 0.181989 0.231427 -0.049438 529 | 57 Lucian 0.284331 0.334871 -0.050540 530 | 124 Zed 0.139336 0.198167 -0.058831 531 | 532 | -------------------------------------------------------------- 533 | 534 | Champion Rank by PageRank 535 | champion pagerank 536 | 54 Lee Sin 0.032931 537 | 57 Lucian 0.032606 538 | 110 Vayne 0.030830 539 | 64 Miss Fortune 0.025030 540 | 102 Tristana 0.021817 541 | 124 Zed 0.021572 542 | 24 Ezreal 0.019466 543 | 27 Fizz 0.018377 544 | 81 Rengar 0.016867 545 | 11 Brand 0.016499 546 | 63 Master Yi 0.015970 547 | 121 Yasuo 0.015838 548 | 42 Jinx 0.015224 549 | 59 Lux 0.015181 550 | 13 Caitlyn 0.013961 551 | 40 Jax 0.013469 552 | 1 Ahri 0.013242 553 | 53 LeBlanc 0.012832 554 | 82 Riven 0.012709 555 | 60 Malphite 0.012096 556 | 33 Graves 0.011041 557 | 105 Twisted Fate 0.010979 558 | 21 Ekko 0.010764 559 | 6 Annie 0.010512 560 | 80 Renekton 0.010326 561 | 77 Quinn 0.010095 562 | 26 Fiora 0.009953 563 | 120 Xin Zhao 0.009717 564 | 51 Kindred 0.009655 565 | 37 Irelia 0.009610 566 | 19 Dr. Mundo 0.009468 567 | 17 Darius 0.009238 568 | 10 Blitzcrank 0.009210 569 | 118 Wukong 0.009155 570 | 18 Diana 0.009146 571 | 101 Thresh 0.008975 572 | 66 Morgana 0.008943 573 | 43 Kalista 0.008882 574 | 75 Pantheon 0.008814 575 | 30 Garen 0.008789 576 | 86 Shaco 0.008543 577 | 98 Talon 0.008413 578 | 104 Tryndamere 0.008318 579 | 76 Poppy 0.008272 580 | 113 Vi 0.007957 581 | 70 Nidalee 0.007826 582 | 116 Volibear 0.007812 583 | 103 Trundle 0.007778 584 | 46 Kassadin 0.007757 585 | 68 Nasus 0.007574 586 | 29 Gangplank 0.007282 587 | 107 Udyr 0.007208 588 | 20 Draven 0.007076 589 | 34 Hecarim 0.006895 590 | 16 Corki 0.006875 591 | 61 Malzahar 0.006784 592 | 5 Anivia 0.006648 593 | 97 Tahm Kench 0.006620 594 | 115 Vladimir 0.006611 595 | 22 Elise 0.006588 596 | 87 Shen 0.006478 597 | 106 Twitch 0.006287 598 | 15 Cho'Gath 0.006281 599 | 47 Katarina 0.006261 600 | 7 Ashe 0.006234 601 | 114 Viktor 0.006190 602 | 100 Teemo 0.006068 603 | 31 Gnar 0.006061 604 | 4 Amumu 0.005681 605 | 84 Ryze 0.005657 606 | 36 Illaoi 0.005567 607 | 78 Rammus 0.005563 608 | 74 Orianna 0.005462 609 | 39 Jarvan IV 0.005319 610 | 91 Sivir 0.005264 611 | 88 Shyvana 0.005259 612 | 50 Kha'Zix 0.005237 613 | 71 Nocturne 0.005161 614 | 117 Warwick 0.005154 615 | 58 Lulu 0.005104 616 | 112 Vel'Koz 0.005073 617 | 23 Evelynn 0.005060 618 | 73 Olaf 0.005006 619 | 111 Veigar 0.004980 620 | 69 Nautilus 0.004915 621 | 2 Akali 0.004910 622 | 96 Syndra 0.004886 623 | 8 Azir 0.004844 624 | 55 Leona 0.004837 625 | 48 Kayle 0.004806 626 | 93 Sona 0.004741 627 | 79 Rek'Sai 0.004633 628 | 9 Bard 0.004532 629 | 109 Varus 0.004451 630 | 123 Zac 0.004340 631 | 41 Jayce 0.004071 632 | 3 Alistar 0.004059 633 | 95 Swain 0.003839 634 | 56 Lissandra 0.003811 635 | 127 Zyra 0.003513 636 | 119 Xerath 0.003496 637 | 52 Kog'Maw 0.003493 638 | 12 Braum 0.003492 639 | 49 Kennen 0.003481 640 | 35 Heimerdinger 0.003320 641 | 44 Karma 0.003317 642 | 0 Aatrox 0.003092 643 | 32 Gragas 0.003080 644 | 67 Nami 0.003079 645 | 38 Janna 0.003005 646 | 125 Ziggs 0.002963 647 | 83 Rumble 0.002837 648 | 90 Sion 0.002797 649 | 14 Cassiopeia 0.002774 650 | 45 Karthus 0.002758 651 | 85 Sejuani 0.002738 652 | 126 Zilean 0.002692 653 | 89 Singed 0.002687 654 | 25 Fiddlesticks 0.002540 655 | 94 Soraka 0.002299 656 | 62 Maokai 0.002294 657 | 72 Nunu 0.002286 658 | 99 Taric 0.002164 659 | 92 Skarner 0.002101 660 | 28 Galio 0.001912 661 | 122 Yorick 0.001730 662 | 65 Mordekaiser 0.001692 663 | 108 Urgot 0.001661 664 | 665 | ------------------------------------------------- 666 | 667 | Champion Rank by HITS 668 | champion hub 669 | 57 Lucian 0.031927 670 | 110 Vayne 0.031484 671 | 54 Lee Sin 0.030231 672 | 101 Thresh 0.028405 673 | 64 Miss Fortune 0.026585 674 | 10 Blitzcrank 0.023031 675 | 102 Tristana 0.020419 676 | 11 Brand 0.019689 677 | 24 Ezreal 0.019087 678 | 13 Caitlyn 0.018307 679 | 42 Jinx 0.017521 680 | 66 Morgana 0.016261 681 | 121 Yasuo 0.015931 682 | 124 Zed 0.015794 683 | 27 Fizz 0.013785 684 | 59 Lux 0.013528 685 | 63 Master Yi 0.013419 686 | 81 Rengar 0.013230 687 | 40 Jax 0.013037 688 | 55 Leona 0.012796 689 | 82 Riven 0.011338 690 | 1 Ahri 0.011281 691 | 60 Malphite 0.011265 692 | 6 Annie 0.010927 693 | 3 Alistar 0.010423 694 | 33 Graves 0.010308 695 | 38 Janna 0.010302 696 | 105 Twisted Fate 0.010233 697 | 12 Braum 0.010096 698 | 21 Ekko 0.010072 699 | 9 Bard 0.009932 700 | 94 Soraka 0.009776 701 | 120 Xin Zhao 0.009610 702 | 80 Renekton 0.009601 703 | 51 Kindred 0.009195 704 | 43 Kalista 0.009191 705 | 53 LeBlanc 0.008961 706 | 77 Quinn 0.008896 707 | 19 Dr. Mundo 0.008727 708 | 69 Nautilus 0.008727 709 | 17 Darius 0.008719 710 | 93 Sona 0.008694 711 | 97 Tahm Kench 0.008517 712 | 26 Fiora 0.008374 713 | 76 Poppy 0.007876 714 | 58 Lulu 0.007868 715 | 18 Diana 0.007690 716 | 7 Ashe 0.007677 717 | 37 Irelia 0.007535 718 | 103 Trundle 0.007410 719 | 20 Draven 0.007192 720 | 87 Shen 0.007181 721 | 113 Vi 0.007063 722 | 118 Wukong 0.006986 723 | 70 Nidalee 0.006902 724 | 104 Tryndamere 0.006870 725 | 36 Illaoi 0.006809 726 | 68 Nasus 0.006736 727 | 75 Pantheon 0.006606 728 | 67 Nami 0.006467 729 | 115 Vladimir 0.006451 730 | 86 Shaco 0.006439 731 | 30 Garen 0.006346 732 | 98 Talon 0.006270 733 | 116 Volibear 0.006037 734 | 16 Corki 0.006009 735 | 78 Rammus 0.005906 736 | 107 Udyr 0.005893 737 | 22 Elise 0.005891 738 | 29 Gangplank 0.005831 739 | 31 Gnar 0.005740 740 | 4 Amumu 0.005714 741 | 46 Kassadin 0.005713 742 | 91 Sivir 0.005633 743 | 34 Hecarim 0.005331 744 | 100 Teemo 0.005251 745 | 61 Malzahar 0.005248 746 | 106 Twitch 0.005183 747 | 84 Ryze 0.005026 748 | 39 Jarvan IV 0.004947 749 | 15 Cho'Gath 0.004868 750 | 74 Orianna 0.004818 751 | 8 Azir 0.004775 752 | 114 Viktor 0.004693 753 | 5 Anivia 0.004625 754 | 112 Vel'Koz 0.004497 755 | 47 Katarina 0.004395 756 | 44 Karma 0.004157 757 | 117 Warwick 0.004096 758 | 127 Zyra 0.004005 759 | 48 Kayle 0.003999 760 | 50 Kha'Zix 0.003900 761 | 88 Shyvana 0.003879 762 | 73 Olaf 0.003818 763 | 79 Rek'Sai 0.003798 764 | 111 Veigar 0.003624 765 | 109 Varus 0.003595 766 | 23 Evelynn 0.003587 767 | 71 Nocturne 0.003555 768 | 123 Zac 0.003442 769 | 96 Syndra 0.003413 770 | 56 Lissandra 0.003333 771 | 2 Akali 0.003257 772 | 99 Taric 0.003151 773 | 126 Zilean 0.003048 774 | 52 Kog'Maw 0.002913 775 | 41 Jayce 0.002827 776 | 49 Kennen 0.002825 777 | 35 Heimerdinger 0.002822 778 | 32 Gragas 0.002802 779 | 95 Swain 0.002509 780 | 89 Singed 0.002277 781 | 25 Fiddlesticks 0.002128 782 | 90 Sion 0.002118 783 | 119 Xerath 0.002086 784 | 0 Aatrox 0.002011 785 | 83 Rumble 0.001881 786 | 72 Nunu 0.001861 787 | 85 Sejuani 0.001826 788 | 62 Maokai 0.001811 789 | 125 Ziggs 0.001803 790 | 45 Karthus 0.001793 791 | 14 Cassiopeia 0.001721 792 | 28 Galio 0.001141 793 | 92 Skarner 0.001084 794 | 122 Yorick 0.000733 795 | 65 Mordekaiser 0.000718 796 | 108 Urgot 0.000621 797 | champion auth 798 | 57 Lucian 0.041681 799 | 110 Vayne 0.037859 800 | 54 Lee Sin 0.033530 801 | 64 Miss Fortune 0.031446 802 | 102 Tristana 0.028415 803 | 24 Ezreal 0.024641 804 | 124 Zed 0.022927 805 | 27 Fizz 0.019227 806 | 81 Rengar 0.018729 807 | 42 Jinx 0.018574 808 | 11 Brand 0.017878 809 | 13 Caitlyn 0.016928 810 | 63 Master Yi 0.016854 811 | 59 Lux 0.016174 812 | 121 Yasuo 0.015678 813 | 1 Ahri 0.013550 814 | 53 LeBlanc 0.013337 815 | 40 Jax 0.013054 816 | 33 Graves 0.012695 817 | 60 Malphite 0.012288 818 | 82 Riven 0.012022 819 | 105 Twisted Fate 0.011426 820 | 6 Annie 0.010882 821 | 43 Kalista 0.010758 822 | 77 Quinn 0.010729 823 | 21 Ekko 0.010707 824 | 10 Blitzcrank 0.010451 825 | 101 Thresh 0.010155 826 | 51 Kindred 0.009836 827 | 66 Morgana 0.009689 828 | 120 Xin Zhao 0.009524 829 | 80 Renekton 0.009430 830 | 26 Fiora 0.009071 831 | 118 Wukong 0.009036 832 | 18 Diana 0.009030 833 | 19 Dr. Mundo 0.009022 834 | 37 Irelia 0.008970 835 | 86 Shaco 0.008728 836 | 75 Pantheon 0.008542 837 | 98 Talon 0.008497 838 | 20 Draven 0.008134 839 | 17 Darius 0.008104 840 | 30 Garen 0.007957 841 | 76 Poppy 0.007913 842 | 113 Vi 0.007838 843 | 70 Nidalee 0.007752 844 | 16 Corki 0.007649 845 | 46 Kassadin 0.007512 846 | 104 Tryndamere 0.007459 847 | 116 Volibear 0.007338 848 | 103 Trundle 0.007066 849 | 106 Twitch 0.006997 850 | 107 Udyr 0.006772 851 | 7 Ashe 0.006753 852 | 29 Gangplank 0.006749 853 | 68 Nasus 0.006519 854 | 34 Hecarim 0.006495 855 | 22 Elise 0.006282 856 | 97 Tahm Kench 0.006175 857 | 61 Malzahar 0.006153 858 | 5 Anivia 0.006144 859 | 47 Katarina 0.006023 860 | 87 Shen 0.005943 861 | 115 Vladimir 0.005794 862 | 114 Viktor 0.005753 863 | 91 Sivir 0.005518 864 | 15 Cho'Gath 0.005494 865 | 100 Teemo 0.005226 866 | 4 Amumu 0.005168 867 | 78 Rammus 0.005155 868 | 31 Gnar 0.005035 869 | 55 Leona 0.004929 870 | 84 Ryze 0.004824 871 | 74 Orianna 0.004810 872 | 50 Kha'Zix 0.004797 873 | 93 Sona 0.004739 874 | 39 Jarvan IV 0.004726 875 | 71 Nocturne 0.004723 876 | 112 Vel'Koz 0.004684 877 | 69 Nautilus 0.004650 878 | 23 Evelynn 0.004643 879 | 58 Lulu 0.004602 880 | 88 Shyvana 0.004593 881 | 9 Bard 0.004495 882 | 36 Illaoi 0.004490 883 | 117 Warwick 0.004447 884 | 109 Varus 0.004275 885 | 111 Veigar 0.004260 886 | 2 Akali 0.004221 887 | 96 Syndra 0.004147 888 | 8 Azir 0.004133 889 | 79 Rek'Sai 0.004058 890 | 48 Kayle 0.004056 891 | 73 Olaf 0.004023 892 | 3 Alistar 0.003747 893 | 123 Zac 0.003692 894 | 41 Jayce 0.003144 895 | 12 Braum 0.003106 896 | 127 Zyra 0.003008 897 | 95 Swain 0.002944 898 | 56 Lissandra 0.002935 899 | 52 Kog'Maw 0.002928 900 | 119 Xerath 0.002663 901 | 49 Kennen 0.002641 902 | 67 Nami 0.002592 903 | 44 Karma 0.002581 904 | 38 Janna 0.002530 905 | 35 Heimerdinger 0.002243 906 | 32 Gragas 0.002204 907 | 125 Ziggs 0.002023 908 | 0 Aatrox 0.001994 909 | 126 Zilean 0.001930 910 | 45 Karthus 0.001806 911 | 83 Rumble 0.001801 912 | 90 Sion 0.001783 913 | 14 Cassiopeia 0.001767 914 | 85 Sejuani 0.001757 915 | 25 Fiddlesticks 0.001617 916 | 89 Singed 0.001583 917 | 94 Soraka 0.001459 918 | 72 Nunu 0.001288 919 | 62 Maokai 0.001247 920 | 99 Taric 0.001241 921 | 92 Skarner 0.001051 922 | 28 Galio 0.000809 923 | 122 Yorick 0.000575 924 | 65 Mordekaiser 0.000573 925 | 108 Urgot 0.000572 -------------------------------------------------------------------------------- /results/rank_kill_22k.txt: -------------------------------------------------------------------------------- 1 | Champion Rank by counts: 2 | champion count 3 | 57 Lucian 488206 4 | 54 Lee Sin 463826 5 | 110 Vayne 459667 6 | 64 Miss Fortune 369293 7 | 102 Tristana 320579 8 | 124 Zed 295655 9 | 24 Ezreal 282324 10 | 27 Fizz 251426 11 | 81 Rengar 230149 12 | 11 Brand 228884 13 | 63 Master Yi 219558 14 | 42 Jinx 217988 15 | 121 Yasuo 212933 16 | 59 Lux 207441 17 | 13 Caitlyn 196367 18 | 40 Jax 179382 19 | 1 Ahri 176749 20 | 53 LeBlanc 171374 21 | 82 Riven 167683 22 | 60 Malphite 159991 23 | 33 Graves 150876 24 | 105 Twisted Fate 144976 25 | 21 Ekko 141133 26 | 6 Annie 137262 27 | 80 Renekton 132982 28 | 77 Quinn 132620 29 | 26 Fiora 128359 30 | 51 Kindred 125829 31 | 120 Xin Zhao 125093 32 | 37 Irelia 123224 33 | 10 Blitzcrank 122560 34 | 19 Dr. Mundo 122255 35 | 43 Kalista 121301 36 | 101 Thresh 119038 37 | 17 Darius 118370 38 | 118 Wukong 117248 39 | 66 Morgana 117204 40 | 18 Diana 116507 41 | 75 Pantheon 112958 42 | 30 Garen 111228 43 | 86 Shaco 107775 44 | 98 Talon 105398 45 | 104 Tryndamere 103927 46 | 76 Poppy 103506 47 | 113 Vi 99053 48 | 70 Nidalee 99012 49 | 116 Volibear 98034 50 | 46 Kassadin 96692 51 | 103 Trundle 96594 52 | 68 Nasus 93109 53 | 20 Draven 91707 54 | 29 Gangplank 89993 55 | 107 Udyr 88702 56 | 16 Corki 87660 57 | 34 Hecarim 83949 58 | 61 Malzahar 82052 59 | 97 Tahm Kench 81174 60 | 5 Anivia 80619 61 | 22 Elise 80322 62 | 115 Vladimir 79613 63 | 106 Twitch 78875 64 | 7 Ashe 78440 65 | 87 Shen 78237 66 | 47 Katarina 75775 67 | 15 Cho'Gath 75048 68 | 114 Viktor 74129 69 | 31 Gnar 71446 70 | 100 Teemo 71379 71 | 4 Amumu 66818 72 | 84 Ryze 65696 73 | 78 Rammus 64229 74 | 36 Illaoi 63962 75 | 91 Sivir 63504 76 | 74 Orianna 62935 77 | 39 Jarvan IV 60499 78 | 88 Shyvana 60110 79 | 50 Kha'Zix 60072 80 | 112 Vel'Koz 58513 81 | 71 Nocturne 58418 82 | 117 Warwick 58165 83 | 58 Lulu 58112 84 | 23 Evelynn 57439 85 | 69 Nautilus 56175 86 | 55 Leona 56055 87 | 73 Olaf 55980 88 | 111 Veigar 55759 89 | 2 Akali 54847 90 | 93 Sona 54631 91 | 8 Azir 54129 92 | 96 Syndra 54029 93 | 48 Kayle 53534 94 | 79 Rek'Sai 50928 95 | 9 Bard 50907 96 | 109 Varus 50357 97 | 123 Zac 46838 98 | 3 Alistar 43489 99 | 41 Jayce 42436 100 | 95 Swain 39037 101 | 56 Lissandra 38320 102 | 127 Zyra 35632 103 | 12 Braum 35469 104 | 52 Kog'Maw 35421 105 | 49 Kennen 34221 106 | 119 Xerath 34203 107 | 44 Karma 32165 108 | 35 Heimerdinger 31266 109 | 67 Nami 29327 110 | 32 Gragas 28012 111 | 38 Janna 27902 112 | 0 Aatrox 27874 113 | 125 Ziggs 26439 114 | 83 Rumble 24657 115 | 90 Sion 23963 116 | 14 Cassiopeia 23583 117 | 45 Karthus 23326 118 | 126 Zilean 23141 119 | 85 Sejuani 23030 120 | 89 Singed 22089 121 | 25 Fiddlesticks 20330 122 | 94 Soraka 17191 123 | 62 Maokai 16540 124 | 72 Nunu 16484 125 | 99 Taric 14921 126 | 92 Skarner 13596 127 | 28 Galio 10792 128 | 122 Yorick 8101 129 | 65 Mordekaiser 7682 130 | 108 Urgot 7293 131 | 132 | 133 | --------------------------------------------------------- 134 | 135 | Champion Rank by eigenvector centrality 136 | champion eigen_1 137 | 57 Lucian 0.334871 138 | 110 Vayne 0.305472 139 | 54 Lee Sin 0.283480 140 | 64 Miss Fortune 0.255346 141 | 102 Tristana 0.231427 142 | 24 Ezreal 0.201970 143 | 124 Zed 0.198167 144 | 27 Fizz 0.163430 145 | 81 Rengar 0.161733 146 | 42 Jinx 0.150423 147 | 11 Brand 0.147950 148 | 63 Master Yi 0.141122 149 | 13 Caitlyn 0.139129 150 | 59 Lux 0.135427 151 | 121 Yasuo 0.133741 152 | 1 Ahri 0.114972 153 | 53 LeBlanc 0.113158 154 | 40 Jax 0.110695 155 | 60 Malphite 0.105322 156 | 33 Graves 0.104156 157 | 82 Riven 0.102489 158 | 105 Twisted Fate 0.096573 159 | 6 Annie 0.092649 160 | 77 Quinn 0.090802 161 | 21 Ekko 0.090068 162 | 10 Blitzcrank 0.087401 163 | 43 Kalista 0.087079 164 | 101 Thresh 0.086753 165 | 51 Kindred 0.082248 166 | 120 Xin Zhao 0.080746 167 | 80 Renekton 0.080449 168 | 66 Morgana 0.080362 169 | 118 Wukong 0.077289 170 | 18 Diana 0.077173 171 | 26 Fiora 0.076639 172 | 37 Irelia 0.076572 173 | 19 Dr. Mundo 0.075618 174 | 86 Shaco 0.075527 175 | 98 Talon 0.073928 176 | 75 Pantheon 0.071896 177 | 76 Poppy 0.067976 178 | 30 Garen 0.067588 179 | 113 Vi 0.067376 180 | 17 Darius 0.067368 181 | 20 Draven 0.066567 182 | 70 Nidalee 0.064954 183 | 46 Kassadin 0.064029 184 | 104 Tryndamere 0.063303 185 | 16 Corki 0.063216 186 | 116 Volibear 0.061530 187 | 103 Trundle 0.059831 188 | 106 Twitch 0.057889 189 | 107 Udyr 0.057490 190 | 29 Gangplank 0.056946 191 | 34 Hecarim 0.055607 192 | 68 Nasus 0.055344 193 | 7 Ashe 0.054732 194 | 22 Elise 0.052739 195 | 61 Malzahar 0.051902 196 | 5 Anivia 0.051755 197 | 97 Tahm Kench 0.051175 198 | 47 Katarina 0.050666 199 | 87 Shen 0.050239 200 | 115 Vladimir 0.048947 201 | 114 Viktor 0.048212 202 | 15 Cho'Gath 0.046174 203 | 91 Sivir 0.044695 204 | 78 Rammus 0.044637 205 | 100 Teemo 0.044336 206 | 4 Amumu 0.043247 207 | 31 Gnar 0.042355 208 | 50 Kha'Zix 0.040842 209 | 71 Nocturne 0.040805 210 | 55 Leona 0.040736 211 | 39 Jarvan IV 0.040675 212 | 84 Ryze 0.040653 213 | 74 Orianna 0.040537 214 | 23 Evelynn 0.039657 215 | 93 Sona 0.039109 216 | 69 Nautilus 0.038957 217 | 88 Shyvana 0.038905 218 | 112 Vel'Koz 0.038819 219 | 58 Lulu 0.038792 220 | 117 Warwick 0.037969 221 | 36 Illaoi 0.037814 222 | 9 Bard 0.037626 223 | 2 Akali 0.036112 224 | 111 Veigar 0.036033 225 | 96 Syndra 0.035582 226 | 109 Varus 0.035009 227 | 79 Rek'Sai 0.034651 228 | 8 Azir 0.034549 229 | 48 Kayle 0.034153 230 | 73 Olaf 0.034048 231 | 3 Alistar 0.031395 232 | 123 Zac 0.031249 233 | 41 Jayce 0.026712 234 | 12 Braum 0.025578 235 | 56 Lissandra 0.025408 236 | 95 Swain 0.024995 237 | 127 Zyra 0.024726 238 | 52 Kog'Maw 0.023938 239 | 119 Xerath 0.022543 240 | 49 Kennen 0.022195 241 | 44 Karma 0.021466 242 | 67 Nami 0.021400 243 | 38 Janna 0.021174 244 | 35 Heimerdinger 0.018866 245 | 32 Gragas 0.018738 246 | 0 Aatrox 0.016967 247 | 125 Ziggs 0.016960 248 | 126 Zilean 0.015866 249 | 45 Karthus 0.015299 250 | 90 Sion 0.015007 251 | 83 Rumble 0.014987 252 | 85 Sejuani 0.014816 253 | 14 Cassiopeia 0.014679 254 | 25 Fiddlesticks 0.013637 255 | 89 Singed 0.013435 256 | 94 Soraka 0.011900 257 | 72 Nunu 0.010830 258 | 62 Maokai 0.010521 259 | 99 Taric 0.010393 260 | 92 Skarner 0.008960 261 | 28 Galio 0.006853 262 | 122 Yorick 0.004912 263 | 65 Mordekaiser 0.004799 264 | 108 Urgot 0.004769 265 | 266 | ------------------------------------------------------------------------- 267 | 268 | Champion Rank by eigenvector centrality ratio 269 | champion eigen eigen_t eigen_ratio 270 | 53 LeBlanc 0.113158 0.079379 1.425532 271 | 124 Zed 0.198167 0.139336 1.422222 272 | 81 Rengar 0.161733 0.117442 1.377135 273 | 98 Talon 0.073928 0.054580 1.354491 274 | 27 Fizz 0.163430 0.121567 1.344355 275 | 86 Shaco 0.075527 0.057108 1.322534 276 | 47 Katarina 0.050666 0.038629 1.311596 277 | 71 Nocturne 0.040805 0.031345 1.301817 278 | 46 Kassadin 0.064029 0.049737 1.287342 279 | 5 Anivia 0.051755 0.040418 1.280476 280 | 102 Tristana 0.231427 0.181989 1.271654 281 | 106 Twitch 0.057889 0.045769 1.264822 282 | 23 Evelynn 0.039657 0.031612 1.254485 283 | 118 Wukong 0.077289 0.061917 1.248278 284 | 2 Akali 0.036112 0.028968 1.246618 285 | 119 Xerath 0.022543 0.018212 1.237849 286 | 75 Pantheon 0.071896 0.058752 1.223729 287 | 24 Ezreal 0.201970 0.167283 1.207359 288 | 16 Corki 0.063216 0.052710 1.199323 289 | 50 Kha'Zix 0.040842 0.034109 1.197385 290 | 30 Garen 0.067588 0.056466 1.196958 291 | 96 Syndra 0.035582 0.029837 1.192568 292 | 63 Master Yi 0.141122 0.119177 1.184135 293 | 57 Lucian 0.334871 0.284331 1.177751 294 | 114 Viktor 0.048212 0.041073 1.173801 295 | 34 Hecarim 0.055607 0.047378 1.173688 296 | 1 Ahri 0.114972 0.098033 1.172783 297 | 77 Quinn 0.090802 0.078648 1.154540 298 | 116 Volibear 0.061530 0.053441 1.151363 299 | 33 Graves 0.104156 0.090952 1.145172 300 | 59 Lux 0.135427 0.118476 1.143079 301 | 18 Diana 0.077173 0.067579 1.141972 302 | 88 Shyvana 0.038905 0.034155 1.139071 303 | 37 Irelia 0.076572 0.067446 1.135300 304 | 111 Veigar 0.036033 0.031798 1.133207 305 | 95 Swain 0.024995 0.022063 1.132893 306 | 61 Malzahar 0.051902 0.045990 1.128555 307 | 29 Gangplank 0.056946 0.051144 1.113438 308 | 109 Varus 0.035009 0.031700 1.104411 309 | 107 Udyr 0.057490 0.052062 1.104265 310 | 64 Miss Fortune 0.255346 0.232469 1.098411 311 | 110 Vayne 0.305472 0.278845 1.095490 312 | 43 Kalista 0.087079 0.080338 1.083907 313 | 105 Twisted Fate 0.096573 0.089313 1.081291 314 | 113 Vi 0.067376 0.062363 1.080397 315 | 125 Ziggs 0.016960 0.015714 1.079277 316 | 15 Cho'Gath 0.046174 0.043017 1.073371 317 | 41 Jayce 0.026712 0.024943 1.070936 318 | 70 Nidalee 0.064954 0.060734 1.069490 319 | 54 Lee Sin 0.283480 0.266263 1.064661 320 | 60 Malphite 0.105322 0.100291 1.050166 321 | 117 Warwick 0.037969 0.036216 1.048392 322 | 20 Draven 0.066567 0.063626 1.046222 323 | 79 Rek'Sai 0.034651 0.033463 1.035496 324 | 123 Zac 0.031249 0.030216 1.034202 325 | 26 Fiora 0.076639 0.074233 1.032404 326 | 104 Tryndamere 0.063303 0.061922 1.022303 327 | 82 Riven 0.102489 0.100437 1.020427 328 | 21 Ekko 0.090068 0.088452 1.018273 329 | 51 Kindred 0.082248 0.081403 1.010385 330 | 22 Elise 0.052739 0.052211 1.010115 331 | 73 Olaf 0.034048 0.033807 1.007144 332 | 112 Vel'Koz 0.038819 0.039386 0.985606 333 | 42 Jinx 0.150423 0.153063 0.982752 334 | 19 Dr. Mundo 0.075618 0.077301 0.978233 335 | 76 Poppy 0.067976 0.069611 0.976514 336 | 45 Karthus 0.015299 0.015698 0.974611 337 | 74 Orianna 0.040537 0.041870 0.968160 338 | 48 Kayle 0.034153 0.035366 0.965682 339 | 14 Cassiopeia 0.014679 0.015208 0.965224 340 | 6 Annie 0.092649 0.096597 0.959128 341 | 121 Yasuo 0.133741 0.139911 0.955895 342 | 40 Jax 0.110695 0.116078 0.953629 343 | 0 Aatrox 0.016967 0.017874 0.949280 344 | 120 Xin Zhao 0.080746 0.085063 0.949244 345 | 100 Teemo 0.044336 0.046853 0.946277 346 | 80 Renekton 0.080449 0.085309 0.943024 347 | 92 Skarner 0.008960 0.009573 0.935906 348 | 39 Jarvan IV 0.040675 0.043693 0.930915 349 | 52 Kog'Maw 0.023938 0.025732 0.930260 350 | 68 Nasus 0.055344 0.060063 0.921442 351 | 85 Sejuani 0.014816 0.016083 0.921212 352 | 103 Trundle 0.059831 0.065210 0.917524 353 | 84 Ryze 0.040653 0.044317 0.917323 354 | 91 Sivir 0.044695 0.049395 0.904866 355 | 83 Rumble 0.014987 0.016729 0.895907 356 | 49 Kennen 0.022195 0.025113 0.883794 357 | 13 Caitlyn 0.139129 0.159116 0.874388 358 | 17 Darius 0.067368 0.077208 0.872551 359 | 56 Lissandra 0.025408 0.029131 0.872176 360 | 11 Brand 0.147950 0.172064 0.859853 361 | 108 Urgot 0.004769 0.005552 0.859082 362 | 4 Amumu 0.043247 0.050543 0.855653 363 | 115 Vladimir 0.048947 0.057205 0.855652 364 | 78 Rammus 0.044637 0.052263 0.854069 365 | 31 Gnar 0.042355 0.050897 0.832173 366 | 8 Azir 0.034549 0.041668 0.829148 367 | 7 Ashe 0.054732 0.067342 0.812746 368 | 90 Sion 0.015007 0.018768 0.799629 369 | 87 Shen 0.050239 0.063417 0.792210 370 | 32 Gragas 0.018738 0.024665 0.759707 371 | 35 Heimerdinger 0.018866 0.024863 0.758815 372 | 65 Mordekaiser 0.004799 0.006345 0.756264 373 | 122 Yorick 0.004912 0.006500 0.755707 374 | 25 Fiddlesticks 0.013637 0.019010 0.717346 375 | 127 Zyra 0.024726 0.035291 0.700651 376 | 28 Galio 0.006853 0.009964 0.687708 377 | 97 Tahm Kench 0.051175 0.075333 0.679315 378 | 89 Singed 0.013435 0.020183 0.665671 379 | 72 Nunu 0.010830 0.016457 0.658084 380 | 62 Maokai 0.010521 0.016070 0.654716 381 | 36 Illaoi 0.037814 0.060284 0.627265 382 | 44 Karma 0.021466 0.036324 0.590947 383 | 126 Zilean 0.015866 0.026857 0.590777 384 | 66 Morgana 0.080362 0.142654 0.563335 385 | 58 Lulu 0.038792 0.069033 0.561945 386 | 93 Sona 0.039109 0.076858 0.508849 387 | 69 Nautilus 0.038957 0.077070 0.505471 388 | 10 Blitzcrank 0.087401 0.202109 0.432447 389 | 9 Bard 0.037626 0.087640 0.429329 390 | 67 Nami 0.021400 0.056821 0.376612 391 | 99 Taric 0.010393 0.027964 0.371678 392 | 55 Leona 0.040736 0.113546 0.358763 393 | 101 Thresh 0.086753 0.247360 0.350718 394 | 3 Alistar 0.031395 0.092081 0.340955 395 | 12 Braum 0.025578 0.089594 0.285489 396 | 38 Janna 0.021174 0.090293 0.234503 397 | 94 Soraka 0.011900 0.086841 0.137030 398 | 399 | ----------------------------------------------------------------------- 400 | 401 | Champion Rank by eigenvector centrality difference 402 | champion eigen eigen_t eigen_diff 403 | 124 Zed 0.198167 0.139336 0.058831 404 | 57 Lucian 0.334871 0.284331 0.050540 405 | 102 Tristana 0.231427 0.181989 0.049438 406 | 81 Rengar 0.161733 0.117442 0.044291 407 | 27 Fizz 0.163430 0.121567 0.041862 408 | 24 Ezreal 0.201970 0.167283 0.034688 409 | 53 LeBlanc 0.113158 0.079379 0.033778 410 | 110 Vayne 0.305472 0.278845 0.026627 411 | 64 Miss Fortune 0.255346 0.232469 0.022878 412 | 63 Master Yi 0.141122 0.119177 0.021945 413 | 98 Talon 0.073928 0.054580 0.019348 414 | 86 Shaco 0.075527 0.057108 0.018419 415 | 54 Lee Sin 0.283480 0.266263 0.017217 416 | 59 Lux 0.135427 0.118476 0.016951 417 | 1 Ahri 0.114972 0.098033 0.016938 418 | 118 Wukong 0.077289 0.061917 0.015373 419 | 46 Kassadin 0.064029 0.049737 0.014292 420 | 33 Graves 0.104156 0.090952 0.013204 421 | 75 Pantheon 0.071896 0.058752 0.013144 422 | 77 Quinn 0.090802 0.078648 0.012154 423 | 106 Twitch 0.057889 0.045769 0.012121 424 | 47 Katarina 0.050666 0.038629 0.012037 425 | 5 Anivia 0.051755 0.040418 0.011336 426 | 30 Garen 0.067588 0.056466 0.011121 427 | 16 Corki 0.063216 0.052710 0.010506 428 | 18 Diana 0.077173 0.067579 0.009594 429 | 71 Nocturne 0.040805 0.031345 0.009460 430 | 37 Irelia 0.076572 0.067446 0.009125 431 | 34 Hecarim 0.055607 0.047378 0.008229 432 | 116 Volibear 0.061530 0.053441 0.008089 433 | 23 Evelynn 0.039657 0.031612 0.008045 434 | 105 Twisted Fate 0.096573 0.089313 0.007260 435 | 2 Akali 0.036112 0.028968 0.007144 436 | 114 Viktor 0.048212 0.041073 0.007139 437 | 43 Kalista 0.087079 0.080338 0.006741 438 | 50 Kha'Zix 0.040842 0.034109 0.006733 439 | 61 Malzahar 0.051902 0.045990 0.005912 440 | 29 Gangplank 0.056946 0.051144 0.005802 441 | 96 Syndra 0.035582 0.029837 0.005746 442 | 107 Udyr 0.057490 0.052062 0.005428 443 | 60 Malphite 0.105322 0.100291 0.005031 444 | 113 Vi 0.067376 0.062363 0.005014 445 | 88 Shyvana 0.038905 0.034155 0.004750 446 | 119 Xerath 0.022543 0.018212 0.004332 447 | 111 Veigar 0.036033 0.031798 0.004236 448 | 70 Nidalee 0.064954 0.060734 0.004220 449 | 109 Varus 0.035009 0.031700 0.003310 450 | 15 Cho'Gath 0.046174 0.043017 0.003156 451 | 20 Draven 0.066567 0.063626 0.002941 452 | 95 Swain 0.024995 0.022063 0.002932 453 | 26 Fiora 0.076639 0.074233 0.002405 454 | 82 Riven 0.102489 0.100437 0.002052 455 | 41 Jayce 0.026712 0.024943 0.001769 456 | 117 Warwick 0.037969 0.036216 0.001753 457 | 21 Ekko 0.090068 0.088452 0.001616 458 | 104 Tryndamere 0.063303 0.061922 0.001381 459 | 125 Ziggs 0.016960 0.015714 0.001246 460 | 79 Rek'Sai 0.034651 0.033463 0.001188 461 | 123 Zac 0.031249 0.030216 0.001033 462 | 51 Kindred 0.082248 0.081403 0.000845 463 | 22 Elise 0.052739 0.052211 0.000528 464 | 73 Olaf 0.034048 0.033807 0.000242 465 | 45 Karthus 0.015299 0.015698 -0.000399 466 | 14 Cassiopeia 0.014679 0.015208 -0.000529 467 | 112 Vel'Koz 0.038819 0.039386 -0.000567 468 | 92 Skarner 0.008960 0.009573 -0.000614 469 | 108 Urgot 0.004769 0.005552 -0.000782 470 | 0 Aatrox 0.016967 0.017874 -0.000907 471 | 48 Kayle 0.034153 0.035366 -0.001214 472 | 85 Sejuani 0.014816 0.016083 -0.001267 473 | 74 Orianna 0.040537 0.041870 -0.001333 474 | 65 Mordekaiser 0.004799 0.006345 -0.001547 475 | 122 Yorick 0.004912 0.006500 -0.001588 476 | 76 Poppy 0.067976 0.069611 -0.001635 477 | 19 Dr. Mundo 0.075618 0.077301 -0.001683 478 | 83 Rumble 0.014987 0.016729 -0.001741 479 | 52 Kog'Maw 0.023938 0.025732 -0.001795 480 | 100 Teemo 0.044336 0.046853 -0.002517 481 | 42 Jinx 0.150423 0.153063 -0.002640 482 | 49 Kennen 0.022195 0.025113 -0.002918 483 | 39 Jarvan IV 0.040675 0.043693 -0.003019 484 | 28 Galio 0.006853 0.009964 -0.003112 485 | 84 Ryze 0.040653 0.044317 -0.003664 486 | 56 Lissandra 0.025408 0.029131 -0.003724 487 | 90 Sion 0.015007 0.018768 -0.003761 488 | 6 Annie 0.092649 0.096597 -0.003948 489 | 120 Xin Zhao 0.080746 0.085063 -0.004318 490 | 91 Sivir 0.044695 0.049395 -0.004699 491 | 68 Nasus 0.055344 0.060063 -0.004718 492 | 80 Renekton 0.080449 0.085309 -0.004861 493 | 25 Fiddlesticks 0.013637 0.019010 -0.005373 494 | 103 Trundle 0.059831 0.065210 -0.005378 495 | 40 Jax 0.110695 0.116078 -0.005383 496 | 62 Maokai 0.010521 0.016070 -0.005549 497 | 72 Nunu 0.010830 0.016457 -0.005627 498 | 32 Gragas 0.018738 0.024665 -0.005927 499 | 35 Heimerdinger 0.018866 0.024863 -0.005997 500 | 121 Yasuo 0.133741 0.139911 -0.006171 501 | 89 Singed 0.013435 0.020183 -0.006748 502 | 8 Azir 0.034549 0.041668 -0.007119 503 | 4 Amumu 0.043247 0.050543 -0.007296 504 | 78 Rammus 0.044637 0.052263 -0.007627 505 | 115 Vladimir 0.048947 0.057205 -0.008257 506 | 31 Gnar 0.042355 0.050897 -0.008542 507 | 17 Darius 0.067368 0.077208 -0.009840 508 | 127 Zyra 0.024726 0.035291 -0.010564 509 | 126 Zilean 0.015866 0.026857 -0.010990 510 | 7 Ashe 0.054732 0.067342 -0.012610 511 | 87 Shen 0.050239 0.063417 -0.013177 512 | 44 Karma 0.021466 0.036324 -0.014859 513 | 99 Taric 0.010393 0.027964 -0.017570 514 | 13 Caitlyn 0.139129 0.159116 -0.019987 515 | 36 Illaoi 0.037814 0.060284 -0.022470 516 | 11 Brand 0.147950 0.172064 -0.024114 517 | 97 Tahm Kench 0.051175 0.075333 -0.024158 518 | 58 Lulu 0.038792 0.069033 -0.030240 519 | 67 Nami 0.021400 0.056821 -0.035422 520 | 93 Sona 0.039109 0.076858 -0.037749 521 | 69 Nautilus 0.038957 0.077070 -0.038113 522 | 9 Bard 0.037626 0.087640 -0.050013 523 | 3 Alistar 0.031395 0.092081 -0.060686 524 | 66 Morgana 0.080362 0.142654 -0.062292 525 | 12 Braum 0.025578 0.089594 -0.064016 526 | 38 Janna 0.021174 0.090293 -0.069119 527 | 55 Leona 0.040736 0.113546 -0.072810 528 | 94 Soraka 0.011900 0.086841 -0.074941 529 | 10 Blitzcrank 0.087401 0.202109 -0.114708 530 | 101 Thresh 0.086753 0.247360 -0.160606 531 | 532 | -------------------------------------------------------------- 533 | 534 | Champion Rank by PageRank 535 | champion pagerank 536 | 54 Lee Sin 0.029129 537 | 57 Lucian 0.027747 538 | 110 Vayne 0.027159 539 | 101 Thresh 0.023106 540 | 64 Miss Fortune 0.022397 541 | 10 Blitzcrank 0.019489 542 | 11 Brand 0.017729 543 | 102 Tristana 0.017387 544 | 121 Yasuo 0.016133 545 | 24 Ezreal 0.016080 546 | 13 Caitlyn 0.014983 547 | 124 Zed 0.014969 548 | 42 Jinx 0.014556 549 | 66 Morgana 0.014152 550 | 27 Fizz 0.013474 551 | 40 Jax 0.013423 552 | 63 Master Yi 0.013105 553 | 59 Lux 0.012835 554 | 81 Rengar 0.012810 555 | 82 Riven 0.011851 556 | 60 Malphite 0.011610 557 | 55 Leona 0.011296 558 | 1 Ahri 0.010883 559 | 6 Annie 0.010804 560 | 105 Twisted Fate 0.010122 561 | 80 Renekton 0.010090 562 | 21 Ekko 0.009927 563 | 120 Xin Zhao 0.009552 564 | 33 Graves 0.009408 565 | 17 Darius 0.009379 566 | 3 Alistar 0.009307 567 | 51 Kindred 0.009128 568 | 12 Braum 0.009116 569 | 38 Janna 0.009039 570 | 53 LeBlanc 0.009039 571 | 94 Soraka 0.009011 572 | 26 Fiora 0.008999 573 | 9 Bard 0.008866 574 | 19 Dr. Mundo 0.008774 575 | 77 Quinn 0.008735 576 | 37 Irelia 0.008395 577 | 97 Tahm Kench 0.008215 578 | 69 Nautilus 0.008206 579 | 76 Poppy 0.008185 580 | 43 Kalista 0.008093 581 | 93 Sona 0.008005 582 | 18 Diana 0.007947 583 | 104 Tryndamere 0.007877 584 | 68 Nasus 0.007688 585 | 58 Lulu 0.007617 586 | 103 Trundle 0.007537 587 | 87 Shen 0.007385 588 | 118 Wukong 0.007380 589 | 36 Illaoi 0.007376 590 | 115 Vladimir 0.007357 591 | 75 Pantheon 0.007213 592 | 113 Vi 0.007162 593 | 7 Ashe 0.007116 594 | 30 Garen 0.007048 595 | 70 Nidalee 0.007005 596 | 20 Draven 0.006813 597 | 86 Shaco 0.006689 598 | 31 Gnar 0.006542 599 | 29 Gangplank 0.006489 600 | 98 Talon 0.006416 601 | 116 Volibear 0.006373 602 | 107 Udyr 0.006254 603 | 100 Teemo 0.006251 604 | 22 Elise 0.006241 605 | 78 Rammus 0.006232 606 | 67 Nami 0.006165 607 | 4 Amumu 0.006137 608 | 34 Hecarim 0.005954 609 | 46 Kassadin 0.005942 610 | 61 Malzahar 0.005879 611 | 16 Corki 0.005837 612 | 84 Ryze 0.005751 613 | 15 Cho'Gath 0.005527 614 | 91 Sivir 0.005477 615 | 39 Jarvan IV 0.005416 616 | 114 Viktor 0.005302 617 | 8 Azir 0.005297 618 | 106 Twitch 0.005247 619 | 74 Orianna 0.005245 620 | 5 Anivia 0.005130 621 | 47 Katarina 0.005069 622 | 112 Vel'Koz 0.004850 623 | 48 Kayle 0.004840 624 | 117 Warwick 0.004750 625 | 73 Olaf 0.004656 626 | 88 Shyvana 0.004477 627 | 44 Karma 0.004465 628 | 111 Veigar 0.004434 629 | 127 Zyra 0.004373 630 | 50 Kha'Zix 0.004341 631 | 79 Rek'Sai 0.004291 632 | 71 Nocturne 0.004176 633 | 2 Akali 0.004175 634 | 23 Evelynn 0.004173 635 | 96 Syndra 0.004132 636 | 109 Varus 0.004091 637 | 56 Lissandra 0.004078 638 | 123 Zac 0.003956 639 | 35 Heimerdinger 0.003832 640 | 99 Taric 0.003766 641 | 49 Kennen 0.003765 642 | 41 Jayce 0.003729 643 | 126 Zilean 0.003615 644 | 52 Kog'Maw 0.003534 645 | 32 Gragas 0.003466 646 | 95 Swain 0.003439 647 | 89 Singed 0.003272 648 | 25 Fiddlesticks 0.003088 649 | 90 Sion 0.003057 650 | 0 Aatrox 0.003046 651 | 119 Xerath 0.002982 652 | 83 Rumble 0.002967 653 | 62 Maokai 0.002796 654 | 45 Karthus 0.002762 655 | 14 Cassiopeia 0.002741 656 | 125 Ziggs 0.002738 657 | 72 Nunu 0.002736 658 | 85 Sejuani 0.002712 659 | 28 Galio 0.002110 660 | 92 Skarner 0.002105 661 | 122 Yorick 0.001861 662 | 65 Mordekaiser 0.001825 663 | 108 Urgot 0.001721 664 | 665 | ------------------------------------------------- 666 | 667 | Champion Rank by HITS 668 | champion hub 669 | 57 Lucian 0.041681 670 | 110 Vayne 0.037859 671 | 54 Lee Sin 0.033530 672 | 64 Miss Fortune 0.031446 673 | 102 Tristana 0.028415 674 | 24 Ezreal 0.024641 675 | 124 Zed 0.022927 676 | 27 Fizz 0.019227 677 | 81 Rengar 0.018729 678 | 42 Jinx 0.018574 679 | 11 Brand 0.017878 680 | 13 Caitlyn 0.016928 681 | 63 Master Yi 0.016854 682 | 59 Lux 0.016174 683 | 121 Yasuo 0.015678 684 | 1 Ahri 0.013550 685 | 53 LeBlanc 0.013337 686 | 40 Jax 0.013054 687 | 33 Graves 0.012695 688 | 60 Malphite 0.012288 689 | 82 Riven 0.012022 690 | 105 Twisted Fate 0.011426 691 | 6 Annie 0.010882 692 | 43 Kalista 0.010758 693 | 77 Quinn 0.010729 694 | 21 Ekko 0.010707 695 | 10 Blitzcrank 0.010451 696 | 101 Thresh 0.010155 697 | 51 Kindred 0.009836 698 | 66 Morgana 0.009689 699 | 120 Xin Zhao 0.009524 700 | 80 Renekton 0.009430 701 | 26 Fiora 0.009071 702 | 118 Wukong 0.009036 703 | 18 Diana 0.009030 704 | 19 Dr. Mundo 0.009022 705 | 37 Irelia 0.008970 706 | 86 Shaco 0.008728 707 | 75 Pantheon 0.008542 708 | 98 Talon 0.008497 709 | 20 Draven 0.008134 710 | 17 Darius 0.008104 711 | 30 Garen 0.007957 712 | 76 Poppy 0.007913 713 | 113 Vi 0.007838 714 | 70 Nidalee 0.007752 715 | 16 Corki 0.007649 716 | 46 Kassadin 0.007512 717 | 104 Tryndamere 0.007459 718 | 116 Volibear 0.007338 719 | 103 Trundle 0.007066 720 | 106 Twitch 0.006997 721 | 107 Udyr 0.006772 722 | 7 Ashe 0.006753 723 | 29 Gangplank 0.006749 724 | 68 Nasus 0.006519 725 | 34 Hecarim 0.006495 726 | 22 Elise 0.006282 727 | 97 Tahm Kench 0.006175 728 | 61 Malzahar 0.006153 729 | 5 Anivia 0.006144 730 | 47 Katarina 0.006023 731 | 87 Shen 0.005943 732 | 115 Vladimir 0.005794 733 | 114 Viktor 0.005753 734 | 91 Sivir 0.005518 735 | 15 Cho'Gath 0.005494 736 | 100 Teemo 0.005226 737 | 4 Amumu 0.005168 738 | 78 Rammus 0.005155 739 | 31 Gnar 0.005035 740 | 55 Leona 0.004929 741 | 84 Ryze 0.004824 742 | 74 Orianna 0.004810 743 | 50 Kha'Zix 0.004797 744 | 93 Sona 0.004739 745 | 39 Jarvan IV 0.004726 746 | 71 Nocturne 0.004723 747 | 112 Vel'Koz 0.004684 748 | 69 Nautilus 0.004650 749 | 23 Evelynn 0.004643 750 | 58 Lulu 0.004602 751 | 88 Shyvana 0.004593 752 | 9 Bard 0.004495 753 | 36 Illaoi 0.004490 754 | 117 Warwick 0.004447 755 | 109 Varus 0.004275 756 | 111 Veigar 0.004260 757 | 2 Akali 0.004221 758 | 96 Syndra 0.004147 759 | 8 Azir 0.004133 760 | 79 Rek'Sai 0.004058 761 | 48 Kayle 0.004056 762 | 73 Olaf 0.004023 763 | 3 Alistar 0.003747 764 | 123 Zac 0.003692 765 | 41 Jayce 0.003144 766 | 12 Braum 0.003106 767 | 127 Zyra 0.003008 768 | 95 Swain 0.002944 769 | 56 Lissandra 0.002935 770 | 52 Kog'Maw 0.002928 771 | 119 Xerath 0.002663 772 | 49 Kennen 0.002641 773 | 67 Nami 0.002592 774 | 44 Karma 0.002581 775 | 38 Janna 0.002530 776 | 35 Heimerdinger 0.002243 777 | 32 Gragas 0.002204 778 | 125 Ziggs 0.002023 779 | 0 Aatrox 0.001994 780 | 126 Zilean 0.001930 781 | 45 Karthus 0.001806 782 | 83 Rumble 0.001801 783 | 90 Sion 0.001783 784 | 14 Cassiopeia 0.001767 785 | 85 Sejuani 0.001757 786 | 25 Fiddlesticks 0.001617 787 | 89 Singed 0.001583 788 | 94 Soraka 0.001459 789 | 72 Nunu 0.001288 790 | 62 Maokai 0.001247 791 | 99 Taric 0.001241 792 | 92 Skarner 0.001051 793 | 28 Galio 0.000809 794 | 122 Yorick 0.000575 795 | 65 Mordekaiser 0.000573 796 | 108 Urgot 0.000572 797 | champion auth 798 | 57 Lucian 0.031927 799 | 110 Vayne 0.031484 800 | 54 Lee Sin 0.030231 801 | 101 Thresh 0.028405 802 | 64 Miss Fortune 0.026585 803 | 10 Blitzcrank 0.023031 804 | 102 Tristana 0.020419 805 | 11 Brand 0.019689 806 | 24 Ezreal 0.019087 807 | 13 Caitlyn 0.018307 808 | 42 Jinx 0.017521 809 | 66 Morgana 0.016261 810 | 121 Yasuo 0.015931 811 | 124 Zed 0.015794 812 | 27 Fizz 0.013785 813 | 59 Lux 0.013528 814 | 63 Master Yi 0.013419 815 | 81 Rengar 0.013230 816 | 40 Jax 0.013037 817 | 55 Leona 0.012796 818 | 82 Riven 0.011338 819 | 1 Ahri 0.011281 820 | 60 Malphite 0.011265 821 | 6 Annie 0.010927 822 | 3 Alistar 0.010423 823 | 33 Graves 0.010308 824 | 38 Janna 0.010302 825 | 105 Twisted Fate 0.010233 826 | 12 Braum 0.010096 827 | 21 Ekko 0.010072 828 | 9 Bard 0.009932 829 | 94 Soraka 0.009776 830 | 120 Xin Zhao 0.009610 831 | 80 Renekton 0.009601 832 | 51 Kindred 0.009195 833 | 43 Kalista 0.009191 834 | 53 LeBlanc 0.008961 835 | 77 Quinn 0.008896 836 | 19 Dr. Mundo 0.008727 837 | 69 Nautilus 0.008727 838 | 17 Darius 0.008719 839 | 93 Sona 0.008694 840 | 97 Tahm Kench 0.008517 841 | 26 Fiora 0.008374 842 | 76 Poppy 0.007876 843 | 58 Lulu 0.007868 844 | 18 Diana 0.007690 845 | 7 Ashe 0.007677 846 | 37 Irelia 0.007535 847 | 103 Trundle 0.007410 848 | 20 Draven 0.007192 849 | 87 Shen 0.007181 850 | 113 Vi 0.007063 851 | 118 Wukong 0.006986 852 | 70 Nidalee 0.006902 853 | 104 Tryndamere 0.006870 854 | 36 Illaoi 0.006809 855 | 68 Nasus 0.006736 856 | 75 Pantheon 0.006606 857 | 67 Nami 0.006467 858 | 115 Vladimir 0.006451 859 | 86 Shaco 0.006439 860 | 30 Garen 0.006346 861 | 98 Talon 0.006270 862 | 116 Volibear 0.006037 863 | 16 Corki 0.006009 864 | 78 Rammus 0.005906 865 | 107 Udyr 0.005893 866 | 22 Elise 0.005891 867 | 29 Gangplank 0.005831 868 | 31 Gnar 0.005740 869 | 4 Amumu 0.005714 870 | 46 Kassadin 0.005713 871 | 91 Sivir 0.005633 872 | 34 Hecarim 0.005331 873 | 100 Teemo 0.005251 874 | 61 Malzahar 0.005248 875 | 106 Twitch 0.005183 876 | 84 Ryze 0.005026 877 | 39 Jarvan IV 0.004947 878 | 15 Cho'Gath 0.004868 879 | 74 Orianna 0.004818 880 | 8 Azir 0.004775 881 | 114 Viktor 0.004693 882 | 5 Anivia 0.004625 883 | 112 Vel'Koz 0.004497 884 | 47 Katarina 0.004395 885 | 44 Karma 0.004157 886 | 117 Warwick 0.004096 887 | 127 Zyra 0.004005 888 | 48 Kayle 0.003999 889 | 50 Kha'Zix 0.003900 890 | 88 Shyvana 0.003879 891 | 73 Olaf 0.003818 892 | 79 Rek'Sai 0.003798 893 | 111 Veigar 0.003624 894 | 109 Varus 0.003595 895 | 23 Evelynn 0.003587 896 | 71 Nocturne 0.003555 897 | 123 Zac 0.003442 898 | 96 Syndra 0.003413 899 | 56 Lissandra 0.003333 900 | 2 Akali 0.003257 901 | 99 Taric 0.003151 902 | 126 Zilean 0.003048 903 | 52 Kog'Maw 0.002913 904 | 41 Jayce 0.002827 905 | 49 Kennen 0.002825 906 | 35 Heimerdinger 0.002822 907 | 32 Gragas 0.002802 908 | 95 Swain 0.002509 909 | 89 Singed 0.002277 910 | 25 Fiddlesticks 0.002128 911 | 90 Sion 0.002118 912 | 119 Xerath 0.002086 913 | 0 Aatrox 0.002011 914 | 83 Rumble 0.001881 915 | 72 Nunu 0.001861 916 | 85 Sejuani 0.001826 917 | 62 Maokai 0.001811 918 | 125 Ziggs 0.001803 919 | 45 Karthus 0.001793 920 | 14 Cassiopeia 0.001721 921 | 28 Galio 0.001141 922 | 92 Skarner 0.001084 923 | 122 Yorick 0.000733 924 | 65 Mordekaiser 0.000718 925 | 108 Urgot 0.000621 -------------------------------------------------------------------------------- /results/rank_kill_22k_norm_by_picks.txt: -------------------------------------------------------------------------------- 1 | Champion Rank by counts: 2 | champion count 3 | 2 Akali 9.031286 4 | 98 Talon 8.934305 5 | 27 Fizz 8.835916 6 | 124 Zed 8.432829 7 | 47 Katarina 8.303200 8 | 81 Rengar 8.085901 9 | 63 Master Yi 8.025074 10 | 106 Twitch 8.007614 11 | 53 LeBlanc 7.961626 12 | 75 Pantheon 7.857948 13 | 77 Quinn 7.774651 14 | 50 Kha'Zix 7.567649 15 | 46 Kassadin 7.546398 16 | 86 Shaco 7.522510 17 | 23 Evelynn 7.446072 18 | 18 Diana 7.342724 19 | 16 Corki 7.311093 20 | 71 Nocturne 7.295866 21 | 43 Kalista 7.291915 22 | 96 Syndra 7.175166 23 | 110 Vayne 7.152569 24 | 102 Tristana 7.025619 25 | 33 Graves 6.952170 26 | 20 Draven 6.933318 27 | 57 Lucian 6.919510 28 | 118 Wukong 6.901001 29 | 45 Karthus 6.848503 30 | 37 Irelia 6.840078 31 | 24 Ezreal 6.831466 32 | 64 Miss Fortune 6.783237 33 | 52 Kog'Maw 6.775249 34 | 109 Varus 6.772055 35 | 21 Ekko 6.722540 36 | 121 Yasuo 6.710567 37 | 51 Kindred 6.702301 38 | 70 Nidalee 6.665231 39 | 54 Lee Sin 6.654892 40 | 41 Jayce 6.651411 41 | 14 Cassiopeia 6.626300 42 | 1 Ahri 6.621053 43 | 95 Swain 6.614199 44 | 26 Fiora 6.589271 45 | 30 Garen 6.571817 46 | 34 Hecarim 6.560053 47 | 114 Viktor 6.559508 48 | 111 Veigar 6.518471 49 | 82 Riven 6.515504 50 | 42 Jinx 6.496245 51 | 119 Xerath 6.418277 52 | 5 Anivia 6.413604 53 | 40 Jax 6.404213 54 | 22 Elise 6.390485 55 | 61 Malzahar 6.333128 56 | 105 Twisted Fate 6.308241 57 | 116 Volibear 6.278596 58 | 73 Olaf 6.258245 59 | 17 Darius 6.236893 60 | 113 Vi 6.156567 61 | 6 Annie 6.099720 62 | 120 Xin Zhao 6.081036 63 | 29 Gangplank 6.075272 64 | 11 Brand 6.027387 65 | 59 Lux 6.001823 66 | 104 Tryndamere 5.999711 67 | 88 Shyvana 5.999601 68 | 100 Teemo 5.967645 69 | 15 Cho'Gath 5.962342 70 | 112 Vel'Koz 5.842536 71 | 125 Ziggs 5.817162 72 | 84 Ryze 5.798411 73 | 0 Aatrox 5.747216 74 | 117 Warwick 5.736193 75 | 107 Udyr 5.720126 76 | 76 Poppy 5.688393 77 | 39 Jarvan IV 5.635678 78 | 7 Ashe 5.630204 79 | 13 Caitlyn 5.600884 80 | 80 Renekton 5.598064 81 | 8 Azir 5.533531 82 | 48 Kayle 5.524665 83 | 83 Rumble 5.519812 84 | 108 Urgot 5.462921 85 | 19 Dr. Mundo 5.454890 86 | 65 Mordekaiser 5.440510 87 | 91 Sivir 5.410582 88 | 74 Orianna 5.294439 89 | 115 Vladimir 5.250478 90 | 49 Kennen 5.237374 91 | 79 Rek'Sai 5.179294 92 | 31 Gnar 5.125619 93 | 56 Lissandra 5.009150 94 | 68 Nasus 4.958937 95 | 103 Trundle 4.888608 96 | 60 Malphite 4.802804 97 | 127 Zyra 4.773848 98 | 4 Amumu 4.733829 99 | 123 Zac 4.696010 100 | 25 Fiddlesticks 4.615210 101 | 92 Skarner 4.613505 102 | 122 Yorick 4.610700 103 | 35 Heimerdinger 4.593213 104 | 36 Illaoi 4.589366 105 | 85 Sejuani 4.545993 106 | 90 Sion 4.497560 107 | 78 Rammus 4.384232 108 | 28 Galio 4.301315 109 | 32 Gragas 4.264921 110 | 89 Singed 4.217873 111 | 62 Maokai 3.907394 112 | 97 Tahm Kench 3.900159 113 | 87 Shen 3.790920 114 | 44 Karma 3.624634 115 | 72 Nunu 3.513214 116 | 66 Morgana 3.342478 117 | 126 Zilean 3.076851 118 | 58 Lulu 3.013952 119 | 93 Sona 2.990366 120 | 69 Nautilus 2.860234 121 | 9 Bard 2.665846 122 | 10 Blitzcrank 2.589642 123 | 55 Leona 2.145482 124 | 101 Thresh 1.995139 125 | 99 Taric 1.961483 126 | 3 Alistar 1.851857 127 | 67 Nami 1.837762 128 | 12 Braum 1.603554 129 | 38 Janna 0.967073 130 | 94 Soraka 0.738921 131 | 132 | 133 | --------------------------------------------------------- 134 | 135 | Champion Rank by eigenvector centrality 136 | champion eigen_1 137 | 2 Akali 0.137101 138 | 98 Talon 0.136831 139 | 27 Fizz 0.133501 140 | 124 Zed 0.129720 141 | 47 Katarina 0.123811 142 | 81 Rengar 0.122539 143 | 53 LeBlanc 0.120084 144 | 63 Master Yi 0.118300 145 | 75 Pantheon 0.117326 146 | 77 Quinn 0.115888 147 | 106 Twitch 0.115091 148 | 86 Shaco 0.114605 149 | 50 Kha'Zix 0.113988 150 | 46 Kassadin 0.113938 151 | 23 Evelynn 0.112072 152 | 18 Diana 0.111487 153 | 71 Nocturne 0.111259 154 | 96 Syndra 0.109103 155 | 16 Corki 0.105240 156 | 118 Wukong 0.104194 157 | 37 Irelia 0.103349 158 | 45 Karthus 0.103326 159 | 43 Kalista 0.101933 160 | 121 Yasuo 0.101611 161 | 110 Vayne 0.101080 162 | 33 Graves 0.100750 163 | 95 Swain 0.100722 164 | 21 Ekko 0.100692 165 | 102 Tristana 0.100539 166 | 41 Jayce 0.100396 167 | 54 Lee Sin 0.100247 168 | 1 Ahri 0.100081 169 | 34 Hecarim 0.099378 170 | 51 Kindred 0.099360 171 | 30 Garen 0.099331 172 | 26 Fiora 0.098735 173 | 20 Draven 0.098645 174 | 14 Cassiopeia 0.098607 175 | 70 Nidalee 0.098581 176 | 111 Veigar 0.098549 177 | 57 Lucian 0.098494 178 | 82 Riven 0.098452 179 | 24 Ezreal 0.098085 180 | 114 Viktor 0.098048 181 | 52 Kog'Maw 0.097807 182 | 109 Varus 0.097489 183 | 64 Miss Fortune 0.096509 184 | 119 Xerath 0.096451 185 | 5 Anivia 0.096377 186 | 40 Jax 0.096181 187 | 61 Malzahar 0.095782 188 | 22 Elise 0.095184 189 | 105 Twisted Fate 0.094164 190 | 73 Olaf 0.094102 191 | 113 Vi 0.093718 192 | 116 Volibear 0.093623 193 | 6 Annie 0.092297 194 | 42 Jinx 0.092033 195 | 17 Darius 0.091852 196 | 120 Xin Zhao 0.091675 197 | 29 Gangplank 0.091071 198 | 104 Tryndamere 0.090932 199 | 88 Shyvana 0.090227 200 | 100 Teemo 0.090190 201 | 59 Lux 0.089790 202 | 15 Cho'Gath 0.089611 203 | 11 Brand 0.088565 204 | 84 Ryze 0.087098 205 | 125 Ziggs 0.087036 206 | 117 Warwick 0.087024 207 | 0 Aatrox 0.086749 208 | 76 Poppy 0.086346 209 | 107 Udyr 0.086110 210 | 112 Vel'Koz 0.086087 211 | 39 Jarvan IV 0.085687 212 | 80 Renekton 0.085129 213 | 48 Kayle 0.083256 214 | 8 Azir 0.082914 215 | 83 Rumble 0.081622 216 | 19 Dr. Mundo 0.081595 217 | 65 Mordekaiser 0.081510 218 | 108 Urgot 0.081307 219 | 13 Caitlyn 0.080615 220 | 7 Ashe 0.079847 221 | 74 Orianna 0.079806 222 | 115 Vladimir 0.078757 223 | 79 Rek'Sai 0.078404 224 | 49 Kennen 0.078268 225 | 91 Sivir 0.077045 226 | 56 Lissandra 0.076942 227 | 31 Gnar 0.076868 228 | 68 Nasus 0.075060 229 | 103 Trundle 0.073423 230 | 60 Malphite 0.072936 231 | 4 Amumu 0.070530 232 | 123 Zac 0.070328 233 | 92 Skarner 0.070110 234 | 122 Yorick 0.070066 235 | 127 Zyra 0.069557 236 | 35 Heimerdinger 0.069465 237 | 25 Fiddlesticks 0.069076 238 | 36 Illaoi 0.069034 239 | 85 Sejuani 0.068313 240 | 78 Rammus 0.067492 241 | 90 Sion 0.067140 242 | 28 Galio 0.065192 243 | 32 Gragas 0.064474 244 | 89 Singed 0.063714 245 | 62 Maokai 0.058552 246 | 97 Tahm Kench 0.057396 247 | 87 Shen 0.056852 248 | 44 Karma 0.053455 249 | 72 Nunu 0.052639 250 | 66 Morgana 0.049060 251 | 58 Lulu 0.045250 252 | 126 Zilean 0.044626 253 | 93 Sona 0.043452 254 | 69 Nautilus 0.042326 255 | 9 Bard 0.039163 256 | 10 Blitzcrank 0.037649 257 | 55 Leona 0.031234 258 | 99 Taric 0.029165 259 | 101 Thresh 0.029053 260 | 3 Alistar 0.027421 261 | 67 Nami 0.026539 262 | 12 Braum 0.023332 263 | 38 Janna 0.014215 264 | 94 Soraka 0.010750 265 | 266 | ------------------------------------------------------------------------- 267 | 268 | Champion Rank by eigenvector centrality ratio 269 | champion eigen eigen_t eigen_ratio 270 | 108 Urgot 0.081307 0.005731 14.186939 271 | 65 Mordekaiser 0.081510 0.006876 11.854637 272 | 122 Yorick 0.070066 0.007315 9.578702 273 | 92 Skarner 0.070110 0.009864 7.107768 274 | 28 Galio 0.065192 0.010151 6.422204 275 | 45 Karthus 0.103326 0.017103 6.041203 276 | 14 Cassiopeia 0.098607 0.016655 5.920541 277 | 125 Ziggs 0.087036 0.017079 5.096208 278 | 119 Xerath 0.096451 0.019623 4.915250 279 | 0 Aatrox 0.086749 0.019671 4.410034 280 | 2 Akali 0.137101 0.031476 4.355667 281 | 83 Rumble 0.081622 0.018950 4.307248 282 | 85 Sejuani 0.068313 0.016440 4.155387 283 | 95 Swain 0.100722 0.024455 4.118602 284 | 52 Kog'Maw 0.097807 0.024578 3.979447 285 | 41 Jayce 0.100396 0.027184 3.693166 286 | 23 Evelynn 0.112072 0.031738 3.531182 287 | 25 Fiddlesticks 0.069076 0.019681 3.509785 288 | 71 Nocturne 0.111259 0.031758 3.503377 289 | 62 Maokai 0.058552 0.017045 3.435158 290 | 96 Syndra 0.109103 0.031839 3.426660 291 | 90 Sion 0.067140 0.019927 3.369235 292 | 50 Kha'Zix 0.113988 0.034069 3.345796 293 | 109 Varus 0.097489 0.030497 3.196643 294 | 72 Nunu 0.052639 0.016590 3.172931 295 | 47 Katarina 0.123811 0.041506 2.982962 296 | 49 Kennen 0.078268 0.027051 2.893325 297 | 89 Singed 0.063714 0.022412 2.842874 298 | 111 Veigar 0.098549 0.035152 2.803518 299 | 106 Twitch 0.115091 0.041733 2.757772 300 | 32 Gragas 0.064474 0.024562 2.624956 301 | 88 Shyvana 0.090227 0.035256 2.559181 302 | 73 Olaf 0.094102 0.036990 2.544001 303 | 56 Lissandra 0.076942 0.031061 2.477132 304 | 35 Heimerdinger 0.069465 0.028436 2.442852 305 | 98 Talon 0.136831 0.056386 2.426704 306 | 123 Zac 0.070328 0.029500 2.383948 307 | 79 Rek'Sai 0.078404 0.033088 2.369580 308 | 117 Warwick 0.087024 0.037731 2.306425 309 | 5 Anivia 0.096377 0.042454 2.270128 310 | 114 Viktor 0.098048 0.044534 2.201673 311 | 112 Vel'Koz 0.086087 0.039182 2.197092 312 | 46 Kassadin 0.113938 0.051902 2.195243 313 | 16 Corki 0.105240 0.048585 2.166107 314 | 48 Kayle 0.083256 0.038845 2.143262 315 | 127 Zyra 0.069557 0.033574 2.071750 316 | 86 Shaco 0.114605 0.057725 1.985337 317 | 34 Hecarim 0.099378 0.050228 1.978510 318 | 15 Cho'Gath 0.089611 0.046717 1.918186 319 | 39 Jarvan IV 0.085687 0.044798 1.912732 320 | 61 Malzahar 0.095782 0.050531 1.895499 321 | 8 Azir 0.082914 0.044510 1.862843 322 | 75 Pantheon 0.117326 0.063160 1.857594 323 | 22 Elise 0.095184 0.053020 1.795222 324 | 74 Orianna 0.079806 0.044611 1.788930 325 | 84 Ryze 0.087098 0.048831 1.783652 326 | 126 Zilean 0.044626 0.025522 1.748552 327 | 20 Draven 0.098645 0.057590 1.712870 328 | 91 Sivir 0.077045 0.045125 1.707368 329 | 116 Volibear 0.093623 0.054973 1.703067 330 | 100 Teemo 0.090190 0.052992 1.701969 331 | 118 Wukong 0.104194 0.065315 1.595255 332 | 107 Udyr 0.086110 0.054134 1.590690 333 | 70 Nidalee 0.098581 0.061997 1.590081 334 | 29 Gangplank 0.091071 0.057488 1.584162 335 | 30 Garen 0.099331 0.062719 1.583755 336 | 18 Diana 0.111487 0.072332 1.541329 337 | 44 Karma 0.053455 0.035269 1.515615 338 | 113 Vi 0.093718 0.063370 1.478902 339 | 77 Quinn 0.115888 0.078754 1.471512 340 | 53 LeBlanc 0.120084 0.083029 1.446294 341 | 43 Kalista 0.101933 0.071427 1.427095 342 | 37 Irelia 0.103349 0.075406 1.370566 343 | 4 Amumu 0.070530 0.052374 1.346667 344 | 31 Gnar 0.076868 0.057245 1.342779 345 | 104 Tryndamere 0.090932 0.068979 1.318257 346 | 7 Ashe 0.079847 0.062001 1.287845 347 | 78 Rammus 0.067492 0.053511 1.261279 348 | 115 Vladimir 0.078757 0.065374 1.204711 349 | 51 Kindred 0.099360 0.083181 1.194505 350 | 26 Fiora 0.098735 0.082968 1.190025 351 | 76 Poppy 0.086346 0.073489 1.174943 352 | 33 Graves 0.100750 0.086336 1.166951 353 | 68 Nasus 0.075060 0.068956 1.088521 354 | 103 Trundle 0.073423 0.067554 1.086879 355 | 21 Ekko 0.100692 0.093202 1.080356 356 | 99 Taric 0.029165 0.027012 1.079720 357 | 17 Darius 0.091852 0.087033 1.055367 358 | 36 Illaoi 0.069034 0.065832 1.048648 359 | 120 Xin Zhao 0.091675 0.088501 1.035867 360 | 27 Fizz 0.133501 0.130144 1.025793 361 | 81 Rengar 0.122539 0.121770 1.006317 362 | 19 Dr. Mundo 0.081595 0.081295 1.003687 363 | 105 Twisted Fate 0.094164 0.096318 0.977637 364 | 63 Master Yi 0.118300 0.124221 0.952339 365 | 1 Ahri 0.100081 0.105459 0.949005 366 | 6 Annie 0.092297 0.101365 0.910542 367 | 80 Renekton 0.085129 0.095072 0.895417 368 | 124 Zed 0.129720 0.147757 0.877927 369 | 82 Riven 0.098452 0.112952 0.871631 370 | 87 Shen 0.056852 0.065951 0.862029 371 | 97 Tahm Kench 0.057396 0.073731 0.778451 372 | 40 Jax 0.096181 0.127117 0.756630 373 | 59 Lux 0.089790 0.125732 0.714138 374 | 60 Malphite 0.072936 0.109235 0.667697 375 | 58 Lulu 0.045250 0.068468 0.660883 376 | 42 Jinx 0.092033 0.139694 0.658815 377 | 121 Yasuo 0.101611 0.158402 0.641474 378 | 24 Ezreal 0.098085 0.156230 0.627823 379 | 93 Sona 0.043452 0.071254 0.609823 380 | 102 Tristana 0.100539 0.166405 0.604181 381 | 69 Nautilus 0.042326 0.073720 0.574141 382 | 13 Caitlyn 0.080615 0.145704 0.553283 383 | 11 Brand 0.088565 0.173950 0.509141 384 | 67 Nami 0.026539 0.052587 0.504666 385 | 9 Bard 0.039163 0.080083 0.489032 386 | 64 Miss Fortune 0.096509 0.221012 0.436671 387 | 110 Vayne 0.101080 0.264297 0.382446 388 | 66 Morgana 0.049060 0.136146 0.360346 389 | 57 Lucian 0.098494 0.275164 0.357945 390 | 54 Lee Sin 0.100247 0.291931 0.343394 391 | 3 Alistar 0.027421 0.084991 0.322635 392 | 55 Leona 0.031234 0.104672 0.298395 393 | 12 Braum 0.023332 0.082756 0.281933 394 | 10 Blitzcrank 0.037649 0.190315 0.197822 395 | 38 Janna 0.014215 0.083486 0.170273 396 | 94 Soraka 0.010750 0.082420 0.130433 397 | 101 Thresh 0.029053 0.229815 0.126420 398 | 399 | ----------------------------------------------------------------------- 400 | 401 | Champion Rank by eigenvector centrality difference 402 | champion eigen eigen_t eigen_diff 403 | 2 Akali 0.137101 0.031476 0.105624 404 | 45 Karthus 0.103326 0.017103 0.086222 405 | 47 Katarina 0.123811 0.041506 0.082305 406 | 14 Cassiopeia 0.098607 0.016655 0.081952 407 | 98 Talon 0.136831 0.056386 0.080446 408 | 23 Evelynn 0.112072 0.031738 0.080334 409 | 50 Kha'Zix 0.113988 0.034069 0.079919 410 | 71 Nocturne 0.111259 0.031758 0.079502 411 | 96 Syndra 0.109103 0.031839 0.077263 412 | 119 Xerath 0.096451 0.019623 0.076828 413 | 95 Swain 0.100722 0.024455 0.076267 414 | 108 Urgot 0.081307 0.005731 0.075576 415 | 65 Mordekaiser 0.081510 0.006876 0.074634 416 | 106 Twitch 0.115091 0.041733 0.073357 417 | 52 Kog'Maw 0.097807 0.024578 0.073229 418 | 41 Jayce 0.100396 0.027184 0.073211 419 | 125 Ziggs 0.087036 0.017079 0.069958 420 | 0 Aatrox 0.086749 0.019671 0.067078 421 | 109 Varus 0.097489 0.030497 0.066992 422 | 111 Veigar 0.098549 0.035152 0.063397 423 | 122 Yorick 0.070066 0.007315 0.062751 424 | 83 Rumble 0.081622 0.018950 0.062672 425 | 46 Kassadin 0.113938 0.051902 0.062036 426 | 92 Skarner 0.070110 0.009864 0.060246 427 | 73 Olaf 0.094102 0.036990 0.057112 428 | 86 Shaco 0.114605 0.057725 0.056879 429 | 16 Corki 0.105240 0.048585 0.056655 430 | 28 Galio 0.065192 0.010151 0.055041 431 | 88 Shyvana 0.090227 0.035256 0.054971 432 | 75 Pantheon 0.117326 0.063160 0.054166 433 | 5 Anivia 0.096377 0.042454 0.053922 434 | 114 Viktor 0.098048 0.044534 0.053515 435 | 85 Sejuani 0.068313 0.016440 0.051873 436 | 49 Kennen 0.078268 0.027051 0.051217 437 | 25 Fiddlesticks 0.069076 0.019681 0.049395 438 | 117 Warwick 0.087024 0.037731 0.049293 439 | 34 Hecarim 0.099378 0.050228 0.049149 440 | 90 Sion 0.067140 0.019927 0.047212 441 | 112 Vel'Koz 0.086087 0.039182 0.046905 442 | 56 Lissandra 0.076942 0.031061 0.045881 443 | 79 Rek'Sai 0.078404 0.033088 0.045316 444 | 61 Malzahar 0.095782 0.050531 0.045251 445 | 48 Kayle 0.083256 0.038845 0.044410 446 | 15 Cho'Gath 0.089611 0.046717 0.042895 447 | 22 Elise 0.095184 0.053020 0.042163 448 | 62 Maokai 0.058552 0.017045 0.041507 449 | 89 Singed 0.063714 0.022412 0.041302 450 | 20 Draven 0.098645 0.057590 0.041055 451 | 35 Heimerdinger 0.069465 0.028436 0.041029 452 | 39 Jarvan IV 0.085687 0.044798 0.040889 453 | 123 Zac 0.070328 0.029500 0.040827 454 | 32 Gragas 0.064474 0.024562 0.039912 455 | 18 Diana 0.111487 0.072332 0.039155 456 | 118 Wukong 0.104194 0.065315 0.038879 457 | 116 Volibear 0.093623 0.054973 0.038650 458 | 8 Azir 0.082914 0.044510 0.038405 459 | 84 Ryze 0.087098 0.048831 0.038267 460 | 100 Teemo 0.090190 0.052992 0.037198 461 | 77 Quinn 0.115888 0.078754 0.037134 462 | 53 LeBlanc 0.120084 0.083029 0.037055 463 | 30 Garen 0.099331 0.062719 0.036612 464 | 70 Nidalee 0.098581 0.061997 0.036584 465 | 72 Nunu 0.052639 0.016590 0.036049 466 | 127 Zyra 0.069557 0.033574 0.035983 467 | 74 Orianna 0.079806 0.044611 0.035195 468 | 29 Gangplank 0.091071 0.057488 0.033582 469 | 107 Udyr 0.086110 0.054134 0.031976 470 | 91 Sivir 0.077045 0.045125 0.031920 471 | 43 Kalista 0.101933 0.071427 0.030506 472 | 113 Vi 0.093718 0.063370 0.030348 473 | 37 Irelia 0.103349 0.075406 0.027943 474 | 104 Tryndamere 0.090932 0.068979 0.021953 475 | 31 Gnar 0.076868 0.057245 0.019622 476 | 126 Zilean 0.044626 0.025522 0.019104 477 | 44 Karma 0.053455 0.035269 0.018185 478 | 4 Amumu 0.070530 0.052374 0.018156 479 | 7 Ashe 0.079847 0.062001 0.017847 480 | 51 Kindred 0.099360 0.083181 0.016179 481 | 26 Fiora 0.098735 0.082968 0.015766 482 | 33 Graves 0.100750 0.086336 0.014414 483 | 78 Rammus 0.067492 0.053511 0.013981 484 | 115 Vladimir 0.078757 0.065374 0.013383 485 | 76 Poppy 0.086346 0.073489 0.012856 486 | 21 Ekko 0.100692 0.093202 0.007489 487 | 68 Nasus 0.075060 0.068956 0.006104 488 | 103 Trundle 0.073423 0.067554 0.005869 489 | 17 Darius 0.091852 0.087033 0.004819 490 | 27 Fizz 0.133501 0.130144 0.003357 491 | 36 Illaoi 0.069034 0.065832 0.003203 492 | 120 Xin Zhao 0.091675 0.088501 0.003174 493 | 99 Taric 0.029165 0.027012 0.002153 494 | 81 Rengar 0.122539 0.121770 0.000769 495 | 19 Dr. Mundo 0.081595 0.081295 0.000300 496 | 105 Twisted Fate 0.094164 0.096318 -0.002154 497 | 1 Ahri 0.100081 0.105459 -0.005378 498 | 63 Master Yi 0.118300 0.124221 -0.005921 499 | 6 Annie 0.092297 0.101365 -0.009068 500 | 87 Shen 0.056852 0.065951 -0.009099 501 | 80 Renekton 0.085129 0.095072 -0.009943 502 | 82 Riven 0.098452 0.112952 -0.014500 503 | 97 Tahm Kench 0.057396 0.073731 -0.016335 504 | 124 Zed 0.129720 0.147757 -0.018037 505 | 58 Lulu 0.045250 0.068468 -0.023219 506 | 67 Nami 0.026539 0.052587 -0.026048 507 | 93 Sona 0.043452 0.071254 -0.027802 508 | 40 Jax 0.096181 0.127117 -0.030937 509 | 69 Nautilus 0.042326 0.073720 -0.031394 510 | 59 Lux 0.089790 0.125732 -0.035942 511 | 60 Malphite 0.072936 0.109235 -0.036299 512 | 9 Bard 0.039163 0.080083 -0.040920 513 | 42 Jinx 0.092033 0.139694 -0.047661 514 | 121 Yasuo 0.101611 0.158402 -0.056791 515 | 3 Alistar 0.027421 0.084991 -0.057570 516 | 24 Ezreal 0.098085 0.156230 -0.058145 517 | 12 Braum 0.023332 0.082756 -0.059424 518 | 13 Caitlyn 0.080615 0.145704 -0.065088 519 | 102 Tristana 0.100539 0.166405 -0.065866 520 | 38 Janna 0.014215 0.083486 -0.069271 521 | 94 Soraka 0.010750 0.082420 -0.071670 522 | 55 Leona 0.031234 0.104672 -0.073438 523 | 11 Brand 0.088565 0.173950 -0.085385 524 | 66 Morgana 0.049060 0.136146 -0.087086 525 | 64 Miss Fortune 0.096509 0.221012 -0.124502 526 | 10 Blitzcrank 0.037649 0.190315 -0.152667 527 | 110 Vayne 0.101080 0.264297 -0.163218 528 | 57 Lucian 0.098494 0.275164 -0.176670 529 | 54 Lee Sin 0.100247 0.291931 -0.191684 530 | 101 Thresh 0.029053 0.229815 -0.200762 531 | 532 | -------------------------------------------------------------- 533 | 534 | Champion Rank by PageRank 535 | champion pagerank 536 | 54 Lee Sin 0.029129 537 | 57 Lucian 0.027747 538 | 110 Vayne 0.027159 539 | 101 Thresh 0.023106 540 | 64 Miss Fortune 0.022397 541 | 10 Blitzcrank 0.019489 542 | 11 Brand 0.017729 543 | 102 Tristana 0.017387 544 | 121 Yasuo 0.016133 545 | 24 Ezreal 0.016080 546 | 13 Caitlyn 0.014983 547 | 124 Zed 0.014969 548 | 42 Jinx 0.014556 549 | 66 Morgana 0.014152 550 | 27 Fizz 0.013474 551 | 40 Jax 0.013423 552 | 63 Master Yi 0.013105 553 | 59 Lux 0.012835 554 | 81 Rengar 0.012810 555 | 82 Riven 0.011851 556 | 60 Malphite 0.011610 557 | 55 Leona 0.011296 558 | 1 Ahri 0.010883 559 | 6 Annie 0.010804 560 | 105 Twisted Fate 0.010122 561 | 80 Renekton 0.010090 562 | 21 Ekko 0.009927 563 | 120 Xin Zhao 0.009552 564 | 33 Graves 0.009408 565 | 17 Darius 0.009379 566 | 3 Alistar 0.009307 567 | 51 Kindred 0.009128 568 | 12 Braum 0.009116 569 | 38 Janna 0.009039 570 | 53 LeBlanc 0.009039 571 | 94 Soraka 0.009011 572 | 26 Fiora 0.008999 573 | 9 Bard 0.008866 574 | 19 Dr. Mundo 0.008774 575 | 77 Quinn 0.008735 576 | 37 Irelia 0.008395 577 | 97 Tahm Kench 0.008215 578 | 69 Nautilus 0.008206 579 | 76 Poppy 0.008185 580 | 43 Kalista 0.008093 581 | 93 Sona 0.008005 582 | 18 Diana 0.007947 583 | 104 Tryndamere 0.007877 584 | 68 Nasus 0.007688 585 | 58 Lulu 0.007617 586 | 103 Trundle 0.007537 587 | 87 Shen 0.007385 588 | 118 Wukong 0.007380 589 | 36 Illaoi 0.007376 590 | 115 Vladimir 0.007357 591 | 75 Pantheon 0.007213 592 | 113 Vi 0.007162 593 | 7 Ashe 0.007116 594 | 30 Garen 0.007048 595 | 70 Nidalee 0.007005 596 | 20 Draven 0.006813 597 | 86 Shaco 0.006689 598 | 31 Gnar 0.006542 599 | 29 Gangplank 0.006489 600 | 98 Talon 0.006416 601 | 116 Volibear 0.006373 602 | 107 Udyr 0.006254 603 | 100 Teemo 0.006251 604 | 22 Elise 0.006241 605 | 78 Rammus 0.006232 606 | 67 Nami 0.006165 607 | 4 Amumu 0.006137 608 | 34 Hecarim 0.005954 609 | 46 Kassadin 0.005942 610 | 61 Malzahar 0.005879 611 | 16 Corki 0.005837 612 | 84 Ryze 0.005751 613 | 15 Cho'Gath 0.005527 614 | 91 Sivir 0.005477 615 | 39 Jarvan IV 0.005416 616 | 114 Viktor 0.005302 617 | 8 Azir 0.005297 618 | 106 Twitch 0.005247 619 | 74 Orianna 0.005245 620 | 5 Anivia 0.005130 621 | 47 Katarina 0.005069 622 | 112 Vel'Koz 0.004850 623 | 48 Kayle 0.004840 624 | 117 Warwick 0.004750 625 | 73 Olaf 0.004656 626 | 88 Shyvana 0.004477 627 | 44 Karma 0.004465 628 | 111 Veigar 0.004434 629 | 127 Zyra 0.004373 630 | 50 Kha'Zix 0.004341 631 | 79 Rek'Sai 0.004291 632 | 71 Nocturne 0.004176 633 | 2 Akali 0.004175 634 | 23 Evelynn 0.004173 635 | 96 Syndra 0.004132 636 | 109 Varus 0.004091 637 | 56 Lissandra 0.004078 638 | 123 Zac 0.003956 639 | 35 Heimerdinger 0.003832 640 | 99 Taric 0.003766 641 | 49 Kennen 0.003765 642 | 41 Jayce 0.003729 643 | 126 Zilean 0.003615 644 | 52 Kog'Maw 0.003534 645 | 32 Gragas 0.003466 646 | 95 Swain 0.003439 647 | 89 Singed 0.003272 648 | 25 Fiddlesticks 0.003088 649 | 90 Sion 0.003057 650 | 0 Aatrox 0.003046 651 | 119 Xerath 0.002982 652 | 83 Rumble 0.002967 653 | 62 Maokai 0.002796 654 | 45 Karthus 0.002762 655 | 14 Cassiopeia 0.002741 656 | 125 Ziggs 0.002738 657 | 72 Nunu 0.002736 658 | 85 Sejuani 0.002712 659 | 28 Galio 0.002110 660 | 92 Skarner 0.002105 661 | 122 Yorick 0.001861 662 | 65 Mordekaiser 0.001825 663 | 108 Urgot 0.001721 664 | 665 | ------------------------------------------------- 666 | 667 | Champion Rank by HITS 668 | champion hub 669 | 98 Talon 0.012690 670 | 2 Akali 0.012320 671 | 106 Twitch 0.012129 672 | 27 Fizz 0.011963 673 | 47 Katarina 0.011612 674 | 124 Zed 0.011596 675 | 81 Rengar 0.011561 676 | 43 Kalista 0.011035 677 | 77 Quinn 0.011020 678 | 53 LeBlanc 0.010948 679 | 16 Corki 0.010945 680 | 63 Master Yi 0.010853 681 | 86 Shaco 0.010758 682 | 50 Kha'Zix 0.010707 683 | 102 Tristana 0.010639 684 | 23 Evelynn 0.010602 685 | 75 Pantheon 0.010573 686 | 20 Draven 0.010485 687 | 71 Nocturne 0.010423 688 | 46 Kassadin 0.010365 689 | 24 Ezreal 0.010239 690 | 33 Graves 0.010116 691 | 110 Vayne 0.010110 692 | 18 Diana 0.010073 693 | 57 Lucian 0.010059 694 | 109 Varus 0.009901 695 | 64 Miss Fortune 0.009890 696 | 96 Syndra 0.009767 697 | 52 Kog'Maw 0.009664 698 | 42 Jinx 0.009496 699 | 118 Wukong 0.009447 700 | 45 Karthus 0.009367 701 | 51 Kindred 0.009268 702 | 70 Nidalee 0.009262 703 | 21 Ekko 0.009063 704 | 34 Hecarim 0.009008 705 | 114 Viktor 0.009004 706 | 1 Ahri 0.008989 707 | 37 Irelia 0.008938 708 | 95 Swain 0.008910 709 | 22 Elise 0.008885 710 | 41 Jayce 0.008830 711 | 119 Xerath 0.008822 712 | 111 Veigar 0.008817 713 | 14 Cassiopeia 0.008800 714 | 121 Yasuo 0.008750 715 | 105 Twisted Fate 0.008742 716 | 5 Anivia 0.008666 717 | 113 Vi 0.008633 718 | 6 Annie 0.008519 719 | 30 Garen 0.008484 720 | 61 Malzahar 0.008467 721 | 26 Fiora 0.008413 722 | 54 Lee Sin 0.008407 723 | 82 Riven 0.008390 724 | 116 Volibear 0.008357 725 | 40 Jax 0.008305 726 | 13 Caitlyn 0.008291 727 | 7 Ashe 0.008290 728 | 11 Brand 0.008235 729 | 120 Xin Zhao 0.008231 730 | 59 Lux 0.008213 731 | 112 Vel'Koz 0.008189 732 | 29 Gangplank 0.008139 733 | 88 Shyvana 0.008135 734 | 73 Olaf 0.008076 735 | 91 Sivir 0.008039 736 | 125 Ziggs 0.007861 737 | 15 Cho'Gath 0.007825 738 | 39 Jarvan IV 0.007813 739 | 100 Teemo 0.007797 740 | 117 Warwick 0.007775 741 | 107 Udyr 0.007767 742 | 76 Poppy 0.007755 743 | 104 Tryndamere 0.007740 744 | 17 Darius 0.007704 745 | 84 Ryze 0.007622 746 | 8 Azir 0.007519 747 | 108 Urgot 0.007509 748 | 48 Kayle 0.007461 749 | 0 Aatrox 0.007386 750 | 79 Rek'Sai 0.007352 751 | 83 Rumble 0.007206 752 | 65 Mordekaiser 0.007203 753 | 74 Orianna 0.007187 754 | 19 Dr. Mundo 0.007184 755 | 80 Renekton 0.007178 756 | 49 Kennen 0.007143 757 | 127 Zyra 0.006977 758 | 56 Lissandra 0.006846 759 | 115 Vladimir 0.006827 760 | 123 Zac 0.006541 761 | 60 Malphite 0.006532 762 | 31 Gnar 0.006498 763 | 4 Amumu 0.006463 764 | 25 Fiddlesticks 0.006445 765 | 103 Trundle 0.006397 766 | 92 Skarner 0.006340 767 | 68 Nasus 0.006262 768 | 78 Rammus 0.006239 769 | 85 Sejuani 0.006129 770 | 90 Sion 0.005966 771 | 32 Gragas 0.005961 772 | 35 Heimerdinger 0.005916 773 | 122 Yorick 0.005909 774 | 36 Illaoi 0.005815 775 | 28 Galio 0.005697 776 | 89 Singed 0.005445 777 | 62 Maokai 0.005238 778 | 97 Tahm Kench 0.005231 779 | 87 Shen 0.005120 780 | 44 Karma 0.005083 781 | 72 Nunu 0.004856 782 | 66 Morgana 0.004797 783 | 93 Sona 0.004456 784 | 126 Zilean 0.004444 785 | 58 Lulu 0.004203 786 | 69 Nautilus 0.004116 787 | 9 Bard 0.004049 788 | 10 Blitzcrank 0.003797 789 | 55 Leona 0.003226 790 | 101 Thresh 0.002926 791 | 99 Taric 0.002839 792 | 67 Nami 0.002773 793 | 3 Alistar 0.002754 794 | 12 Braum 0.002402 795 | 38 Janna 0.001501 796 | 94 Soraka 0.001080 797 | champion auth 798 | 54 Lee Sin 0.034077 799 | 57 Lucian 0.029830 800 | 110 Vayne 0.028309 801 | 101 Thresh 0.024401 802 | 64 Miss Fortune 0.024165 803 | 10 Blitzcrank 0.020528 804 | 11 Brand 0.020024 805 | 121 Yasuo 0.019053 806 | 102 Tristana 0.017558 807 | 124 Zed 0.017053 808 | 24 Ezreal 0.016906 809 | 13 Caitlyn 0.015626 810 | 27 Fizz 0.015250 811 | 66 Morgana 0.014936 812 | 42 Jinx 0.014918 813 | 59 Lux 0.014869 814 | 40 Jax 0.014685 815 | 63 Master Yi 0.014034 816 | 81 Rengar 0.013818 817 | 82 Riven 0.012893 818 | 1 Ahri 0.012548 819 | 60 Malphite 0.012468 820 | 6 Annie 0.011779 821 | 105 Twisted Fate 0.011353 822 | 55 Leona 0.011061 823 | 80 Renekton 0.010727 824 | 21 Ekko 0.010663 825 | 17 Darius 0.010007 826 | 120 Xin Zhao 0.009939 827 | 53 LeBlanc 0.009527 828 | 51 Kindred 0.009413 829 | 26 Fiora 0.009398 830 | 33 Graves 0.009360 831 | 19 Dr. Mundo 0.009071 832 | 3 Alistar 0.008966 833 | 38 Janna 0.008876 834 | 94 Soraka 0.008868 835 | 12 Braum 0.008808 836 | 77 Quinn 0.008765 837 | 37 Irelia 0.008593 838 | 9 Bard 0.008529 839 | 18 Diana 0.008344 840 | 76 Poppy 0.008328 841 | 97 Tahm Kench 0.008053 842 | 68 Nasus 0.007957 843 | 69 Nautilus 0.007943 844 | 104 Tryndamere 0.007879 845 | 115 Vladimir 0.007640 846 | 93 Sona 0.007614 847 | 58 Lulu 0.007607 848 | 103 Trundle 0.007495 849 | 36 Illaoi 0.007494 850 | 43 Kalista 0.007401 851 | 87 Shen 0.007329 852 | 118 Wukong 0.007305 853 | 75 Pantheon 0.007210 854 | 113 Vi 0.007111 855 | 30 Garen 0.006997 856 | 70 Nidalee 0.006980 857 | 29 Gangplank 0.006632 858 | 7 Ashe 0.006620 859 | 31 Gnar 0.006537 860 | 86 Shaco 0.006416 861 | 98 Talon 0.006360 862 | 100 Teemo 0.006284 863 | 116 Volibear 0.006100 864 | 107 Udyr 0.006067 865 | 20 Draven 0.006011 866 | 4 Amumu 0.006000 867 | 61 Malzahar 0.005959 868 | 78 Rammus 0.005908 869 | 22 Elise 0.005904 870 | 46 Kassadin 0.005893 871 | 84 Ryze 0.005707 872 | 34 Hecarim 0.005660 873 | 67 Nami 0.005619 874 | 15 Cho'Gath 0.005276 875 | 114 Viktor 0.005243 876 | 74 Orianna 0.005208 877 | 8 Azir 0.005192 878 | 16 Corki 0.005099 879 | 39 Jarvan IV 0.005036 880 | 5 Anivia 0.004919 881 | 47 Katarina 0.004808 882 | 91 Sivir 0.004750 883 | 48 Kayle 0.004477 884 | 106 Twitch 0.004409 885 | 112 Vel'Koz 0.004368 886 | 117 Warwick 0.004283 887 | 111 Veigar 0.004204 888 | 73 Olaf 0.004192 889 | 88 Shyvana 0.003894 890 | 44 Karma 0.003883 891 | 50 Kha'Zix 0.003726 892 | 96 Syndra 0.003670 893 | 79 Rek'Sai 0.003652 894 | 127 Zyra 0.003636 895 | 2 Akali 0.003603 896 | 56 Lissandra 0.003554 897 | 23 Evelynn 0.003506 898 | 71 Nocturne 0.003478 899 | 35 Heimerdinger 0.003442 900 | 109 Varus 0.003297 901 | 123 Zac 0.003226 902 | 41 Jayce 0.003129 903 | 49 Kennen 0.003120 904 | 99 Taric 0.002930 905 | 95 Swain 0.002860 906 | 126 Zilean 0.002755 907 | 32 Gragas 0.002692 908 | 52 Kog'Maw 0.002643 909 | 89 Singed 0.002553 910 | 119 Xerath 0.002300 911 | 0 Aatrox 0.002249 912 | 90 Sion 0.002225 913 | 25 Fiddlesticks 0.002225 914 | 83 Rumble 0.002194 915 | 45 Karthus 0.002012 916 | 125 Ziggs 0.002001 917 | 14 Cassiopeia 0.001962 918 | 62 Maokai 0.001919 919 | 72 Nunu 0.001849 920 | 85 Sejuani 0.001832 921 | 28 Galio 0.001144 922 | 92 Skarner 0.001115 923 | 122 Yorick 0.000837 924 | 65 Mordekaiser 0.000785 925 | 108 Urgot 0.000628 --------------------------------------------------------------------------------