I don't fraternise with those filthy LoL players! /s
On a more serious note, I'm sure something like this exists already. I wasn't even the first one to write a Dota picker, I got the idea from someone else's tool. I even saw one that could analyse the display and recognise the hero images to enter the existing picks automatically!
Even my little utility merely scratched the surface. It didn't handle the first few picks well, because the choices are not independent. Depending on the game mode chosen, each team can take turns picking. In the fully competitive variant of the game, players can even exclude ("ban") heroes from that individual match.
I only optimised mine for picking the last one or two heroes out of the ten players, because I either played solo or with one other friend. We'd pick last based on my tool's recommendations.
That alone was hard enough to program! Theoretically, it's a trivial probability problem. Just build a 10-d matrix of win rates, and then picking is trivial. Unfortunately, this is a huge amount of data, and impossible to train well. Reducing it to, say, the 3-d case of ally+ally+oppose and computing that over every combination in the current picks doesn't cover things like the support/lead roles well, so it over-recommends some heroes. Some heroes do well with short games, some with long. Some can reduce the game length, others can drag it out. Some are "greedy", consuming shared team resources, others are frugal. I ended up with a complex heuristic model that included all of these high-level traits in its combined recommendation plan.
Fundamentally, there's nowhere near enough data available for a full model, and the labels are super noisy, because even a good combo may only shift the win rate by 10 or 20 percent at best. You might see thousands of samples for some popular combination of strong heroes, but then you'd get a long tail of individually unique games.
I found a theoretical mathematical paper that covered this exact training scenario, and it basically concluded that this is an entirely new branch of probability theory that has been essentially unexplored. In other words: "Good luck with that, we couldn't solve it either!"
It's certainly a fun problem space to play with. There's tons of data, and you can immediately test the output yourself, personally. There's no end to the depth of it either! You can go to the n-th degree and even start recommending ideal hero builds (i.e.: which items to buy in-game), where each hero should be positioned, etc...