Biblioteca para balanceamento de dados tabulares com Deep SMOTE Optimize.
Project description
DSTO-GAN: Balanceamento de Dados com GAN
O DSTO-GAN é uma biblioteca Python que utiliza uma Rede Generativa Adversarial (GAN) para gerar amostras sintéticas e balancear datasets desbalanceados. Ele é especialmente útil para problemas de classificação em que as classes estão desproporcionais.
Funcionalidades
- Geração de amostras sintéticas para balanceamento de classes.
- Treinamento de um GAN personalizado para dados tabulares.
- Salvamento do dataset balanceado em um arquivo
.csv.
Pré-requisitos
- Python 3.7 ou superior.
- Gerenciador de pacotes
pip.
Instalação
Você pode instalar a biblioteca diretamente via pip:
pip install dsto-gan
Dependências
As dependências serão instaladas automaticamente durante a instalação. Caso prefira instalar manualmente, execute:
pip install numpy torch pandas scikit-learn xgboost scikit-optimize
Como Usar
1. Preparação do Arquivo de Dados
O arquivo de entrada deve ser um .csv com a seguinte estrutura:
- A última coluna deve conter os rótulos das classes.
- As demais colunas devem conter as features (atributos) do dataset.
Exemplo de arquivo desbalanceado.csv:
feature1,feature2,feature3,class
1.2,3.4,5.6,0
2.3,4.5,6.7,1
3.4,5.6,7.8,0
2. Execução do Código
Salve o código em um arquivo Python, por exemplo: gerar_balanceado.py.
from dsto_gan import process_data
# Caminhos dos arquivos de entrada e saída
input_file = "caminho/para/desbalanceado.csv"
output_file = "caminho/para/balanceado.csv"
# Processar o dataset e gerar o arquivo balanceado
process_data(input_file, output_file)
print(f"Dataset balanceado salvo em: {output_file}")
Execute o código no terminal:
python gerar_balanceado.py
3. Resultado
Após a execução, o programa gerará um arquivo .csv balanceado no caminho especificado. O arquivo de saída terá a mesma estrutura do arquivo de entrada, mas com as classes balanceadas.
Exemplo de Uso
Passo a Passo
- Prepare o arquivo
desbalanceado.csvcom a estrutura correta. - Execute o código:
python gerar_balanceado.py - Verifique o arquivo
balanceado.csvgerado.
Estrutura do Projeto
dsto_gan/
│
├── dsto_gan/ # Pacote principal
│ ├── __init__.py # Inicialização do pacote
│ ├── dsto_gan.py # Código principal para balanceamento de dados
├── setup.py # Configuração do pacote
├── README.md # Documentação do projeto
└── LICENSE # Licença do projeto
Solução de Problemas
Erro ao Ler o Arquivo
- Verifique se o caminho do arquivo está correto.
- Certifique-se de que o arquivo está no formato
.csve segue a estrutura esperada.
Erro de Instalação de Bibliotecas
- Certifique-se de que o
pipestá instalado e atualizado. - Execute manualmente a instalação das bibliotecas:
pip install numpy torch pandas scikit-learn xgboost scikit-optimize
Erro Durante a Execução
- Verifique se o arquivo de entrada contém uma coluna de classes.
- Certifique-se de que todas as colunas, exceto a última, contêm valores numéricos.
Contribuição
Contribuições são bem-vindas! Siga os passos abaixo:
- Faça um fork do repositório.
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature). - Commit suas mudanças (
git commit -m 'Adicionando nova feature'). - Faça push para a branch (
git push origin feature/nova-feature). - Abra um Pull Request.
Licença
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.
Contato
- Autor: Erika Assis
- Email: dudabh@gmail.com
- Repositório: GitHub
Agradecimentos
Este projeto foi desenvolvido como parte de uma pesquisa em balanceamento de dados usando GANs. Agradecimentos à comunidade de código aberto por fornecer as bibliotecas utilizadas.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dsto_gan-0.1.1.tar.gz.
File metadata
- Download URL: dsto_gan-0.1.1.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9c0c940e7f1b1de3ff72f72977ddc130f04bd44ebe1a941a78863115f679097
|
|
| MD5 |
d0a70f1b6b7afa3d17c075230ac0854d
|
|
| BLAKE2b-256 |
a347298cec2bb24b37a62d2baeba27d6e6fade477da36ec9ffe359ee6d8c9ebd
|
File details
Details for the file dsto_gan-0.1.1-py3-none-any.whl.
File metadata
- Download URL: dsto_gan-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3159dd53c3e1ddd0cbc9aacc7d9bb6716362e62cf000af9a858877406a9d912e
|
|
| MD5 |
9021fd18b73a369964140e2e3397e627
|
|
| BLAKE2b-256 |
f9f31e96cd77c6b2aa1aff96c34a32567d96504821114f8392bd798de2b3cc96
|