จุดประสงค์ของการทำความสะอาดข้อมูลคืออะไร *

จุดประสงค์ของการทำความสะอาดข้อมูลคืออะไร *

การทำความสะอาดข้อมูล (Data Cleaning) คือขั้นตอนหนึ่งในกระบวนการทำงานด้าน Data โดยมีจุดประสงค์เพื่อให้ข้อมูลมีความถูกต้อง และเหมาะสมกับโจทย์งานหรือโมเดลที่จะใช้มากยิ่งขึ้น ช่วยให้ได้ผลวิเคราะห์ที่เชื่อถือได้มีประสิทธิภาพหรือได้ AI ที่สามารถทำงานได้ถูกต้องแม่นยำมากขึ้น ซึ่งข้อมูลที่ต้องทำความสะอาดนั้นอาจมีปัญหาหลายเรื่องด้วยกันเช่น ในชุดข้อมูลมีข้อมูลไม่ครบถ้วนขาดหายไปบางช่อง, รูปแบบวันที่ไม่ถูกต้อง, หน่วยของข้อมูลไม่สัมพันธ์กัน, คำผิดถูก, ประเภทของข้อมูล และอื่น ๆ อีกมากมาย ด้วยปัญหาที่ไม่รู้จบนี้ส่งผลให้งานทำความสะอาดข้อมูลเป็นงานที่ต้องใช้เวลานานมากเพราะกว่าจะหารูปแบบของข้อมูลที่ผิดได้หรือกว่าจะทำความเข้าใจชุดข้อมูลได้นั้นก็กินเวลาอย่าง
มหาศาลแล้ว ฉะนั้นในบทความนี้จะช่วยให้คุณรู้จักกับวิธีการทำความสะอาดข้อมูลแบบเบื้องต้น (มักพบกรณีเหล่านี้เสมอ) เพื่อช่วยให้คุณสามารถเริ่มต้นงานข้อมูลได้รวดเร็วมากขึ้น

ตัวอย่างการทำ Data Cleaning เบื้องต้น

การจัดการกับค่าว่าง (Missing Values)
ค่าว่าง คือการที่ชุดข้อมูลมีข้อมูลไม่ครบถ้วนบางช่องในตารางอาจไม่มีข้อมูล ซึ่งก็มีสาเหตุมาจากหลายเรื่องด้วยกัน เช่น เก็บข้อมูลผิดพลาด, ไม่มีการแทนค่าว่างด้วยสัญลักษณ์หรืออักษรย่อใด ๆ เป็นต้นดังนั้นเรื่องแรกที่จะต้องตรวจสอบก็คือชุดข้อมูลมีค่าว่างหรือไม่ ซึ่งวิธีการจัดการมีวิธีการที่ทำกันเป็นประจำดังนี้

  • Drop Missing Values คือการลบแถวของชุดข้อมูลหรือคอลัมน์ของชุดข้อมูลที่มีค่าว่างออกไปทั้งหมดซึ่งวิธีนี้สามารถทำได้ไม่ยากและทำได้รวดเร็วแต่ข้อเสียคือจะสูญเสียข้อมูลไป และถ้าเกิดว่ามีค่าว่างในหลายแถวหลายคอลัมน์ก็จะยิ่งทำให้เราเสียข้อมูลมากจนเกินไป
  • Imputation คือการเติมค่าสมมุติลงไปแทนค่าว่าง เช่นการใช้ค่าเฉลี่ย, ค่าฐานนิยม เป็นต้น วิธีนี้ช่วยให้สามารถรักษาข้อมูลเอาไว้ได้ ถึงแม้ว่าข้อมูลที่เติมลงไปอาจจะไม่ถูกต้องตามความจริงนัก แต่ก็มักจะช่วยให้การวิเคราะห์หรือโมเดลทำงานได้ดีขึ้น ทั้งนี้ข้อพึงระวังในการเติมค่าคือคุณจำเป็นจะต้องมีความรู้ความเข้าใจในโจทย์และชุดข้อมูลนั้น ๆ ให้ดีซะก่อนเพื่อให้ค่าที่เติมลงไปมีความถูกต้องใกล้เคียงความจริง
  • Imputation แบบ Advance ในกรณีที่ข้อมูลและงานมีความซับซ้อนนั้นค่าที่ต้องเติมควรมีการคิดและหาวิธีเติมที่ถูกต้องมากกว่าการใช้ค่าสถิติทั่ว ๆ ไป และสำหรับงานด้าน ML นั้นอาจเพิ่มคอลัมน์สำหรับระบุว่าช่องไหนบ้างที่ทำการเติมข้อมูลลงไป (Extension to Imputation) ซึ่งเรื่องเหล่านี้จะอยู่ในการทำ Feature Engineering

การจัดการช่วงของข้อมูล และการกระจายตัวของข้อมูล (Scaling & Normalization)
วิธีการนี้จะถูกใช้กับข้อมูลที่เป็นตัวเลข โดยที่

  • Scaling คือการปรับค่าของข้อมูล (ที่มีประเภทเป็นตัวเลข) ให้อยู่ในช่วงที่กำหนด เช่นให้อยู่ในช่วง 0-100, 0-1 เป็นต้น สาเหตุที่ต้องทำการสเกลนั้นเป็นเพราะในหลาย ๆ โมเดลมองค่าไม่เหมือนกับที่มนุษย์มอง เช่น สมมุติว่า 1 USD มีค่าเท่ากับ 100 Yen แต่โมเดลอย่าง SVM หรือ KNN นั้นมองว่าส่วนต่างของ 1 Yen กับ 1 USD นั้นมีค่าเท่ากัน เป็นต้น ดังนั้นจึงต้องแปลงค่าให้อยู่ในช่วงที่เหมาะสมกับงานซะก่อน
  • Normalization คือการปรับรูปแบบการกระจายตัวของข้อมูล โดยปกติแล้วเราต้องการให้ข้อมูลมีรูปแบบการกระจายตัวแบบปกติ (Normal Distribution) เพราะในหลาย ๆ โมเดลต้องการข้อมูลที่มีการกระจายตัวแบบปกติเช่นกัน

