I am working on a time series, regression problem, where I have 10 features and 180 observations. I would like to understand what the minimum number of features should be in a dataset to use feature selection method?
1 Answer
For starters you can find the correlation of each column with the output column and select the features which are highly correlated .This will also help you to remove features which will not contribute towards learning weights and biases . For example
df.corr()["quality"]
OUTPUT
fixed acidity 0.119024
volatile acidity -0.395214
citric acid 0.228057
residual sugar 0.013640
chlorides -0.130988
free sulfur dioxide -0.050463
total sulfur dioxide -0.177855
density -0.184252
pH -0.055245
sulphates 0.248835
alcohol 0.480343
quality 1.000000
Name: quality, dtype: float64
Above code will give the correlation of the output label with each column.Removing columns with negative correlation with increase you accuracy .By doing this you can also choose you top 5 or 10 feature which are highly correlated with the output label and include them in your model.
-
$\begingroup$ So for applying correlation , should I do standard scaling first before finding correlation ? Out of 10 features , 2 features have different units. $\endgroup$ Commented Oct 9, 2021 at 11:09
-
$\begingroup$ Units and Scaling/Normalizing doesn't make a difference in correlation . Standard Scaling will help to reduce computation so it is recommend (not mandatory ) to Normalise your data $\endgroup$ Commented Oct 9, 2021 at 15:58