scikit-learn-contrib / boruta_py

Python implementations of the Boruta all-relevant feature selection method.
BSD 3-Clause "New" or "Revised" License
1.5k stars 256 forks source link

Confirmed + Tentative + Rejected not always equal to number of features in final iteration? #70

Closed JohnStott closed 4 years ago

JohnStott commented 4 years ago

Hi,

it seems that throughout the _print_results method, the Confirmed + Tentative + Rejected is correct except for the final cycle in which it appears the "Tentative" value is incorrect. Could this mean self.support_weak_ is not always being updated correctly?

Here is an example of the output (see last cycle, where the values don't sum to the number of features?):

Iteration: 1 / 150 Confirmed: 0 Tentative: 47 Rejected: 0

....

Iteration: 148 / 150 Confirmed: 10 Tentative: 2 Rejected: 35

Iteration: 149 / 150 Confirmed: 10 Tentative: 2 Rejected: 35

BorutaPy finished running.

Iteration: 150 / 150 Confirmed: 10 Tentative: 1 Rejected: 35

Naehil commented 4 years ago

self.support_weak_, as well as self.support_ are updated correctly, however internally the number of rejected features are miscounted in the last step.

danielhomola commented 4 years ago

this is fixed now. pull latest master and should be good.

FeFortti commented 6 months ago

This error is still happening. In practice, what is happening is what was mentioned by @Naehil ?