bstabdiff 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Al Zadid Sultan Bin Habib
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,261 @@
1
+ Metadata-Version: 2.4
2
+ Name: bstabdiff
3
+ Version: 0.1.0
4
+ Summary: BSTabDiff: Block-Subunit Diffusion Priors for High-Dimensional Tabular Data Generation
5
+ Home-page: https://github.com/zadid6pretam/BSTabDiff
6
+ Author: Al Zadid Sultan Bin Habib, Md Younus Ahamed, Prashnna Kumar Gyawali, Gianfranco Doretto, Donald A. Adjeroh
7
+ License: MIT
8
+ Project-URL: Homepage, https://github.com/zadid6pretam/BSTabDiff
9
+ Project-URL: Source, https://github.com/zadid6pretam/BSTabDiff
10
+ Project-URL: Issues, https://github.com/zadid6pretam/BSTabDiff/issues
11
+ Project-URL: Paper, https://openreview.net/forum?id=RKNDy0KhGT
12
+ Project-URL: Workshop, https://delta-workshop.github.io/DeLTa2026/
13
+ Keywords: tabular-data,generative-modeling,diffusion,flow,HDLSS,synthetic-data
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Intended Audience :: Science/Research
19
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
20
+ Requires-Python: >=3.10
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Requires-Dist: numpy==2.2.6
24
+ Requires-Dist: torch>=2.9.1
25
+ Requires-Dist: pandas==2.3.3
26
+ Requires-Dist: scikit-learn==1.7.2
27
+ Requires-Dist: catboost==1.2.8
28
+ Requires-Dist: tabpfn==6.3.1
29
+ Dynamic: license-file
30
+
31
+ # BSTabDiff: Block-Subunit Diffusion Priors for High-Dimensional Tabular Data Generation
32
+
33
+ ![Python](https://img.shields.io/badge/Python-3.8%2B-blue)
34
+ ![License](https://img.shields.io/badge/License-MIT-green)
35
+ ![Task](https://img.shields.io/badge/Task-HDLSS%20Tabular%20Synthesis-orange)
36
+ ![Model](https://img.shields.io/badge/Model-BSTabDiff-blueviolet)
37
+ ![Architecture](https://img.shields.io/badge/Architecture-Block--Subunit%20Generator-informational)
38
+ ![Latent Prior](https://img.shields.io/badge/Latent%20Prior-Diffusion%20%2F%20Flow-purple)
39
+ ![Data Regime](https://img.shields.io/badge/Regime-n%20%3C%3C%20m-critical)
40
+ [![Workshop](https://img.shields.io/badge/Workshop-ICLR%202026%20DeLTa-blue)](https://iclr.cc/virtual/2026/workshop/10000780)
41
+ [![OpenReview](https://img.shields.io/badge/OpenReview-Paper-red)](https://openreview.net/forum?id=RKNDy0KhGT)
42
+ [![Workshop Page](https://img.shields.io/badge/DeLTa%202026-Website-1f6feb)](https://delta-workshop.github.io/DeLTa2026/)
43
+ ![Status](https://img.shields.io/badge/Status-Camera%20Ready-brightgreen)
44
+
45
+ <p align="center">
46
+ <img src="./BSTabDiffArchi.png" alt="BSTabDiff Architecture" width="900">
47
+ </p>
48
+
49
+ BSTabDiff is a block-subunit generative framework for **High-Dimensional Low-Sample-Size (HDLSS) tabular data synthesis**. Rather than learning dependence directly in the original high-dimensional feature space, it partitions the feature space into **M latent blocks, where M ≪ m**, models global structure through a compact diffusion/flow prior over block latents, and decodes back to the full table using copula-based dependence, flexible feature-wise marginals, and explicit missingness modeling. This design makes BSTabDiff especially well suited for omics-style and other HDLSS settings, where direct high-dimensional density learning is often unstable. Across multiple HDLSS benchmarks, BSTabDiff generates more realistic and stable synthetic data than several widely used tabular generators, while often approaching downstream performance obtained from real data.
50
+
51
+ ## Citation
52
+
53
+ Al Zadid Sultan Bin Habib, Md Younus Ahamed, Prashnna Kumar Gyawali, Gianfranco Doretto, and Donald A. Adjeroh.
54
+ **“BSTabDiff: Block-Subunit Diffusion Priors for High-Dimensional Tabular Data Generation.”**
55
+ In *ICLR 2026 2nd Workshop on Deep Generative Models in Machine Learning: Theory, Principle and Efficacy (DeLTa)*, 2026.
56
+
57
+
58
+ BibTeX:
59
+ ```bibtex
60
+ @inproceedings{habib2026bstabdiff,
61
+ title = {BSTabDiff: Block-Subunit Diffusion Priors for High-Dimensional Tabular Data Generation},
62
+ author = {Habib, Al Zadid Sultan Bin and Ahamed, Md Younus and Gyawali, Prashnna Kumar and Doretto, Gianfranco and Adjeroh, Donald A.},
63
+ booktitle = {ICLR 2026 2nd Workshop on Deep Generative Models in Machine Learning: Theory, Principle and Efficacy (DeLTa)},
64
+ year = {2026}
65
+ }
66
+ ```
67
+
68
+ ## Files and Repository Structure
69
+
70
+ ### Python package: `bstabdiff/`
71
+
72
+ This folder contains the core BSTabDiff implementation:
73
+
74
+ - `__init__.py` - Package initializer and high-level API exports.
75
+ - `block_subunit_gen.py` - Main BSTabDiff implementation, including feature schema, empirical marginals, block-subunit emissions, diffusion/flow priors, training, and synthetic sampling utilities.
76
+
77
+ ### Notebooks
78
+
79
+ - **`Dummy Example Usage.ipynb`**
80
+ Contains simple toy examples showing how to install/import the `bstabdiff` package, fit BSTabDiff on a dummy HDLSS dataset, and sample synthetic data.
81
+
82
+ - **`BSTabDiff_Colon.ipynb`**
83
+ Contains the Colon dataset experiments from the paper. The downstream classifiers include Logistic Regression, TabPFN-2.5 (currently applicable only when the number of features is within its supported range, so Colon is eligible), TANDEM (NeurIPS 2025), and CatBoost. This notebook also includes the paper’s ablation studies and related fidelity analysis.
84
+
85
+ - **`BSTabDiff_GLI.ipynb`**
86
+ Contains the GLI-85 experiments using Logistic Regression as the downstream classifier, along with selected fidelity analysis.
87
+
88
+ - **`BSTabDiff_Lung.ipynb`**
89
+ Contains the Lung dataset experiments using Logistic Regression as the downstream classifier, along with selected fidelity analysis.
90
+
91
+ ### Other top-level files
92
+
93
+ - **`requirements.txt`** - Python dependencies required to run the BSTabDiff package and notebooks.
94
+ - **`BSTabDiffArchi.png`** - High-level architecture diagram of the BSTabDiff framework.
95
+ - **`LICENSE`** - MIT license for this repository.
96
+ - **`README.md`** - Project overview, installation, usage instructions, and citation information.
97
+ - **`.gitignore`** - Standard Git ignore rules for Python and Jupyter projects.
98
+ - **`pyproject.toml`** - Build system and packaging metadata for installation.
99
+ - **`setup.cfg`** - Package configuration and installation metadata.
100
+
101
+ ### Tested Environment
102
+
103
+ - Python 3.10.13
104
+ - torch 2.9.1+cu128
105
+ - numpy 2.2.6
106
+ - pandas 2.3.3
107
+ - scikit-learn 1.7.2
108
+ - catboost 1.2.8
109
+ - tabpfn 6.3.1
110
+
111
+ ## Installation
112
+
113
+ You can install **BSTabDiff** in several ways depending on your workflow.
114
+
115
+ ---
116
+
117
+ ### Option 1: Clone the Repository (Recommended for Development)
118
+
119
+ ```bash
120
+ git clone https://github.com/zadid6pretam/BSTabDiff.git
121
+ cd BSTabDiff
122
+ pip install -r requirements.txt
123
+ pip install -e .
124
+ ```
125
+
126
+ ### Option 2: Install Directly from GitHub (No Cloning Needed)
127
+
128
+ ```bash
129
+ pip install "git+https://github.com/zadid6pretam/BSTabDiff.git"
130
+ ```
131
+
132
+ ### Option 3: Use a Virtual Environment
133
+
134
+ ```bash
135
+ python -m venv bstabdiff-env
136
+ source bstabdiff-env/bin/activate # On Windows: bstabdiff-env\Scripts\activate
137
+
138
+ git clone https://github.com/zadid6pretam/BSTabDiff.git
139
+ cd BSTabDiff
140
+ pip install -r requirements.txt
141
+ pip install -e .
142
+ ```
143
+
144
+ ### Option 4: Local Install Without Editable Mode
145
+
146
+ ```bash
147
+ git clone https://github.com/zadid6pretam/BSTabDiff.git
148
+ cd BSTabDiff
149
+ pip install -r requirements.txt
150
+ pip install .
151
+ ```
152
+
153
+ ### Option 5: Install from PyPI (Planned)
154
+
155
+ ```bash
156
+ pip install bstabdiff
157
+ ```
158
+
159
+ ## Example Usage
160
+ Below is a minimal example showing how to fit BSTabDiff on a dummy HDLSS dataset and generate synthetic samples.
161
+
162
+ ```bash
163
+ import numpy as np
164
+ from bstabdiff import FeatureSpec, fit_block_subunit_generator
165
+
166
+ # Dummy HDLSS data
167
+ np.random.seed(42)
168
+ n, m = 80, 2000
169
+ X = np.random.randn(n, m).astype(np.float32)
170
+ y = np.random.randint(0, 2, size=n)
171
+ X[np.random.rand(n, m) < 0.1] = np.nan
172
+
173
+ # Feature schema
174
+ feature_specs = [FeatureSpec(name=f"f{j}", kind="continuous") for j in range(m)]
175
+
176
+ # Fit BSTabDiff
177
+ gen, train_info = fit_block_subunit_generator(
178
+ X=X,
179
+ feature_specs=feature_specs,
180
+ y=y,
181
+ M=20,
182
+ blocks=None,
183
+ permute_features=False,
184
+ prior_type="diffusion",
185
+ device="cpu",
186
+ seed=42,
187
+ prior_epochs=300,
188
+ prior_batch=64,
189
+ prior_lr=1e-3,
190
+ verbose_every=100,
191
+ save_dir=None,
192
+ save_name="bstabdiff_demo",
193
+ save_best=True,
194
+ use_ema=True,
195
+ ema_decay=0.999,
196
+ return_train_info=True,
197
+ )
198
+
199
+ # Sample synthetic data
200
+ X_syn, R_syn, y_syn = gen.sample(n=50)
201
+
202
+ print("X_syn shape:", X_syn.shape)
203
+ print("R_syn shape:", R_syn.shape)
204
+ print("y_syn shape:", y_syn.shape if y_syn is not None else None)
205
+ print("Best training info:", train_info)
206
+ ```
207
+
208
+ **For fuller experiments, ablations, and fidelity studies, see:**
209
+ - Dummy Example Usage.ipynb
210
+ - BSTabDiff_Colon.ipynb
211
+ - BSTabDiff_GLI.ipynb
212
+ - BSTabDiff_Lung.ipynb
213
+
214
+ ## Our Previous Related Work on Tabular Deep Learning
215
+
216
+ BSTabDiff is part of our broader line of work on tabular deep learning and high-dimensional tabular modeling.
217
+
218
+ ### TabSeq
219
+
220
+ Our earlier work on sequential modeling for tabular data:
221
+
222
+ - **TabSeq: A Framework for Deep Learning on Tabular Data via Sequential Ordering**
223
+ GitHub: https://github.com/zadid6pretam/TabSeq
224
+ Springer (ICPR 2024 proceedings): https://link.springer.com/chapter/10.1007/978-3-031-78128-5_27
225
+
226
+ ```bibtex
227
+ @inproceedings{habib2024tabseq,
228
+ title={TabSeq: A Framework for Deep Learning on Tabular Data via Sequential Ordering},
229
+ author={Habib, Al Zadid Sultan Bin and Wang, Kesheng and Hartley, Mary-Anne and Doretto, Gianfranco and A. Adjeroh, Donald},
230
+ booktitle={International Conference on Pattern Recognition},
231
+ pages={418--434},
232
+ year={2024},
233
+ organization={Springer}
234
+ }
235
+ ```
236
+
237
+ - If you are interested in sequential ordering for tabular data, deep sequential backbones, and early feature-ordering-based tabular modeling, please also refer to the **TabSeq** repository and paper.
238
+
239
+ ### DynaTab
240
+
241
+ Our more recent work on learned feature ordering for high-dimensional tabular data:
242
+
243
+ - **DynaTab: Dynamic Feature Ordering as Neural Rewiring for High-Dimensional Tabular Data**
244
+ GitHub: https://github.com/zadid6pretam/DynaTab
245
+
246
+ ```bibtex
247
+ @inproceedings{habib2026dynatab,
248
+ title = {{DynaTab: Dynamic Feature Ordering as Neural Rewiring for High-Dimensional Tabular Data}},
249
+ author = {Habib, Al Zadid Sultan Bin and Doretto, Gianfranco and Adjeroh, Donald A.},
250
+ booktitle = {Proceedings of the AAAI 2026 First International Workshop on Neuro for AI \& AI for Neuro: Towards Multi-Modal Natural Intelligence (NeuroAI)},
251
+ year = {2026},
252
+ series = {PMLR}
253
+ }
254
+ ```
255
+
256
+ - If you are interested in learned feature ordering, neural rewiring for high-dimensional tabular data, and sequential backbone design for HDLSS settings, please also refer to the DynaTab repository and paper.
257
+ - DynaTab has completed camera-ready submission, and the public proceedings version is expected to appear online later.
258
+
259
+ ## Contact
260
+
261
+ For any questions, issues, or suggestions related to this repository, please feel free to contact us or open an issue on GitHub.
@@ -0,0 +1,231 @@
1
+ # BSTabDiff: Block-Subunit Diffusion Priors for High-Dimensional Tabular Data Generation
2
+
3
+ ![Python](https://img.shields.io/badge/Python-3.8%2B-blue)
4
+ ![License](https://img.shields.io/badge/License-MIT-green)
5
+ ![Task](https://img.shields.io/badge/Task-HDLSS%20Tabular%20Synthesis-orange)
6
+ ![Model](https://img.shields.io/badge/Model-BSTabDiff-blueviolet)
7
+ ![Architecture](https://img.shields.io/badge/Architecture-Block--Subunit%20Generator-informational)
8
+ ![Latent Prior](https://img.shields.io/badge/Latent%20Prior-Diffusion%20%2F%20Flow-purple)
9
+ ![Data Regime](https://img.shields.io/badge/Regime-n%20%3C%3C%20m-critical)
10
+ [![Workshop](https://img.shields.io/badge/Workshop-ICLR%202026%20DeLTa-blue)](https://iclr.cc/virtual/2026/workshop/10000780)
11
+ [![OpenReview](https://img.shields.io/badge/OpenReview-Paper-red)](https://openreview.net/forum?id=RKNDy0KhGT)
12
+ [![Workshop Page](https://img.shields.io/badge/DeLTa%202026-Website-1f6feb)](https://delta-workshop.github.io/DeLTa2026/)
13
+ ![Status](https://img.shields.io/badge/Status-Camera%20Ready-brightgreen)
14
+
15
+ <p align="center">
16
+ <img src="./BSTabDiffArchi.png" alt="BSTabDiff Architecture" width="900">
17
+ </p>
18
+
19
+ BSTabDiff is a block-subunit generative framework for **High-Dimensional Low-Sample-Size (HDLSS) tabular data synthesis**. Rather than learning dependence directly in the original high-dimensional feature space, it partitions the feature space into **M latent blocks, where M ≪ m**, models global structure through a compact diffusion/flow prior over block latents, and decodes back to the full table using copula-based dependence, flexible feature-wise marginals, and explicit missingness modeling. This design makes BSTabDiff especially well suited for omics-style and other HDLSS settings, where direct high-dimensional density learning is often unstable. Across multiple HDLSS benchmarks, BSTabDiff generates more realistic and stable synthetic data than several widely used tabular generators, while often approaching downstream performance obtained from real data.
20
+
21
+ ## Citation
22
+
23
+ Al Zadid Sultan Bin Habib, Md Younus Ahamed, Prashnna Kumar Gyawali, Gianfranco Doretto, and Donald A. Adjeroh.
24
+ **“BSTabDiff: Block-Subunit Diffusion Priors for High-Dimensional Tabular Data Generation.”**
25
+ In *ICLR 2026 2nd Workshop on Deep Generative Models in Machine Learning: Theory, Principle and Efficacy (DeLTa)*, 2026.
26
+
27
+
28
+ BibTeX:
29
+ ```bibtex
30
+ @inproceedings{habib2026bstabdiff,
31
+ title = {BSTabDiff: Block-Subunit Diffusion Priors for High-Dimensional Tabular Data Generation},
32
+ author = {Habib, Al Zadid Sultan Bin and Ahamed, Md Younus and Gyawali, Prashnna Kumar and Doretto, Gianfranco and Adjeroh, Donald A.},
33
+ booktitle = {ICLR 2026 2nd Workshop on Deep Generative Models in Machine Learning: Theory, Principle and Efficacy (DeLTa)},
34
+ year = {2026}
35
+ }
36
+ ```
37
+
38
+ ## Files and Repository Structure
39
+
40
+ ### Python package: `bstabdiff/`
41
+
42
+ This folder contains the core BSTabDiff implementation:
43
+
44
+ - `__init__.py` - Package initializer and high-level API exports.
45
+ - `block_subunit_gen.py` - Main BSTabDiff implementation, including feature schema, empirical marginals, block-subunit emissions, diffusion/flow priors, training, and synthetic sampling utilities.
46
+
47
+ ### Notebooks
48
+
49
+ - **`Dummy Example Usage.ipynb`**
50
+ Contains simple toy examples showing how to install/import the `bstabdiff` package, fit BSTabDiff on a dummy HDLSS dataset, and sample synthetic data.
51
+
52
+ - **`BSTabDiff_Colon.ipynb`**
53
+ Contains the Colon dataset experiments from the paper. The downstream classifiers include Logistic Regression, TabPFN-2.5 (currently applicable only when the number of features is within its supported range, so Colon is eligible), TANDEM (NeurIPS 2025), and CatBoost. This notebook also includes the paper’s ablation studies and related fidelity analysis.
54
+
55
+ - **`BSTabDiff_GLI.ipynb`**
56
+ Contains the GLI-85 experiments using Logistic Regression as the downstream classifier, along with selected fidelity analysis.
57
+
58
+ - **`BSTabDiff_Lung.ipynb`**
59
+ Contains the Lung dataset experiments using Logistic Regression as the downstream classifier, along with selected fidelity analysis.
60
+
61
+ ### Other top-level files
62
+
63
+ - **`requirements.txt`** - Python dependencies required to run the BSTabDiff package and notebooks.
64
+ - **`BSTabDiffArchi.png`** - High-level architecture diagram of the BSTabDiff framework.
65
+ - **`LICENSE`** - MIT license for this repository.
66
+ - **`README.md`** - Project overview, installation, usage instructions, and citation information.
67
+ - **`.gitignore`** - Standard Git ignore rules for Python and Jupyter projects.
68
+ - **`pyproject.toml`** - Build system and packaging metadata for installation.
69
+ - **`setup.cfg`** - Package configuration and installation metadata.
70
+
71
+ ### Tested Environment
72
+
73
+ - Python 3.10.13
74
+ - torch 2.9.1+cu128
75
+ - numpy 2.2.6
76
+ - pandas 2.3.3
77
+ - scikit-learn 1.7.2
78
+ - catboost 1.2.8
79
+ - tabpfn 6.3.1
80
+
81
+ ## Installation
82
+
83
+ You can install **BSTabDiff** in several ways depending on your workflow.
84
+
85
+ ---
86
+
87
+ ### Option 1: Clone the Repository (Recommended for Development)
88
+
89
+ ```bash
90
+ git clone https://github.com/zadid6pretam/BSTabDiff.git
91
+ cd BSTabDiff
92
+ pip install -r requirements.txt
93
+ pip install -e .
94
+ ```
95
+
96
+ ### Option 2: Install Directly from GitHub (No Cloning Needed)
97
+
98
+ ```bash
99
+ pip install "git+https://github.com/zadid6pretam/BSTabDiff.git"
100
+ ```
101
+
102
+ ### Option 3: Use a Virtual Environment
103
+
104
+ ```bash
105
+ python -m venv bstabdiff-env
106
+ source bstabdiff-env/bin/activate # On Windows: bstabdiff-env\Scripts\activate
107
+
108
+ git clone https://github.com/zadid6pretam/BSTabDiff.git
109
+ cd BSTabDiff
110
+ pip install -r requirements.txt
111
+ pip install -e .
112
+ ```
113
+
114
+ ### Option 4: Local Install Without Editable Mode
115
+
116
+ ```bash
117
+ git clone https://github.com/zadid6pretam/BSTabDiff.git
118
+ cd BSTabDiff
119
+ pip install -r requirements.txt
120
+ pip install .
121
+ ```
122
+
123
+ ### Option 5: Install from PyPI (Planned)
124
+
125
+ ```bash
126
+ pip install bstabdiff
127
+ ```
128
+
129
+ ## Example Usage
130
+ Below is a minimal example showing how to fit BSTabDiff on a dummy HDLSS dataset and generate synthetic samples.
131
+
132
+ ```bash
133
+ import numpy as np
134
+ from bstabdiff import FeatureSpec, fit_block_subunit_generator
135
+
136
+ # Dummy HDLSS data
137
+ np.random.seed(42)
138
+ n, m = 80, 2000
139
+ X = np.random.randn(n, m).astype(np.float32)
140
+ y = np.random.randint(0, 2, size=n)
141
+ X[np.random.rand(n, m) < 0.1] = np.nan
142
+
143
+ # Feature schema
144
+ feature_specs = [FeatureSpec(name=f"f{j}", kind="continuous") for j in range(m)]
145
+
146
+ # Fit BSTabDiff
147
+ gen, train_info = fit_block_subunit_generator(
148
+ X=X,
149
+ feature_specs=feature_specs,
150
+ y=y,
151
+ M=20,
152
+ blocks=None,
153
+ permute_features=False,
154
+ prior_type="diffusion",
155
+ device="cpu",
156
+ seed=42,
157
+ prior_epochs=300,
158
+ prior_batch=64,
159
+ prior_lr=1e-3,
160
+ verbose_every=100,
161
+ save_dir=None,
162
+ save_name="bstabdiff_demo",
163
+ save_best=True,
164
+ use_ema=True,
165
+ ema_decay=0.999,
166
+ return_train_info=True,
167
+ )
168
+
169
+ # Sample synthetic data
170
+ X_syn, R_syn, y_syn = gen.sample(n=50)
171
+
172
+ print("X_syn shape:", X_syn.shape)
173
+ print("R_syn shape:", R_syn.shape)
174
+ print("y_syn shape:", y_syn.shape if y_syn is not None else None)
175
+ print("Best training info:", train_info)
176
+ ```
177
+
178
+ **For fuller experiments, ablations, and fidelity studies, see:**
179
+ - Dummy Example Usage.ipynb
180
+ - BSTabDiff_Colon.ipynb
181
+ - BSTabDiff_GLI.ipynb
182
+ - BSTabDiff_Lung.ipynb
183
+
184
+ ## Our Previous Related Work on Tabular Deep Learning
185
+
186
+ BSTabDiff is part of our broader line of work on tabular deep learning and high-dimensional tabular modeling.
187
+
188
+ ### TabSeq
189
+
190
+ Our earlier work on sequential modeling for tabular data:
191
+
192
+ - **TabSeq: A Framework for Deep Learning on Tabular Data via Sequential Ordering**
193
+ GitHub: https://github.com/zadid6pretam/TabSeq
194
+ Springer (ICPR 2024 proceedings): https://link.springer.com/chapter/10.1007/978-3-031-78128-5_27
195
+
196
+ ```bibtex
197
+ @inproceedings{habib2024tabseq,
198
+ title={TabSeq: A Framework for Deep Learning on Tabular Data via Sequential Ordering},
199
+ author={Habib, Al Zadid Sultan Bin and Wang, Kesheng and Hartley, Mary-Anne and Doretto, Gianfranco and A. Adjeroh, Donald},
200
+ booktitle={International Conference on Pattern Recognition},
201
+ pages={418--434},
202
+ year={2024},
203
+ organization={Springer}
204
+ }
205
+ ```
206
+
207
+ - If you are interested in sequential ordering for tabular data, deep sequential backbones, and early feature-ordering-based tabular modeling, please also refer to the **TabSeq** repository and paper.
208
+
209
+ ### DynaTab
210
+
211
+ Our more recent work on learned feature ordering for high-dimensional tabular data:
212
+
213
+ - **DynaTab: Dynamic Feature Ordering as Neural Rewiring for High-Dimensional Tabular Data**
214
+ GitHub: https://github.com/zadid6pretam/DynaTab
215
+
216
+ ```bibtex
217
+ @inproceedings{habib2026dynatab,
218
+ title = {{DynaTab: Dynamic Feature Ordering as Neural Rewiring for High-Dimensional Tabular Data}},
219
+ author = {Habib, Al Zadid Sultan Bin and Doretto, Gianfranco and Adjeroh, Donald A.},
220
+ booktitle = {Proceedings of the AAAI 2026 First International Workshop on Neuro for AI \& AI for Neuro: Towards Multi-Modal Natural Intelligence (NeuroAI)},
221
+ year = {2026},
222
+ series = {PMLR}
223
+ }
224
+ ```
225
+
226
+ - If you are interested in learned feature ordering, neural rewiring for high-dimensional tabular data, and sequential backbone design for HDLSS settings, please also refer to the DynaTab repository and paper.
227
+ - DynaTab has completed camera-ready submission, and the public proceedings version is expected to appear online later.
228
+
229
+ ## Contact
230
+
231
+ For any questions, issues, or suggestions related to this repository, please feel free to contact us or open an issue on GitHub.
@@ -0,0 +1,43 @@
1
+ from .block_subunit_gen import (
2
+ FeatureSpec,
3
+ EmissionParams,
4
+ EmpiricalMarginals,
5
+ EMA,
6
+ TimeEmbedding,
7
+ DiffusionPrior,
8
+ AffineCoupling,
9
+ FlowPrior,
10
+ BlockSubunitGenerator,
11
+ set_seed,
12
+ erf_normal_cdf,
13
+ approx_normal_icdf,
14
+ make_equal_blocks,
15
+ apply_permutation,
16
+ invert_permutation,
17
+ infer_block_latents_mean_gaussianized,
18
+ fit_emissions_from_inferred_h,
19
+ fit_block_subunit_generator,
20
+ )
21
+
22
+ __version__ = "0.1.0"
23
+
24
+ __all__ = [
25
+ "FeatureSpec",
26
+ "EmissionParams",
27
+ "EmpiricalMarginals",
28
+ "EMA",
29
+ "TimeEmbedding",
30
+ "DiffusionPrior",
31
+ "AffineCoupling",
32
+ "FlowPrior",
33
+ "BlockSubunitGenerator",
34
+ "set_seed",
35
+ "erf_normal_cdf",
36
+ "approx_normal_icdf",
37
+ "make_equal_blocks",
38
+ "apply_permutation",
39
+ "invert_permutation",
40
+ "infer_block_latents_mean_gaussianized",
41
+ "fit_emissions_from_inferred_h",
42
+ "fit_block_subunit_generator",
43
+ ]