I have 667 features and I want to find features that have a significant boundary between a binary class label before I apply a classification model (e.g Naive Bayes/ SVM) to improve classification model learning rate.

What I know is, if the features' values between the two classes are overlapping, this will cause poor classification.

Hence, I have done a 2 samples t-test to calculate the statistical significance of features between binary class label.

from scipy import stats
failure = [1]

#separate out the non-failure and failure group data into 2 dataframes to calculate the 
t-test between each feature.

df_failure= df.loc[df['label'].isin(failure)]
df_nonfailure= df.loc[~df['label'].isin(failure)]

for x in listofname:

     p.append((stats.ttest_ind(df_failure[x],df_nonfailure[x], equal_var=False)))

My question is, is this a good features selection approach beside recursive feature elimination/wrapper method? Is there any similar method out there?


Your Answer

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

Browse other questions tagged or ask your own question.