Data Wrangling หรือการทำความสะอาดข้อมูล ที่เรียกได้ว่าเป็นส่วนที่น่าเบื่อและใช้เวลานานเกินครึ่งของงานด้าน Data Science สำหรับคนส่วนใหญ่ แต่กลับเป็นกระบวนการที่มีความสำคัญอย่างมากในการนำไปใช้งานต่อ เพราะถ้าหากเราขาดข้อมูลที่มีคุณภาพแล้ว การวิเคราะห์ข้อมูลซึ่งเป็นสิ่งที่เราต้องการก็ดูเหมือนจะไม่เกิดประโยชน์และอาจจะเสียเวลาไปซะอย่างงั้น Show
ในบทความนี้เราลองมาดูกันค่ะ ว่า Data wrangling คืออะไร ทำไมถึงต้องทำ มีขั้นตอนอย่างไรบ้าง ประกอบกับตัวอย่างในตอนท้าย สารบัญเนื้อหา Data Wrangling คืออะไรData Wrangling เรียกอีกอย่างว่า Data cleaning, Data remediation หรือ Data munging คือกระบวนการเปลี่ยนข้อมูลดิบให้อยู่ในรูปแบบที่ง่ายต่อการใช้งาน สามารถทำได้หลายวิธีโดยขึ้นอยู่กับลักษณะข้อมูล และเป้าหมายในการใช้งาน ข้อมูลดิบ (Raw data, Dirty data) คือข้อมูลที่ไม่ได้ผ่านขั้นตอนก่อนกระบวนการ (pre-processing) มาจากแหล่งข้อมูลได้หลายรูปแบบ ตั้งแต่เป็นไฟล์ JSON, XML, CSV, EXCEL หรือ PDF มีปัญหาด้านคุณภาพของข้อมูล (Data quality) เช่น การมีข้อมูลไม่สอดคล้องกัน ข้อมูลซ้ำ ข้อมูลขาดหาย หรือข้อมูลผิดปกติ ทำให้ยากต่อการวิเคราะห์ หาข้อมูลเชิงลึก และสร้างโมเดลได้ ดังนั้นก่อนที่เราจะนำข้อมูลไปใช้งาน เราจึงต้องทำการคลีนข้อมูล เพื่อที่ข้อมูลจะอยู่ในรูปแบบที่เหมาะสม เข้าใจง่าย และสามารถนำไปใช้ให้เกิดประโยชน์มากที่สุด ทำไมต้องมีการ Data Wranglingการที่ข้อมูลดิบนั้นมักจะขาดๆเกินๆ ไม่ครบถ้วน และขาดความถูกต้องทำให้เรามีความจำเป็นในการทำ Data wrangling เพื่อที่จะทำให้คุณภาพของข้อมูลนั้นดีขึ้น เราสามารถวัดคุณภาพข้อมูลโดยสังเกตุจากลักษณะหลักๆ ตามด้านล่างนี้เลย คุณภาพของข้อมูล (Data quality)5 ลักษณะในการตรวจสอบคุณภาพของข้อมูลการตรวจสอบคุณภาพของข้อมูล สามารถทำได้โดยดูจากคุณลักษณะดังต่อไปนี้
ลักษณะสำหรับการตรวจสอบคุณภาพของข้อมูลด้านบนนั้นเป็นลักษณะหลักๆที่มักจะใช้กัน แต่ก็สามารถเปลี่ยนแปลง เพิ่มเติม ไปตามวิธีการจัดเก็บข้อมูล และชุดข้อมูลได้ เมื่อทุกคนรู้แล้วว่าคุณภาพของข้อมูลสามารถวัดได้จากหลายลักษณะ เราก็ลองมาดูกันว่าข้อมูลแต่ละชนิดที่เราอาจจะพบเจอระหว่างการตรวจสอบข้อมูลนั้นมีอะไรบ้าง ชนิดของข้อมูลชนิดของข้อมูลที่เราเจอได้นั้นมีอยู่หลายประเภท โดยปกติแล้วข้อมูลจากหลายแหล่งมักจะมาในหลายรูปแบบ ซึ่งส่วนมากก็ไม่สามารถนำมาวิเคราะห์ได้ทันทีเลย เราจะเล่าให้ฟังว่าชนิดของข้อมูลที่คุณจะออกไปเจอมีแบบไหนบ้าง คร่าวๆดังต่อไปนี้ Network dataข้อมูลเชิงกราฟและเครือข่าย (Graph and network data) เป็นรูปแบบที่มีจุดหลายจุดเรียกว่า Node หรือ Vertex พร้อมกับเส้นที่ลากออกไปเชื่อมกันระหว่างจุด เรียกว่า Edge ยกตัวอย่างเช่น ข้อมูลจากโซเชียลเน็ตเวิร์คอย่าง เฟสบุ๊ค ทวิตเตอร์ หรือ โครงสร้างโมเลกุล Times series dataข้อมูลอนุกรมเวลา (Times series data) เป็นรูปแบบที่เป็นลำดับเวลา แต่ละจุดข้อมูลถูกเก็บตามช่วงเวลา ยกตัวอย่างเช่น อัตราการแลกเปลี่ยนระหว่างค่าเงินของออสเตรเลีย (AUD) และค่าเงินของไทย (THB) ในช่วงสิบห้าปีที่ผ่านมา Sequential dataข้อมูลที่มีลำดับ (Sequential data) เป็นรูปแบบที่เป็นลำดับของปัจจัยสำคัญ หรือเหตุการณ์ ยกตัวอย่างเช่น การหาแบบในลำดับดีเอ็นเอเพื่อที่จะวินิจฉัยโรคต่างๆ Image dataข้อมูลเชิงพื้นที่ รูป และมัลติมีเดีย (Spatial, image and multimedia data) เป็นรูปแบบที่เราสามารถเจอได้ทั้ง แผนที่ รูปภาพ วิดีโอ และเสียง การที่เราจะวิเคราะห์รูปแบบด้านบนนี้จะแอดวานซ์มาก ยกตัวอย่างเช่น การประมวลผลภาพ (image processing) text dataข้อมูลตัวอักษร (Text data) เป็นข้อมูลที่ประกอบไปด้วยคำศัพท์และตัวอักษรจำนวนมาก เช่นจากบทความ ข่าว ทวิต หรือ สิทธิบัตร การที่เราจะทำให้เครื่องเข้าใจภาษามนุษย์แบบถูกหลักไวยากรณ์และตรงตามความหมายนั้น เป็นปัญหาที่ท้าทายมากในโลกของข้อมูล เมื่อเรารู้กันแล้วว่ามีโอกาสเจอข้อมูลแนวไหนได้บ้าง ก็ลองมาดูกันต่อว่าปัญหาของข้อมูลที่เรามักจะเจอมาในแบบไหนกัน ปัญหาคุณภาพของข้อมูลปัญหาคุณภาพข้อมูลที่เราพบเจอได้โดยปกติ ในระหว่างทำการคลีนข้อมูล
ถึงตรงนี้ทุกคนก็น่าจะพอเข้าใจการคลีนข้อมูลขึ้นมาบ้างแล้ว ขั้นตอนการทำเป็นอย่างไรไปดูกันเลย ขั้นตอนในการ Data Wranglingขั้นตอนการทำ Data WranglingData Scientist, Data Analyst หรือ Data Wrangler แต่ละคนอาจจะมีความคิดเห็น และมุมมองที่แตกต่างกันในการแก้ปัญหาในการคลีนข้อมูล โดยขั้นตอนที่เราจะนำเสนอมีดังนี้
ตัวอย่างในการทำ Data Wranglingเมื่อเราเข้าใจภาพรวมในการทำ Data Wrangling แล้ว ถ้าเพื่อนๆอยากลองทำกัน ก็เข้าไปลองทำได้โดยคลิกตามรูปข้างล่าง โดยเราได้เลือกตัวอย่างการคลีนข้อมูล Titanic ซึ่งเป็นข้อมูลชุดที่เป็นที่นิยมมากไว้ทางด้านซ้าย และแบบเรียนรู้การคลีนข้อมูลฟรีจาก Kaggle ไว้ทางด้านขวา มาให้เพื่อนๆ Interactive Notebookตัวอย่างการคลีนข้อมูลในชุด TitanicFree Course แบบเรียนรู้การคลีนข้อมูลใน Kaggle สรุป Data Wranglingจากที่เราคุยกันมาทั้งหมด เราก็ได้รู้ว่า Data Wrangling นั้นคืออะไร มีไว้ทำไม ข้อมูลคุณภาพมีหน้าตาเป็นอย่างไร โดยเราสามารถวิเคราะห์ได้จากอะไรบ้าง ปัญหาของข้อมูลที่เราอาจเจอ ชนิดของข้อมูล และขั้นตอนในกระบวนการ Data Wrangling รวมถึงมีตัวอย่างในการลงมือทำให้เพื่อนๆไปลองกันด้วย สำหรับใครที่สงสัยว่าการเดินทางของข้อมูลตั้งแต่ต้นจนจบเป็นอย่างไร มีข้อมูลแล้ว คลีนแล้ว ไปเก็บไว้ที่ไหน เปิดดูบทความ Data Pipeline ของเราได้ด้านล่างนี้เลย Data Pipeline ทำยังไง? สรุปวิธีสร้างระบบ Data Science ในองค์กรใหญ่ตั้งแต่ต้นจนจบ ถ้าเพื่อนๆคิดว่าบทความนี้มีประโยชน์ อยากฝากให้ช่วยแชร์ให้เพื่อน ๆ หน่อยนะคะ และถ้าอยากติดตามบทความดี ๆ ด้าน Data กันบน Facebook หรืออยากมาพูดคุย ติชมกัน เชิญได้ที่ Facebook Page: DataTH – Data Science ชิลชิล เลยนะค้าา แล้วพบกันใหม่บทความหน้าค่ะ ขอบคุณรูปภาพจาก Unsplash, Kaseya, และ Work illustrations by Storyset
บทความอื่น ๆ ที่เกี่ยวข้อง[Data Science Tips] สร้างข้อมูลแบบสุ่มง่าย ๆ ด้วย Excel แบบชิลชิลแนะนำ AutoML: เครื่องมือจาก Google ที่ทำให้ทุกคนสร้าง Model ML ใช้เองได้อาชีพนี้ทำอะไร: ฝน Data Engineer & Machine Learning Engineerเล่าประสบการณ์ ทำงาน Data Engineer ปีแรกในออสเตรเลีย โดย แอดเหมียวมารู้จัก RapidMiner เครื่องมือ Data Science ที่ไม่ต้องเขียนโค้ด กับพี่เอก Data Cubeสัมภาษณ์คุณบีท Data Engineer ที่ Krungthai Bank Innovation LabPrevPreviousสัมภาษณ์แอดยศ Senior Data Analytics Manager ที่ Predictive เจ้าของเพจ มาลองเรียน NextBig Data เก็บที่ไหน? Data Lake vs Data Warehouse vs DatabaseNext ผู้เขียนMeowData Engineer ที่ออสเตรเลีย มีความสนใจด้าน Healthcare/Insurance อย่างมาก ชอบตัวเลข Stat Machine learning การสร้างโมเดลทำนายผลและวิเคราะห์ข้อมูลให้ทำประโยชน์ได้จริง ลักษณะข้อมูลแบบไหนที่ต้องทำความสะอาดข้อมูล (Data Cleansing)ทั้งนี้ในการทำความสะอาดข้อมูล เกิดขึ้นเนื่องจาก มีความไม่สอดคล้องของข้อมูล ซึ่งอาจเกิดจากข้อผิดพลาดของการบันทึกข้อมูล การส่งข้อมูล หรือการให้ความหมายของข้อมูลที่จัดเก็บแตกต่างกัน อาทิเช่น พิมพ์ผิด มีการเว้นว่างไม่กรอกข้อมูล กรอกข้อมูลที่ไม่สามารถอ้างอิงในระบบได้ หรือ เป็นตัวเลขที่ไม่มีทางเป็นไปได้ในความเป็นจริง ดังนั้น ...
การทำความสะอาดข้อมูลควรทำอะไรบ้างกระบวนการทำ Data Cleansing มีอะไรบ้าง?. 1. กำจัดข้อมูลที่ซ้ำซ้อนและข้อมูลที่ไม่เกี่ยวข้องออก ... . 2. แก้ไขข้อผิดพลาดในเชิงโครงสร้างหรือรูปแบบ ... . 3. กรองข้อมูลที่มีค่าผิดปกติออกจากชุดข้อมูล ... . 4. จัดการกับข้อมูลที่หายไปหรือไม่สมบูรณ์ ... . 5. ตรวจสอบความถูกต้อง (QA). ขั้นตอนการทำความสะอาดข้อมูล มี 4 ขั้นตอน อะไรบ้าง4 ขั้นตอนการทำความสะอาดข้อมูล ดังนี้ 1 Parsing คือ การแจกแจงข้อมูล 2 Correcting คือ การแก้ไขข้อมูลที่ผิดพลาด 3 Standardizing คือ การทำข้อมูลให้เป็นรูปแบบเดียวกัน และ 4 Duplicate.
การทำความสะอาดข้อมูล (Data Cleansing) คืออะไร พร้อมยกตัวอย่างวิธีการทำความสะอาดข้อมูลData Cleansing เป็นกระบวนการในการตรวจจับ แก้ไข ลบ หรือแทนที่ข้อมูลที่เสียหายหรือไม่ถูกต้องจากตารางหรือฐานข้อมูล โดยให้ชุดข้อมูลมีความสอดคล้องกับความเป็นจริงและชุดข้อมูลอื่นๆ เพื่อที่ข้อมูลเหล่านั้นจะได้พร้อมสำหรับการนำไปใช้งานมากที่สุด
|