This is related to Sports prediction (Cricket). I am new to Machine Learning and learning it through TensorFlow.
I am focusing only on one topic which is "How many runs
Player A will score in today's match?"
My raw data includes all cricket player's score in all matches. It also includes more finer details like the ground the match happened, day/night match, opposition team etc., I need to use this data and predict four possible ranges for a player's score with all 4 range having equal probability.
I am planning to keep 4 simple
FeatureColumn to start with:
- Average of runs of the given player in the past 10 matches (relative to the match that is being trained)
- Batting order (1 to 10) (in the match being trained)
- Average of runs since debut (relative to the match that is being trained)
- Average no. of balls faced in the past 10 matches (relative to the match that is being trained)
My actual output will be the runs scored by that player in the match being trained.
I can consider 100 recent matches of a player for this training.
This tutorial https://www.tensorflow.org/tutorials/wide from TensorFlow seems to match with what I am approaching. But the final output is a binary value (whether salary is >50K or not). But I need to generate output with probability of a given player getting a run. For eg.
Run | Probability of getting this run ----------------------------------------- 0 runs : 0.01 1 run : 0.01 2 runs : 0.02 .... 13 runs : 0.5 14 runs : 0.04 .... 56 runs : 0.08 57 runs : 0.03 ....
Sum of Probability should add up to 1. I'll then group all these values into 4 ranges with each range having an equal probability (0.25 for each range) like this:
Which approach can I use for solving this problem? I read about Linear regression and that seems to be the best fit for me, but I am not clear on how to generate probability of all possible outcomes.