# Reverse Engineering using machine learning

First I want to say I'm completely new to the machine learning paradigm and have only discussed it in theory. I have been trying to put it into practice but I'm confused on how to derive the dataset in a way that would allow me to reverse engineer the following problem:

Let's say we have a dataset with a few traits(attributes for a player) and we are trying to reverse engineer the formula for deciding if a player scores a goal:

Let's say the attributes are the following. All numbers are from 0-100.

             AGI     AWR    KP    KA     Tec(technique)
Player 1     44      60     90    70      66


Let's say the real formula we are trying to reverse engineer is the following:

.25*AGI + .15*AWR + .30*((KP+KA)/2) + .30*(Tec) + diceRoll(3)


And let's say if the number comes out to be greater than 85 the player scores the goal.

Let's say our data set essentially has a bunch of players kick attempts at the goal, and has a true or false for score like the following:

 AGI     AWR    KP    KA     Tec  Score
60      40     70    30      50    1(true)
44      60     90    70      66    0(false)
90      90     60    65      38    0(false)


Is there a way to train a neural network that essentially predict outcomes based on a player's attributes?

Is this the correct use of a neural network? or is there a better tool suited to figure this out?

If you know the hidden formula is something like a1*AGI + a2*AWR + a3*KP + a4*KA + a5*Tec + diceRoll(n) (since the example you gave is of that form; .30*((KP+KA)/2) can be rewritten as .15*KP + .15*KA), and all you don't know is the values of a1 through a5 and the value of n, then a neural network is overkill. All you need is a multi-parameter function minimization routine like R's optim or Python's scipy.optimize.minimize. Minimize the negative sum of the logarithms of the likelihood of each observation. The likelihood of each observation is just the probability of the observed outcome (1 or 0) given the model parameters being considered by the minimization routine.