For example, I have the following csv: training.csv
I want to know how I can determine which column will be the best feature for getting the output prediction before I go for machine training.
Please do share your responses


Though there is no universal method which can be blindly used for all datasets, but here is what i usually do;

  • Fill missing values using interpolation or mean, if missing values are less than 10-15 percent of number of rows else drop the column.
  • Encode categorical data using some kind of encoding, e.g. one hot, etc.
  • Then normalize/rescale columns.
  • Now look at the variance in each feature. Usually, features with more variance are more important.

  • Next, see the correlation among columns. If two columns are highly correlated, you only need to keep only one.


You should know your data 100%. That means knowing what each of your columns and rows represents (e.g. temperature column, humidity, rows representing days), the value units (e.g. Celsius or Fahrenheit?), accuracy, value format (strings or numbers). You may need to clean and reorganize the data if necessary to bring them to your desired form (e.g. change the structure, units, aggregating, etc).

Then use your logic and experience to decide what columns are necessary. This is in general. I hope someone will give you a more specific answer.

  • $\begingroup$ Thank you for your reply. But I was expecting a bit of professional answer. What you have said is really general. But if I need to know the exact thing then what the other professionals try I would love to know about that. $\endgroup$ – Jaffer Wilson Jan 16 '19 at 12:58

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.