Waikato / moa

MOA is an open source framework for Big Data stream mining. It includes a collection of machine learning algorithms (classification, regression, clustering, outlier detection, concept drift detection and recommender systems) and tools for evaluation.
http://moa.cms.waikato.ac.nz/
GNU General Public License v3.0
613 stars 354 forks source link

Add new meta classifiers #209

Closed alessiobernardo closed 3 years ago

alessiobernardo commented 4 years ago

The aim of the request is to add 6 new meta classifier introduced in [1]. They are: OnlineAdaC2, OnlineBoosting, OnlineCSB2, OnlineRUSBoost, OnlineSMOTEBagging and OnlineUnderOverBagging.

[1]: B. Wang and J. Pineau, "Online Bagging and Boosting for Imbalanced Data Streams," in IEEE Transactions on Knowledge and Data Engineering, vol. 28, no. 12, pp. 3353-3366, 1 Dec. 2016. doi: 10.1109/TKDE.2016.2609424

alessiobernardo commented 3 years ago

I also added two other techniques called RebalanceStream [2] and CSMOTE [3].

[2]: Alessio Bernardo, Albert Bifet, Emanuele Della Valle. Incremental Rebalancing Learning \on Evolving Data Streams. In ICDM Workshop, 2020, in press. [3]: Alessio Bernardo, Heitor Murilo Gomes, Jacob Montiel, Bernhard Pfharinger, Albert Bifet, Emanuele Della Valle. C-SMOTE: Continuous Synthetic Minority Oversampling for Evolving Data Streams. In BigData, IEEE, 2020, in press.

abifet commented 3 years ago

Thanks for the pull request!

As all classifiers are for imbalanced data, please put them into a new folder "imbalanced" inside "meta", to make this clear.

Please include only java files in the pull request. Please use clear names for the classifiers, for example "OnlineBoosting.java" is too generic.

Thanks!

alessiobernardo commented 3 years ago

Hi Albert!

I added the imbalanced folder and I changed the OnlineBoosting algorithm name in OnlineAdaBoost.

Thank you!

abifet commented 3 years ago

Thanks Alessio! Can you remove all the files that are not .java in the pull request? Can you add unit tests for the new classifiers?

Thanks, Albert

alessiobernardo commented 3 years ago

Sure! I did it!