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}}
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| ibrf-0.1.1.tar.gz | 8.4 kB | Without provenance | Details for ibrf-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ibrf-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for ibrf-0.1.1-py3-none-any.whl |
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
|
Security for iBRF 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.