Faker के साथ डेटा मास्किंग और डेटा जेनरेशन

Python में डेटा प्राइवेसी और अज्ञातिकरण

Rebeca Gonzalez

Data engineer

क्वासी-आइडेंटिफायर

गैर-संवेदनशील Personally identifiable information भी क्वासी-आइडेंटिफायर हो सकती है. "Head of government in Europe" लिखा टेक्स्ट और जन्मतिथि, साथ में एंजेला मर्केल के चेहरे की ओर इंगित करती रेखाएँ

1 एंजेला मर्केल की फोटो: Wikimedia Commons से
Python में डेटा प्राइवेसी और अज्ञातिकरण

क्वासी-आइडेंटिफायर

अन्य क्वासी-आइडेंटिफायर से मिलकर ये पहचान बताने लगते हैं.

  • Age
  • Gender
  • Occupation
  • व्यक्तिगत तिथियाँ: जन्म, मृत्यु, हेल्थकेयर एडमिशन, विज़िट, आदि

एक व्यक्ति का चित्र और उसके चारों ओर व्यक्तिगत जानकारी वाले पॉपअप

Python में डेटा प्राइवेसी और अज्ञातिकरण

क्वासी-आइडेंटिफायर और री-आइडेंटिफिकेशन अटैक्स

दो डेटासेट: मेडिकल डेटा और वोटर लिस्ट का इंटरसेक्शन, जिसमें zip code, जन्मतिथि, और जेंडर हैं

Python में डेटा प्राइवेसी और अज्ञातिकरण

और अनोनिमाइज़ेशन तकनीकें

डेटा खुलासे के जोखिम घटाने के लिए क्वासी-आइडेंटिफायर की अनोनिमाइज़ेशन तकनीकें. दो टेबल जिनमें मेडिकल और व्यक्तिगत डेटा है. बाएँ ओर मूल डेटा, दाएँ ओर नाम एट्रिब्यूट दबाया हुआ परिणाम

Python में डेटा प्राइवेसी और अज्ञातिकरण

डेटा मास्किंग

मूल DataFrame

     name                phone
0    Cassandra Nelson    4399406975395
1    Brian Moss          0389407128613
2    Melody Gill         8283308773967
3    Sandra Huber        4366608954250
4    Patricia Webster    4466462475574

नाम मास्क किया हुआ DataFrame

     name    phone
0    xxxx    4399406975395
1    xxxx    0389407128613
2    xxxx    8283308773967
3    xxxx    4366608954250
4    xxxx    4466462475574

संवेदनशील मानों को "x" जैसे अन्य कैरेक्टर से बदलना data masking कहलाता है.

Python में डेटा प्राइवेसी और अज्ञातिकरण

डेटा मास्किंग

# DataFrame देखें
df.head()
     country         card_number           email
0    Finland         3546746666030419      [email protected]
1    Belarus         4303032415762821      [email protected]
2    Turkmenistan    4536883671157         [email protected]
3    Puerto Rico     3568819286614160      [email protected]
4    Angola          2514167462583016      [email protected]
Python में डेटा प्राइवेसी और अज्ञातिकरण

डेटा मास्किंग

# card_number कॉलम को एक समान तरीके से मास्क करें
df['card_number'] = '****'


# परिणामी DataFrame देखें df.head()
     country         card_number     email
0    Finland         ****            [email protected]
1    Belarus         ****            [email protected]
2    Turkmenistan    ****            [email protected]
3    Puerto Rico     ****            [email protected]
4    Angola          ****            [email protected]
Python में डेटा प्राइवेसी और अज्ञातिकरण

आंशिक डेटा मास्किंग

Facebook के पासवर्ड रीसेट पेज का स्क्रीनशॉट, जिसमें ईमेल आंशिक रूप से मास्क है

Python में डेटा प्राइवेसी और अज्ञातिकरण

आंशिक डेटा मास्किंग

# ईमेल से यूज़रनेम मास्क करें
df2['email'] = df2['email'].apply(lambda s: s[0] + '****' + s[s.find('@'):] )


# परिणामी उपनामित (pseudonymized) डेटा देखें df2.head()
     country         card_number           email
0    Finland         3546746666030419      f****@gmail.com
1    Belarus         4303032415762821      m****@gmail.com
2    Turkmenistan    4536883671157         a****@gmail.com
3    Puerto Rico     3568819286614160      k****@gmail.com
4    Angola          2514167462583016      d****@gmail.com
Python में डेटा प्राइवेसी और अज्ञातिकरण

सिंथेटिक डेटा जेनरेट करना

बाएँ मूल डेटा की टेबल जिसमें कार्ड नंबर हैं, दाएँ सिंथेटिक रूप से जेनरेट किए नए क्रेडिट कार्ड नंबर.

  • संवेदनशील जानकारी को मूल जैसी नई जेनरेटेड डेटा से बदलें.
Python में डेटा प्राइवेसी और अज्ञातिकरण

सिंथेटिक डेटा जेनरेट करना

# Faker क्लास इम्पोर्ट करें
from faker import Faker


# फेक डेटा जेनरेटर बनाएँ fake_data = Faker()
# एक क्रेडिट कार्ड नंबर जेनरेट करें fake_data.credit_card_number()
3542216874440804
Python में डेटा प्राइवेसी और अज्ञातिकरण

सिंथेटिक डेटा जेनरेट करना

# lambda फंक्शन से नए जेनरेटेड डेटा द्वारा card_number मास्क करें
df['card_number'] = df['card_number'].apply(lambda x: fake_data.credit_card_number())

# परिणामी उपनामित (pseudonymized) डेटा देखें df.head()
     country         card_number            email
0    Finland         3596625386355448       [email protected]
1    Belarus         376297265347524        [email protected]
2    Turkmenistan    4377494880888682       [email protected]
3    Puerto Rico     30553931809810         [email protected]
4    Angola          4241735748382          [email protected]
Python में डेटा प्राइवेसी और अज्ञातिकरण

अन्य प्रकार का डेटा जेनरेट करना

fake_data.name()
'Kelly Clark'
fake_data.name_male()
'Antonio Henderson'
fake_data.name_female()
'Jennifer Ortega'
Python में डेटा प्राइवेसी और अज्ञातिकरण

अभ्यास करते हैं!

Python में डेटा प्राइवेसी और अज्ञातिकरण

Preparing Video For Download...