Skip to main content

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

  1. Geração de amostras sintéticas para balanceamento de classes.
  2. Treinamento de um GAN personalizado para dados tabulares.
  3. 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

  1. Prepare o arquivo desbalanceado.csv com a estrutura correta.
  2. Execute o código:
    python gerar_balanceado.py
    
  3. Verifique o arquivo balanceado.csv gerado.

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 .csv e segue a estrutura esperada.

Erro de Instalação de Bibliotecas

  • Certifique-se de que o pip está 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:

  1. Faça um fork do repositório.
  2. Crie uma branch para sua feature (git checkout -b feature/nova-feature).
  3. Commit suas mudanças (git commit -m 'Adicionando nova feature').
  4. Faça push para a branch (git push origin feature/nova-feature).
  5. Abra um Pull Request.

Licença

Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.


Contato


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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dsto_gan-0.1.2.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dsto_gan-0.1.2-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file dsto_gan-0.1.2.tar.gz.

File metadata

  • Download URL: dsto_gan-0.1.2.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

Hashes for dsto_gan-0.1.2.tar.gz
Algorithm Hash digest
SHA256 57d3a3250524fcf07303b272ced346447e2becd61064946f6a8725c924f9e598
MD5 aea0ecc3688f90c6260035d22ea8552b
BLAKE2b-256 2e87ead7074f1eee7793b4ab30b61e6348a6638ce1c1c4477d412f0ab5b679c8

See more details on using hashes here.

File details

Details for the file dsto_gan-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: dsto_gan-0.1.2-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

Hashes for dsto_gan-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ccdfe83d9be1021c2d08dd8cca07382ce3d8b0813146a4ca03aa19a38cbac614
MD5 2c4c5a72e5b54afd07cea7bc4fc172e6
BLAKE2b-256 03d68403d24f36bcfa44ee12cd8e37a6c55dbc067ae4f100f26fbeaea11ba12c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page