การจัดการกับข้อมูลที่เป็นวันที่ (Parsing Dates)
วันเดือนปีและเวลา ที่มาในตารางหรือชุดข้อมูลบางครั้งก็มีรูปแบบที่ไม่ตรงกันหรือประเภทของข้อมูลไม่ใช่ datetime ดังนั้นข้อมูลวันที่เหล่านี้จึงควรจัดให้อยู่ในรูปแบบการเขียนเดียวกัน และมีประเภทเป็นdatetime จริง ๆ

การเข้ารหัสตัวอักษร (Character Encodings)
ในหลาย ๆ ครั้งชุดข้อมูลภาษาอื่น ๆ ที่ไม่ใช่ Latin Characters มักจะไม่สามารถแสดงผลข้อมูลได้ถูกต้อง อย่าง สวัสดี กลายเป็น ������ หรือกลายเป็นสิ่งที่อ่านไม่ออก ดังนั้นการเข้ารหัสตัวอักษรคือสิ่งสำคัญที่จะทำให้สามารถอ่านและแสดงผลข้อมูลได้ถูกต้อง โดยหลักการคือการจับคู่ข้อมูลดิบของตัวอักษรในรูปแบบเลขฐานสอง มาแปลความเป็นคำที่มนุษย์สามารถอ่านออกและเข้าใจได้

Tips ใน python บางครั้ง utf-8 ไม่สามารถใช้เข้ารหัสภาษาไทยได้ ให้ลองใช้เป็น tis-620 แทน

รูปแบบของข้อมูลไม่สอดคล้องกัน (Inconsistent Data Entry)
เช่น ในชุดข้อมูลมีคอลัมน์ของจังหวัดและเขตการปกครอง โดยที่ในคอลัมน์นี้มีข้อมูลทั้ง กรุงเทพมหานคร กรุงเทพฯ กทม. เป็นต้น จะเห็นว่าทั้ง 3 ค่านี้จริง ๆ แล้วคือค่าเดียวกัน ดังนั้นการจัดรูปให้ตรงกันก็เป็นเรื่องที่จำเป็นเช่นกัน

Conclusion

Data Cleaning คือการเพิ่มความถูกต้องให้กับชุดข้อมูล และเตรียมข้อมูลให้เหมาะสมกับงานโดยพื้นฐานแล้วควรเริ่มที่การทำความเข้าใจชุดข้อมูล ทำความเข้าใจโจทย์งาน และดูภาพรวมของข้อมูลแบบเดิมก่อน (Data Profiling) จากนั้นจึงจัดการตามเหมาะสม โดยสิ่งที่มักจะเจอเป็นประจำก็คือตามในหัวข้อที่ 2 ด้านบนนี้หากต้องการเรียนรู้และฝึกฝนเพิ่มเติม สามารถเรียนฟรีได้ที่ Kaggle โดยจะมีทั้งคำอธิบายที่ละเอียดและตัวอย่างข้อมูลให้ได้ทดลองทำกันอีกทั้งเมื่อเรียนจบแล้วยังได้ Certificate อีกด้วย เรียนได้ที่ลิงก์นี้เลย

Related Post

© 2022 hitexts. All rights reserved

การทําความสะอาดข้อมูล(Data Cleansing) ประกอบด้วยอะไรบ้าง

การทำความสะอาดข้อมูล Data cleansing หรือ data cleaning หรือ data scrubbing คือ กระบวนการตรวจสอบ การแก้ไข หรือการลบ เพื่อให้รายการข้อมูลที่ไม่ถูกต้องออกไปจากชุดข้อมูล ตารางหรือฐานข้อมูล ซึ่งเป็นหลักสำคัญของฐานข้อมูล เพราะหมายถึงความไม่สมบูรณ์ ความไม่ถูกต้อง ความไม่สัมพันธ์กับข้อมูลอื่น ๆ เป็นต้น จึงทำให้ผู้เชี่ยวชาญหลาย ...

ขั้นตอนการทําความสะอาดข้อมูล มี 4 ขั้นตอน อะไรบ้าง

4 ขั้นตอนการทำความสะอาดข้อมูล ดังนี้ 1 Parsing คือ การแจกแจงข้อมูล 2 Correcting คือ การแก้ไขข้อมูลที่ผิดพลาด 3 Standardizing คือ การทำข้อมูลให้เป็นรูปแบบเดียวกัน และ 4 Duplicate Elimination คือ การลบชุดข้อความซ้ำซ้อนทิ้ง E0%B8%82%E0%B8%B1%E0%B9%89%E0%B8%99%E0%B8%95%E0%B8%AD%E0%B8%99%E0%B8%81%E0%B8%B2%E0%B8%A3-clean- ...

ขั้นตอน Parsing ของการทำความสะอาดข้อมูล คือข้อใด

Parsing คือ การแจกแจงข้อมูล หรือการใช้หัวข้อของชุดข้อมูล ความสำคัญของขั้นตอนนี้ไม่ใช่แค่การใช้ Head ของข้อมูล แต่เป็นการทำความเข้าใจว่าคำจำกัดความของชุดข้อมูลนั้นๆ คืออะไร รวมไปถึงเข้าใจค่า และความหมายของมัน เช่น มีค่าสูงสุด หรือ ต่ำสุดเท่าไหร่ เป็นต้น