Serialize and deserialize DiffPrivLib pipelines to and from JSON.
It is inspired from opendp-logger and a first version was made by Oblivious for the UN PET Lab Hackathon 2022.
from sklearn.pipeline import Pipeline
from diffprivlib import models
pipeline = Pipeline(
[
(
"scaler",
models.StandardScaler(
bounds=([17, 1, 0, 0, 1], [90, 160, 10000, 4356, 99])
),
),
("pca", models.PCA(2, data_norm=5, centered=True)),
("lr", models.LogisticRegression(data_norm=5)),
]
)
from diffprivlib_logger import serialise_pipeline
serialised_pipeline = serialise_pipeline(pipeline)
from diffprivlib_logger import deserialise_pipeline
deserialised_pipeline = serialise_pipeline(serialised_pipeline)