Metadata คืออะไร บอกอะไรเกี่ยวกับชุดข้อมูลนั้น ๆ บ้าง
Metadata คือข้อมูลที่อธิบายชุดข้อมูล เพื่อให้เข้าใจได้เบื้องต้นว่าเป็นชุดข้อมูลเกี่ยวกับอะไร ประเภทไฟล์ วันที่สร้างและปรับปรุง
การทำความสะอาดข้อมูล (Data Cleaning) คือขั้นตอนหนึ่งในกระบวนการทำงานด้าน Data โดยมีจุดประสงค์เพื่อให้ข้อมูลมีความถูกต้อง และเหมาะสมกับโจทย์งานหรือโมเดลที่จะใช้มากยิ่งขึ้น ช่วยให้ได้ผลวิเคราะห์ที่เชื่อถือได้มีประสิทธิภาพหรือได้ AI ที่สามารถทำงานได้ถูกต้องแม่นยำมากขึ้น ซึ่งข้อมูลที่ต้องทำความสะอาดนั้นอาจมีปัญหาหลายเรื่องด้วยกันเช่น ในชุดข้อมูลมีข้อมูลไม่ครบถ้วนขาดหายไปบางช่อง, รูปแบบวันที่ไม่ถูกต้อง, หน่วยของข้อมูลไม่สัมพันธ์กัน, คำผิดถูก, ประเภทของข้อมูล และอื่น ๆ อีกมากมาย ด้วยปัญหาที่ไม่รู้จบนี้ส่งผลให้งานทำความสะอาดข้อมูลเป็นงานที่ต้องใช้เวลานานมากเพราะกว่าจะหารูปแบบของข้อมูลที่ผิดได้หรือกว่าจะทำความเข้าใจชุดข้อมูลได้นั้นก็กินเวลาอย่าง
มหาศาลแล้ว ฉะนั้นในบทความนี้จะช่วยให้คุณรู้จักกับวิธีการทำความสะอาดข้อมูลแบบเบื้องต้น (มักพบกรณีเหล่านี้เสมอ) เพื่อช่วยให้คุณสามารถเริ่มต้นงานข้อมูลได้รวดเร็วมากขึ้น
การจัดการกับค่าว่าง (Missing Values)
ค่าว่าง คือการที่ชุดข้อมูลมีข้อมูลไม่ครบถ้วนบางช่องในตารางอาจไม่มีข้อมูล ซึ่งก็มีสาเหตุมาจากหลายเรื่องด้วยกัน เช่น เก็บข้อมูลผิดพลาด, ไม่มีการแทนค่าว่างด้วยสัญลักษณ์หรืออักษรย่อใด ๆ เป็นต้นดังนั้นเรื่องแรกที่จะต้องตรวจสอบก็คือชุดข้อมูลมีค่าว่างหรือไม่ ซึ่งวิธีการจัดการมีวิธีการที่ทำกันเป็นประจำดังนี้
การจัดการช่วงของข้อมูล และการกระจายตัวของข้อมูล (Scaling & Normalization)
วิธีการนี้จะถูกใช้กับข้อมูลที่เป็นตัวเลข โดยที่
การจัดการกับข้อมูลที่เป็นวันที่ (Parsing Dates)
วันเดือนปีและเวลา ที่มาในตารางหรือชุดข้อมูลบางครั้งก็มีรูปแบบที่ไม่ตรงกันหรือประเภทของข้อมูลไม่ใช่ datetime ดังนั้นข้อมูลวันที่เหล่านี้จึงควรจัดให้อยู่ในรูปแบบการเขียนเดียวกัน และมีประเภทเป็นdatetime จริง ๆ
การเข้ารหัสตัวอักษร (Character Encodings)
ในหลาย ๆ ครั้งชุดข้อมูลภาษาอื่น ๆ ที่ไม่ใช่ Latin Characters มักจะไม่สามารถแสดงผลข้อมูลได้ถูกต้อง อย่าง สวัสดี กลายเป็น ������ หรือกลายเป็นสิ่งที่อ่านไม่ออก ดังนั้นการเข้ารหัสตัวอักษรคือสิ่งสำคัญที่จะทำให้สามารถอ่านและแสดงผลข้อมูลได้ถูกต้อง โดยหลักการคือการจับคู่ข้อมูลดิบของตัวอักษรในรูปแบบเลขฐานสอง มาแปลความเป็นคำที่มนุษย์สามารถอ่านออกและเข้าใจได้
Tips ใน python บางครั้ง utf-8 ไม่สามารถใช้เข้ารหัสภาษาไทยได้ ให้ลองใช้เป็น tis-620 แทน
รูปแบบของข้อมูลไม่สอดคล้องกัน (Inconsistent Data Entry)
เช่น ในชุดข้อมูลมีคอลัมน์ของจังหวัดและเขตการปกครอง โดยที่ในคอลัมน์นี้มีข้อมูลทั้ง กรุงเทพมหานคร กรุงเทพฯ กทม. เป็นต้น จะเห็นว่าทั้ง 3 ค่านี้จริง ๆ แล้วคือค่าเดียวกัน ดังนั้นการจัดรูปให้ตรงกันก็เป็นเรื่องที่จำเป็นเช่นกัน
Data Cleaning คือการเพิ่มความถูกต้องให้กับชุดข้อมูล และเตรียมข้อมูลให้เหมาะสมกับงานโดยพื้นฐานแล้วควรเริ่มที่การทำความเข้าใจชุดข้อมูล ทำความเข้าใจโจทย์งาน และดูภาพรวมของข้อมูลแบบเดิมก่อน (Data Profiling) จากนั้นจึงจัดการตามเหมาะสม โดยสิ่งที่มักจะเจอเป็นประจำก็คือตามในหัวข้อที่ 2 ด้านบนนี้หากต้องการเรียนรู้และฝึกฝนเพิ่มเติม สามารถเรียนฟรีได้ที่ Kaggle โดยจะมีทั้งคำอธิบายที่ละเอียดและตัวอย่างข้อมูลให้ได้ทดลองทำกันอีกทั้งเมื่อเรียนจบแล้วยังได้ Certificate อีกด้วย เรียนได้ที่ลิงก์นี้เลย
Metadata คือข้อมูลที่อธิบายชุดข้อมูล เพื่อให้เข้าใจได้เบื้องต้นว่าเป็นชุดข้อมูลเกี่ยวกับอะไร ประเภทไฟล์ วันที่สร้างและปรับปรุง
การทำงานด้าน Machine Learning นั้นจะต้องเจอข้อมูลและมีคำถามเสมอว่าควรเริ่มจากอะไรดี โดย Mutual Information เป็นหนึ่งในขั้นตอนที่แนะนำให้ทำ
วิธีการแปลงข้อมูลประเภทหมวดหมู่/ประเภท (ที่เป็นตัวอักษร) ให้เป็นชุดตัวเลขด้วยวิธีการ One Hot Encoding เพื่อให้โมเดลสามารถเรียนรู้ได้
การเรียนรู้เชิงลึก (Deep Learning) นั้นเป็นเทคนิคที่มัประสิทธิภาพมากในงาน Machine Learning ปัจจุบันซึ่งเบื้องหลังของมันก็คือการใช้ ANN
ในหลาย ๆ ชุดข้อมูลมักจะมีการเก็บวันที่ไว้ด้วยเสมอ ซึ่งการ Parsing Dates จะช่วยให้ใช้งานวันที่เหล่านั้นได้ง่ายยิ่งขึ้น
การจะเริ่มทำโปรเจคอะไรสักอย่างสิ่งที่ขาดไม่ได้เลยคือข้อมูล แล้วยิ่งเป็นงานที่เกี่ยวข้องกับ Data แล้วนั้น Data source จึงเป็นสิ่งจำเป็นมาก