Fake ข้อมูลด้วย Faker

รูปจาก http://www.deccanchronicle.com/

ในยุค data science กำลังรุ่งเรืองแบบนี้ เรื่องของ data privacy ก็ยิ่งมีความสำคัญมากขึ้นตาม ถ้ายิ่งองค์กรไหนต้องการที่จะผลักดันเรื่อง open data ด้วยแล้ว เรื่อง privacy นี้แทบจะเป็นเรื่องที่ต้องกังวลอันดับต้นๆ เลยทีเดียว แม้ว่าจะเป็นการใช้ข้อมูลภายในองค์กรเราเองก็ตาม

บทความนี้อยากจะมาแนะนำ Python library แหล่มๆ ตัวหนึ่งที่อยากให้ทุกคนได้ลองใช้กันที่ชื่อ Faker หลักการของการทำก็ง่ายมาก คือเราอ่านข้อมูลจริงมา แล้วก็แก้ค่าข้อมูลที่เราอยากให้เป็น anonymous โดยใช้ข้อมูลที่ได้จาก Faker นั่นเอง

ดูโค้ดเลยดีกว่า ไม่ต้องอ่านไรเยอะแยะ สมมุติว่าผมมีไฟล์ข้อมูลการใช้บัตรเครดิตแบบนี้ เก็บอยู่ในฟอร์แมต CSV มีไฟล์ชื่อ transactions.csv

name,email,credit_card_number,amount
Kan O.,kan@cool.io,3530111333300000,30300.49
John D.,johon@cool.io,4111111111111111,27500.12

ส่วนด้านล่างนี้เป็นโค้ดที่ใช้ Faker สร้าง fake data มาแทนที่ข้อมูลจริงๆ ในที่นี้ก็จะแทนที่ชื่อ อีเมล และเลขบัตรเครดิต ส่วนจำนวนเงินที่ใช้ผมใช้ข้อมูลจริงๆ (ก็แน่ล่ะ ถ้าไม่มีข้อมูลจำนวนเงินก็ไม่รู้จะเอาไปวิเคราะห์อะไร ใช่เปล่า? 😜)

ข้อมูลใหม่ที่ได้ก็จะมีหน้าตาประมาณนี้ ไฟล์ใหม่ชื่อ anonymized_transactions.csv

name,email,credit_card_number,amount
Patricia Meyer,robinsonjillian@curtis.com,3088948286183933,30300.49
Margaret Watson,williamrosales@humphrey.info,869954160247894,27500.12

จะเห็นได้ว่าชื่อ อีเมล และเลขบัตรเครดิตโดนแก้ไปเรียบร้อย~

ตัว Faker นี้ยังมี feature อื่นๆ อีก เช่น เราสามารถสร้าง Provider มาใช้เองได้ เป็นต้น ไปลองใช้กันดูเลย 😆 🎉

--

--

Kan Ouivirach
PyCon Thailand — Host of PyConAPAC 2021

Data Craftsman. Passionate in software engineering, data engineering, and data science. ♥