Closed alexsherman closed 5 years ago
Extended ReqService interface to include bans by default for filtering and implemented for SingleSummonerReqService. In a future (soon) change I will have SingleSummonerReqService calculate the base win-rate for the summoner on each champion and multiply that into the overall score, which should sufficiently handle the first-pick and second/third-pick cases.
SingleSummonerReqService now factors in overall winrates on champions, but from quick testing this appears to dominate the overall score (model leans too heavily towards always recommending champions with the highest overall winrate). We should tinker with the model to find the best way to weight different values
for sure. one more small enhancement request: remove any duplicated champions in the returned requests. e.g. http://localhost:8000/req?req_num=10&team=Braum&opp=Rengar -> ["Elise","Nidalee","Pantheon","Nidalee","Nidalee","Nidalee","Nidalee","Nidalee","Nidalee","Nidalee"] (this could be already fixed, haven't merged master in rust-server in a bit, but ya)
Duplicates in the results should be fixed by multiplying by player's overall winrate on champs. Though I do need to do some debugging and add some tests to try to make sense of the numbers.
Req service now gives this for the query you posted:
maybe [Alex] should play one of these champions: ["Jinx", "Fiddlesticks", "Riven", "Soraka", "Karthus", "Akali", "Leona", "Graves", "Vladimir", "Lucian"]
Testing with API revealed a few things that could be improved -
Remove banned and already-picked champs as options (if the csv doesn't have banned, I can regenerate with it) Allow empty vec of champs for one team - in draft, this would really only represent second pick's epistemic position, but could be used more generally to see how well a champ does without factoring in team synergies