Ekeany / Boruta-Shap

A Tree based feature selection tool which combines both the Boruta feature selection algorithm with shapley values.
MIT License
559 stars 86 forks source link

Boruta doesn't finish set runs (and ends with 0 important features) #80

Open ivandubar opened 2 years ago

ivandubar commented 2 years ago

Describe the bug

At times when I run Boruta with different data it doesn't finish set runs (100) and ends with 0 important features and 0 tentative features. It usually stops at the 16 run and no important features are found.

TentativeRoughFix() did not help, also increased the runs from 100 to 200, set Sample = True and False, changed random states, set Sample = True and False but still got the same result.

To Reproduce

Steps to reproduce the behavior: `Feature_Selector = BorutaShap(model=model, importance_measure='shap', classification=True)

Feature_Selector.fit(X=X, y=y, n_trials=200, sample=False, normalize=True, verbose=True, random_state=1)

Feature_Selector.TentativeRoughFix() `

Expected behavior

Boruta should at least finish its runs. In addition, at times it doesn't find any important nor tentative features. Sometimes it works using a very similar dataset with the same n features and observations.

wbzhang233 commented 2 years ago

Hey, did you solve this problem yet? I'm bothered by the same problem now, Boruta_Shap could not print any extra info and finished at all. Just like below

image