qbiocode.data_generation.make_class module#
Generate synthetic high-dimensional classification datasets.
This module creates multiple configurations of multi-class classification datasets with varying dimensionality, feature characteristics, and class distributions, useful for testing machine learning algorithms on high-dimensional data.
Summary#
Functions:
Generate multiple high-dimensional classification datasets with varying parameters. |
Reference#
- generate_classification_datasets(n_samples, n_features, n_informative, n_redundant, n_classes, n_clusters_per_class, weights, save_path=None, random_state=42)[source]#
Generate multiple high-dimensional classification datasets with varying parameters.
Creates a series of synthetic datasets for multi-class classification problems with configurable feature characteristics including informative features, redundant features, and class distributions.
- Parameters:
n_samples (list of int) – List of sample sizes to generate for each configuration.
n_features (list of int) – List of total feature counts (must be >= n_informative + n_redundant).
n_informative (list of int) – List of informative feature counts that are useful for prediction.
n_redundant (list of int) – List of redundant feature counts (linear combinations of informative features).
n_classes (list of int) – List of class counts for multi-class classification.
n_clusters_per_class (list of int) – List of cluster counts per class.
weights (list of list of float) – List of class weight distributions (must sum to 1.0).
save_path (str, optional) – Directory path where datasets and configuration files will be saved.
random_state (int, default=42) – Random seed for reproducibility.
- Returns:
Saves CSV files for each dataset configuration and a JSON file with all configuration parameters.
- Return type:
None
Notes
Each dataset is saved as ‘class_data-{i}.csv’ where i is the configuration number
Configuration parameters are saved in ‘dataset_config.json’
The last column ‘class’ contains class labels
Only valid configurations where (n_informative + n_redundant) <= n_features are generated
Examples
>>> from qbiocode.data_generation import generate_classification_datasets >>> generate_classification_datasets( ... n_samples=[100], n_features=[20], n_informative=[5], ... n_redundant=[2], n_classes=[2], n_clusters_per_class=[1], ... weights=[[0.5, 0.5]], save_path='data' ... ) Generating classes dataset...