treeple.datasets.approximate_clf_mutual_information_with_monte_carlo#

treeple.datasets.approximate_clf_mutual_information_with_monte_carlo(means, covs, n_samples=100000, 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.

n_samplesint

The total number of simulation samples

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_Yfloat

Estimated entropy of Y, the class labels.

H_Y_on_Xfloat

The conditional entropy of Y given X.