iBRF
This repository contains the code and supplementary files for the proposed iBRF (Improved Balanced Random Forest) classifier.
Dependencies
This project uses the following libraries:
Paper
The paper on this work has been published in IEEE Xplore.
Title - iBRF: Improved Balanced Random Forest Classifier
DOI: https://doi.org/10.23919/FRUCT61870.2024.10516372
Synopsis
This paper proposes a modification to the original BRF classifier for enhanced prediction performance.
In the original algorithm, the Random Undersampling (RUS) technique is utilized to balance the bootstrap samples. However, randomly eliminating too many samples from the data leads to significant data loss, resulting in a major decline in performance.
This paper proposed a novel sampling approach that, when incorporated into the framework of the RF classifier, achieves better and more generalized prediction performance. The proposed algorithm outperforms the original BRF classifier.
Original BRF classifier implementation in the imblearn library: https://imbalanced-learn.org/stable/references/generated/imblearn.ensemble.BalancedRandomForestClassifier.html
Installation
pip install iBRF
Usage
from ibrf import iBRF
clf = iBRF(balance_split=0.65, n_estimators=200, random_state=42)
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
Screenshots
Note
This repository currently contains the earliest version of the proposed iBRF framework. A more advanced version is currently under development.
LemaÃŽtre, G., Nogueira, F. and Aridas, C.K., 2017. Imbalanced-learn: A python toolbox to tackle the curse of imbalanced datasets in machine learning. Journal of machine learning research, 18(17), pp.1-5.
BibTex Citation
@INPROCEEDINGS{10516372,
author={Newaz, Asif and Mohosheu, Md. Salman and Noman, Md. Abdullah Al and Jabid, Taskeed},
booktitle={2024 35th Conference of Open Innovations Association (FRUCT)},
title={iBRF: Improved Balanced Random Forest Classifier},
year={2024},
volume={},
number={},
pages={501-508},
keywords={Technological innovation;Data preprocessing;Benchmark testing;Prediction algorithms;Data models;Classification algorithms;Ensemble learning},
doi={10.23919/FRUCT61870.2024.10516372}}
Release files for iBRF 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ibrf-0.1.1.tar.gz | 8.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ibrf-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.6 kB
Release files / ibrf-0.1.1.tar.gz
| Download URL | ibrf-0.1.1.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
036a9a1be88a526b45679c16d0db400703def02e88f9eb6b0a0efc17076056bc
|
|
BLAKE2b-256 checksum How to use checksums |
9eedd994d3f76fe4e191d3abd8735c05e859ebb208820c14c7c4b1079ebe2b37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.19
|
Release files / ibrf-0.1.1-py3-none-any.whl
| Download URL | ibrf-0.1.1-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
838a37f241260cbecf7639bd63d70ff27d332676a2138af72d1e751109db58e0
|
|
BLAKE2b-256 checksum How to use checksums |
9f69c643832eab0657218178d066639763af0409711e2f6293f547990fa465b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.19
|