Mélange de 3 gaussiennes
- niko
- 24 juin 2018
- 1 min de lecture

Le but de ce bout de code est de générer des variables avec 3 labels (0,1 et 2) dont la distribution correspond à une gaussienne centrée différemment et avec sa matrice de covariance.
CODE PYTHON
n_samples = 100
#intitialisation d'une matrice de zéros de dimension 300 x 2
X = np.zeros([3 * n_samples, 2])
# moyenne des 3 gaussiennes mean_0 = [1, 1] mean_1 = [2, 2] mean_2 = [3, 3]
noise_level = 0.20
#matrice de covariance
cov = np.array([[1, 0.5], [0.5, 1]]) noise_level_large = np.sqrt(2) * noise_level cov_large = noise_level_large ** 2 * cov cov = noise_level**2 * cov
#initialisation d'une matrice "label" avec toutes les valeurs à zéro
y = np.zeros(3 * n_samples,)
#affectation de 100 variables autour de la moyenne "mean_0" et une matrice de covariance "cov"
X[0:n_samples, ] = np.random.multivariate_normal(mean_0, cov, n_samples)
#affectation de 100 autres variables autour de la moyenne "mean_1" et une matrice de covariance "cov_large" X[n_samples: 2 * n_samples, ] = np.random.multivariate_normal(mean_1, cov_large, n_samples)
y[n_samples:2 * n_samples] = 1
#affectation de 100 autres variables autour de la moyenne "mean_2" et une matrice de covariance "cov"
X[2 * n_samples:3 * n_samples, ] = np.random.multivariate_normal(mean_2, cov, n_samples) y[2 * n_samples:3 * n_samples, ] = 2
fig1 = plt.figure(figsize=(7,7))
plot_2d(X, y)





Commentaires