1
$\begingroup$

In our company we want to protect data privacy internally. Meaning, we want to find a way to anonymize the data so the data science team members cannot expose it and yet still can use it for modelling.

I googled and read about Pseudonymization. But I mean, is it destroying the data? I didn't find any reliable source using it practically.

$\endgroup$
  • $\begingroup$ You're going to have to add more details. Is this data numeric? Language? Images? When you say "expose" do you mean expose it to each other or to competitors? What exactly is the root fear here? $\endgroup$ – I_Play_With_Data Feb 19 at 20:52
  • $\begingroup$ @I_Play_With_Data The data is mostly numeric. And by 'expose', I mean exposing the data to the internal data science team of the company. The fear is fear of an internal leak of data. $\endgroup$ – Ahmedn1 Feb 21 at 0:22
  • $\begingroup$ can we see the data to tell? $\endgroup$ – pcko1 Feb 21 at 21:01
0
$\begingroup$

You could checkout the OpenMined Pysyft library which is a library for encrypted, privacy preserving deep learning built over Pytorch. PySyft decouples private data from model training.

Github link to the Pysyft library - https://github.com/OpenMined/PySyft

$\endgroup$
0
$\begingroup$

If your data is completely numeric, have you considered removing column names from the data? It's completely possible that your staff could carry out their modeling functions without having to know what the numbers are at any stage. You would have to do some data prep to make sure that correlated columns have been accounted for, but even that could be still addressed with the "anonymous" columns.

If you give your staff a dataset with randomized column names that would still preserve your desired privacy, the data would effectively be useless.

$\endgroup$
0
$\begingroup$

Members of your data science team should be familiar with various forms of data anonymization. Depending on the nature of your data, it usually involves removing or obfuscating all data that has the potential to identify a person/client/other. Feature scaling, encoding, and name swapping (as @I_Play_With_Data had mentioned) can help reduce the possibility of revealing personal data or identifying the input source (individual persons or other entities).

While there's usually data that can be dropped or obfuscated entirely without impacting the results (like encoding or removing a client's SSN from a dataset), there are often features which are more difficult to handle in a correct manor. If you decide to encode categorical data, there are multiple ways that this can be done and the data scientists will need to be made aware of any assumptions made during the process (i.e. that null values were encoded or that a certain set of columns represent a single original feature). There are a number of things that can go wrong if you're too aggressive in your attempts to anonymize data, so often it's best to delegate the task to people with experience on both ends of the business, for example: a member of the compliance department familiar with data science or a member of the data science team who is also a subject matter expert.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.