I am trying to solve a multi-class classification involving prediction the outcome of a football match (target variable = Win, Lose or Draw). With a dataset of 2280 rows, which is 6 seasons of football data.

I have features with both numerical and categorical values (which I have encoded using one encoding). However, after doing research online I am getting mixed answers on if I should perform feature selection before or after one hot encoding. And also what specific feature selection methods are my best option.

Before one hot encoding I get 25 features and after 128 features.

When training several different machine learning models without any feature selection and all 128 features, I get some good results mainly with a decision tree, SVM and custom neural network, which I achieve higher 90% accuracy for all 3. With naïve bayes and KNN I get around 60%.

However, I have read here: https://machinelearningmastery.com/feature-selection-with-real-and-categorical-data/ where it mentions the best feature selection method based on if a the input data is categorical or numeric. However in my situation it is technically both.

  • $\begingroup$ Perhaps you first want to assess relative skill by feeding historic {win, loss, draw} into an Elo rating calculation. And then after Elo your categorical features, like “played when weather was overcast”, will be new information to fine tune on top of that. $\endgroup$
    – J_H
    Feb 1 at 20:43
  • $\begingroup$ @J_H im confused what you mean by this, where would i get weather match info from. I am trying to select the best features from what I have no add more in $\endgroup$ Feb 1 at 22:37
  • $\begingroup$ Oh, OK. I hear that some sport professionals will sometimes explain they couldn't make an important reception because the sun was in their eyes. You know the city and date of each contest, so you can know the weather. Of the 25 (unspecified) features, I assumed that would be one of them; it didn't occur to me to try to predict a game outcome without knowing the game conditions. Perhaps I should have speculated that "number of disabled starters" or "home vs. away" were features you could layer atop Elo rankings. "Hours since plane landed" and "timezone recovery" are also of interest. $\endgroup$
    – J_H
    Feb 1 at 23:09
  • $\begingroup$ @J_H thanks, but that wasn't my question. My question is regarding best feature selection method based on my scenario. $\endgroup$ Feb 1 at 23:46
  • $\begingroup$ I know. You didn't offer enough details about your problem, so I answered the question lurking behind your question: "How do I obtain better out-of-sample performance from my model(s)?" -- do the Elo calculations, which your models aren't good at, and offer that as a feature. // "...if the input data is categorical or numeric. However in my situation it is technically both." You technically don't have to describe your input data to us. But it would be helpful. // Your decision tree has already segregated {informative, distractor} features. Exploit that when training NB and K-NN. $\endgroup$
    – J_H
    Feb 2 at 2:50


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.