w4k2 / stream-learn

The stream-learn is an open-source Python library for difficult data stream analysis.
https://stream-learn.readthedocs.io
GNU General Public License v3.0
62 stars 20 forks source link

Unused variable in OOB and UOB #28

Open francoispichard opened 2 years ago

francoispichard commented 2 years ago

Hello,

First of all I would like to congratulate you for developing this very nice package!

I have a question regarding the files strlearn/ensembles/OOB.py and strlearn/ensembles/UOB.py.

If we look at line 28 in the OOB file and line 29 in the UOB file, we observe that the variable self.current_ctdcs_ is declared. I wonder whether there is a typo in the name of that variable because it is never used. If I am not mistaken, the variable self.current_ctdcs_ should be replaced with self.current_tdcs_ because the former corresponds to the latter with an extra (unintended) character. This way, when considering the first instance in a new chunk (different from the first one), we can reuse the class sizes defined for the last instance in the previous chunk (for this we would need self.current_tdcs = self.last_instance_sizes), which would enable us to be consistent with equation (1) from ref. [1] (i.e., research article in which OOB and UOB were introduced) at all time points.

Do you (@xehivs) also agree that this is a typo? Many thanks for your attention!

References: [1] S. Wang, L. L. Minku, and X. Yao, “Resampling-Based Ensemble Methods for Online Class Imbalance Learning,” IEEE Transactions on Knowledge and Data Engineering, vol. 27, no. 5, pp. 1356–1368, May 2015, doi: 10.1109/TKDE.2014.2345380.

TibetanSandFox commented 2 years ago

Hello @francoispichard,

Thank you very much for your kind words! We're glad that you enjoyed stream-learn!

You're right, the variable self.current_ctdcs_ in fact contained a typo. This has now been corrected. Soon, we plan to review the library and introduce further improvements to adjust stream-learn to the new versions of the required packages.

Thank you very much for highlighting this error. If you notice anything else, feel free to contact us.

Regards Pawel Zyblewski