VaganBoost: Hybrid VAE-GAN + LightGBM for Advanced Classification 0.7.6
Introduction
VAGANBoost is a hybrid generative model combining Variational Autoencoders (VAE) and Generative Adversarial Networks (GAN) with boosting techniques to enhance high-energy gamma-ray analysis.
Outlines
- Implements cVAE+cGAN and cGAN+cVAE+RandomForest models
- Designed for high-energy physics applications
- Utilizes deep learning and gradient boosting techniques
Key Features
- Hybrid Architecture: Combines deep generative models with gradient boosting
- VAE-GAN Integration: Joint latent space learning for improved feature representation
- LightGBM Classifier: State-of-the-art gradient boosting for final classification
- Automatic Feature Fusion: Combines VAE latent features with GAN-generated features
- Visualization Tools: Built-in metrics visualization and feature analysis
- PyTorch Backend: GPU-accelerated training with seamless CUDA support
Key Features Table
| Feature | Description | Benefit |
|---|---|---|
| VAE-GAN Fusion | Combines reconstruction power of VAEs with GANs' generative capabilities | Enhanced feature learning |
| LightGBM Integration | Gradient boosting on learned features | Superior classification performance |
| Automatic GPU Support | Seamless CUDA integration | Faster training on supported hardware |
| Dynamic Feature Fusion | Combines latent and generated features | Improved representation learning |
| Visualization Suite | Built-in metrics plotting | Easy model evaluation |
Troubleshooting
Common Issues:
- CUDA Out of Memory: Reduce batch size or input dimensions
- Poor Classification Performance:
- Increase VAE latent dimensions
- Adjust GAN-LightGBM feature ratio
- Training Instability:
model = VaganBoost( ..., vae_kl_weight=0.5, # Adjust KL loss weight gan_gp_weight=10.0 # Add gradient penalty )
Installation
Prerequisites
- Python 3.6+
- NVIDIA GPU (recommended) with CUDA 11.0+
Install via pip
pip install vaganboost
From source
git clone https://github.com/AliBavarchee/vaganboost.git
cd vaganboost
pip install -e .
Quick Start
Basic Usage
from vaganboost import VaganBoost, load_data, split_data, normalize_data
# Prepare data
X, y = load_data("data.csv", target_column="label")
X_train, X_test, y_train, y_test = split_data(X, y, test_size=0.2)
X_train_norm, X_test_norm = normalize_data(X_train, X_test)
# Initialize model
model = VaganBoost(
vae_input_dim=X_train_norm.shape[1],
vae_latent_dim=64,
gan_input_dim=100,
num_class=4,
device="cuda"
)
# Train components
model.train_vae(X_train_norm, epochs=100)
model.train_gan(X_train_norm, epochs=50)
model.train_lgbm(X_train_norm, y_train)
# Evaluate
accuracy = model.evaluate(X_test_norm, y_test)
print(f"Test Accuracy: {accuracy:.2%}")
Advanced Configuration
# Custom LightGBM parameters
lgbm_params = {
'objective': 'multiclass',
'num_class': 4,
'metric': 'multi_logloss',
'num_leaves': 63,
'learning_rate': 0.1,
'feature_fraction': 0.7
}
model = VaganBoost(
vae_input_dim=128,
vae_latent_dim=64,
gan_input_dim=100,
num_class=4,
lgbm_params=lgbm_params,
device="cuda"
)
Documentation
Core Components
| Module | Description |
|---|---|
data_utils |
Data loading, splitting, and normalization |
models |
VAE, GAN, and LightGBM implementations |
train |
Joint training procedures |
utils |
Visualization and evaluation tools |
Dependencies
See requirements.txt for required packages.
License
This project is licensed under the MIT License.
Contact Ali Bavarchee - ali.bavarchee@gmail.com
Project Link: https://github.com/AliBavarchee/vaganboost
=============================================
Metadata
Release files for vaganboost 0.7.7
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 | |
|---|---|---|---|---|
| vaganboost-0.7.7.tar.gz | 14.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vaganboost-0.7.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.7 kB
Release files / vaganboost-0.7.7.tar.gz
| Download URL | vaganboost-0.7.7.tar.gz |
|---|---|
| Size | 14.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fbdae0167a8f53391a1d3798c3d005280adf7f1a153dcfe300766153e378ca39
|
|
BLAKE2b-256 checksum How to use checksums |
9b5df9f8613443c22645c6b839089041e7838940effb1a781033e739c5848b63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.7
|
Release files / vaganboost-0.7.7-py3-none-any.whl
| Download URL | vaganboost-0.7.7-py3-none-any.whl |
|---|---|
| Size | 16.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
78362f7fc7798d4d440a13d00b02981c75637782f57accd6995514f243f07939
|
|
BLAKE2b-256 checksum How to use checksums |
72f09b821fb5093b988ab387fe95310cf3a014c4abdc6d5bbad6c6e8d0fde2ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.7
|
Security for vaganboost 0.7.7
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.