Skip to main content

Databalancer

Databalancer is the python library using in machine learning applications to balance the imbalanced text classification datasets before the model training.

Features

  • Databalancer is able to balance any imbalanced text classification datasets
  • If the given dataset is imbalanced then while balancing no existing data is removed, but new data will be generated and added to the dataset
  • For a particular class the newly generated data will be the paraphrases of the existing data in that particular class
  • By default, these paraphrases are generated using the ramsrigouthamg/t5_paraphraser model (You can read more about the model from Huggingface official documentation)
  • The current version can generate the sentence paraphrases using multiple methods such as T5 models, NLPAUG and Textattack
  • The user can select the balance method by passing the balance_method parameter while calling the balanceDataset method such as
    • balance_method=1 for ramsrigouthamg/t5_paraphraser T5 model based balancing (Default) ( For more info check t5_paraphraser)
    • balance_method=2 for ramsrigouthamg/t5-large-paraphraser-diverse-high-quality T5 model based balancing (For more info check t5-large-paraphraser-diverse-high-quality)
    • balance_method=3 for nlpaug based balancing (For more info check nlpaug)
    • balance_method=4 for textattack based balancing (For more info check textattack)
  • The model argument in the balanceDataset method is only applicable when balance_method is set as 3, through which user can pass the transformer model name from Huggingface to generate paraphrases using NLPAUG .
  • If the user enable quantize=True in balanceDataset then the T5 models(balance_method==1 and balance_method=2) will go through the quantization process using fastT5 before inference, so that the model inference time will be reduced.
  • By default quantize parameter is set as False because quantization requires more RAM and more CPU Processing power
  • Databalancer also provides another method called classCountVisualization to show the dataset class count distribution

Installation

Install the databalancer package with pip

 pip install databalancer

Compatibility

Databalancer is only compatable with python 3.6.9 or above.

Quick Start

The library databalancer provides two different functionalities.

1 - classCountVisualization

2 - balanceDataset

classCountVisualization

#Import the classCountVisualization from the 'databalancer' module
from databalancer import classCountVisualization
    
#Pass the required datasetname(here traindata.csv) to the function
classCountVisualization("traindata.csv")

Output

Imbalanced dataset pie plot

balanceDataset

#Import the balanceDataset from the 'databalancer' module
from databalancer import balanceDataset

#Pass the dataset name which is to be balanced(here traindata.csv) to the balanceDataset function
balanceDataset("traindata.csv",balance_method=1)

The above code will balance the dataset and store the balanced dataset('balanced_data.csv') in the local machine.

balanceDataset with model quantization

#Import the balanceDataset from the 'databalancer' module
from databalancer import balanceDataset

#Pass the dataset name which is to be balanced(here traindata.csv) to the balanceDataset function with balance_method=2 and enable quantization 
balanceDataset("traindata.csv",balance_method=2,quantize=True)

The above code will balance the dataset using balance_method=2 with quantization and store the balanced dataset('balanced_data.csv') in the local machine.

To show the balanced dataset class count distribution, run the code below.

from databalancer import classCountVisualization

classCountVisualization("balanced_data.csv")

Balanced dataset pie plot

Metadata

Release files for databalancer 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for databalancer 0.2.0
File Size Uploaded
databalancer-0.2.0.tar.gz 11.4 kB Details

Release files / databalancer-0.2.0.tar.gz

Download URL databalancer-0.2.0.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
99421bd5aa4a69b354751998b1174400884c862390c392b3e9ababbf3402b149
BLAKE2b-256 checksum
How to use checksums
9170eaaaf540d301495abb349297f324a643a222b59d64434451ef9dfe866b72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file

0.0.8

2 release files

0.0.7

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page