1
$\begingroup$

Which ML method would you say is the easiest to derive a mathematical formula from based on already existing data of predictor stats and outcome?

I have this data:

Opponent 1:

  • Strength: x
  • Battle Score: y

I also have a model that I put against the opponent:

Opponent 2:

  • Strength: z
  • Battle Score: k

Finally, all outcomes of fights are written into a database (which currently has around 2800 outcomes) and look something like this model:

Fight:

  • Strength: x - z
  • Battle Score: y - k
  • Outcome: win/lose

I would want to get proper weights for Strength and Battle Score, so I can derive a simple formula from it and thus somewhat predict whether the next fight will be won or lost.

$\endgroup$
  • $\begingroup$ Linear regression will do the job here $\endgroup$ – Aditya Oct 6 '18 at 11:17
2
$\begingroup$

If you want "the easiest" for "a simple formula", then for sure it will be a linear regression on the battle score, or a logistic regression on "win/lose". That way you'll have the coefficients of the model, and they will be interpretable (which you won't get from a neural network with hundreds of parameters).

$\endgroup$
0
$\begingroup$

You have to do binary classification. Here is how in Keras:

  1. Organize your dataset so that it looks like a matrix or a pandas dataframe:

enter image description here

  1. Outcome is going to be the label vector and the matrix without fight id and Outcome is going to be the features of the dataset.

  2. Divide the dataset in train and test, for example with scikit learn train_test_split

  3. Build a simple model with Keras

    model = Sequential()
    model.add(Dense(10, input_dim=4, activation='relu'))
    model.add(Dense(10, activation='relu'))
    model.add(Dropout(0.2))
    model.add(Dense(1, activation='sigmoid')
    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']
    
  4. Train it:

    model.fit(train_x, train_y, epochs= 2, batch_size = 500, validation_data = (test_x, test_y))
    
$\endgroup$
  • $\begingroup$ I don't think a neural network with four layers, including a dropout, is "the easiest to derive a mathematical formula". $\endgroup$ – Mephy Oct 6 '18 at 17:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.