treeple.datasets.approximate_clf_mutual_information#

treeple.datasets.approximate_clf_mutual_information(means, covs, class_probs=[0.5, 0.5], base=np.float64(2.718281828459045), seed=None)[source]#

Approximate MI for multivariate Gaussian for a classification setting.

Parameters:
meanslist of ArrayLike of shape (n_dim,)

A list of means to sample from for each class.

covslist of ArrayLike of shape (n_dim, n_dim)

A list of covariances to sample from for each class.

class_probslist, optional

List of class probabilities, by default [0.5, 0.5] for balanced binary classification.

basefloat, optional

The bit base to use, by default np.exp(1) for natural logarithm.

seedint, optional

Random seed for the multivariate normal, by default None.

Returns:
I_XYfloat

Estimated mutual information.

H_Xfloat

Estimated entropy of X, the mixture of multivariate Gaussians.

H_XYfloat

The conditional entropy of X given Y.

int_errfloat

The integration error for H_X.