Confidentialité des données et anonymisation en Python
Rebeca Gonzalez
Data engineer
Nous pouvons créer des ensembles de données à partir de lois de probabilité
Par exemple, la loi normale

Souvent observée dans la nature

import numpy as np# Créer un nouveau DataFrame pandas new_measures = pd.DataFrame()# Choisir la moyenne (centre) et l'écart type de l'échantillon mean = 65 standard_deviation = 2# Générer l'échantillon new_measures['Height'] = np.random.normal(mean, standard_deviation, 10000)
# Tracer un histogramme pour voir la distribution des tailles
new_measures['Height'].hist(bins=50)

Scikit-learn offre des fonctions simples pour générer des ensembles de données pour :
make_classification()make_blobs()# Importer make_classification du module datasets de sklearn from sklearn.datasets import make_classification# Générer les échantillons et leurs étiquettes x, y = make_classification(n_samples=1000,n_classes=2,n_informative=2,n_features=4,n_clusters_per_class=2,class_sep=1)
# Voir les données et étiquettes générées
print(x.shape)
print(y.shape)
print(x)
(1000, 4)
(1000,)
[[ 1.22914870e+00 -2.62386795e+00 2.25878743e+00 2.55377055e+00]
[-1.10279812e+00 -1.15816087e+00 1.55571279e+00 7.80565898e-02]
[ 2.65581977e-03 -2.33278818e+00 2.37837858e+00 1.57533194e+00]
...
[ 4.51006972e-01 7.53435745e-01 -9.21597108e-01 -2.20659747e-01]
[ 5.31925876e-01 7.42210504e-01 -9.37625248e-01 -1.61488855e-01]
[ 1.62862108e+00 -2.72435345e+00 2.22562940e+00 2.87628246e+00]]


# Importer le module datasets pour générer des données de regroupement from sklearn.datasets import make_blobs# Définir une valeur d'écart type standard_deviation = 1.5# Générer les données et étiquettes du jeu de données x, labels = make_blobs(n_features=3, centers=4, cluster_std=standard_deviation)# Voir la forme des données générées print(x.shape)
(100, 3)


Confidentialité des données et anonymisation en Python