treeple.datasets.make_trunk_mixture_classification#
- treeple.datasets.make_trunk_mixture_classification(n_samples, n_dim=4096, n_informative=256, mu_0=0, mu_1=1, rho=0, band_type='ma', return_params=False, mix=0.5, scaling_factor=1.0, seed=None)[source]#
Generate trunk mixture binary classification dataset.
The first class is generated from a multivariate-Gaussians with mean vector of 0’s. The second class is generated from a mixture of Gaussians with mean vectors specified by
mu_0
andmu_1
. The mixture is specified by themix
parameter, which is the probability of the first Gaussian in the mixture.For each dimension in the first distribution, there is a mean of \(1 / d\), where
d
is the dimensionality. The covariance is the identity matrix. The second distribution has a mean vector that is the negative of the first. Asd
increases, the two distributions become closer and closer.Full details for the trunk simulation can be found in [1].
Instead of the identity covariance matrix, one can implement a banded covariance matrix that follows [2].
- Parameters:
- n_samples
int
Number of sample to generate. Must be an even number, else the total number of samples generated will be
n_samples - 1
.- n_dim
int
, optional The dimensionality of the dataset and the number of unique labels, by default 4096.
- n_informative
int
, optional The informative dimensions. All others for
n_dim - n_informative
are Gaussian noise. Default is 256.- mu_0
int
, optional The mean of the first distribution. By default -1. The mean of the distribution will decrease by a factor of
sqrt(i)
for each dimensioni
.- mu_1
int
, optional The mean of the second distribution. By default 1. The mean of the distribution will decrease by a factor of
sqrt(i)
for each dimensioni
.- rho
float
, optional The covariance value of the bands. By default 0 indicating, an identity matrix is used.
- band_type
str
The band type to use. For details, see Example 1 and 2 in [2]. Either ‘ma’, or ‘ar’.
- return_params
bool
, optional Whether or not to return the distribution parameters of the classes normal distributions.
- mix
int
, optional The probabilities associated with the mixture of Gaussians in the
trunk-mix
simulation. By default 0.5.- scaling_factor
float
, optional The scaling factor for the covariance matrix. By default 1.
- seed
int
, optional Random seed, by default None.
- n_samples
- Returns:
- X
np.ndarray
of shape (n_samples, n_dim), dtype=np.float64 Trunk dataset as a dense array.
- y
np.ndarray
of shape (n_samples,), dtype=np.intp Labels of the dataset.
- means
list
of ArrayLike of shape (n_dim,), dtype=np.float64 The mean vector for each class starting with class 0. Returned if
return_params
is True.- covs
list
of ArrayLike of shape (n_dim, n_dim), dtype=np.float64 The covariance for each class. Returned if
return_params
is True.- X_mixture
np.ndarray
of shape (n_samples, n_dim), dtype=np.float64 The mixture of Gaussians. Returned if
return_params
is True.
- X
Notes
Trunk: The trunk simulation decreases the signal-to-noise ratio as the dimensionality increases. This is implemented by decreasing the mean of the distribution by a factor of
sqrt(i)
for each dimensioni
. Thus for instance if the means of distribution one and two are 1 and -1 respectively, the means for the first dimension will be 1 and -1, for the second dimension will be 1/sqrt(2) and -1/sqrt(2), and so on.Trunk Mix: The trunk mix simulation generates two classes of data with the same covariance matrix. The first class (label 0) is generated from a multivariate-Gaussians with mean vector of zeros and the second class is generated from a mixture of Gaussians with mean vectors specified by
mu_0
andmu_1
. The mixture is specified by themix
parameter, which is the probability of the first Gaussian in the mixture.Covariance: The covariance matrix among different dimensions is controlled by the
rho
parameter and theband_type
parameter. Theband_type
parameter controls the type of band to use, while therho
parameter controls the specific scaling factor for the covariance matrix while going from one dimension to the next.References