Please enable JavaScript.
Coggle requires JavaScript to display documents.
Data cleansing - Coggle Diagram
Data cleansing
กระบวนการทำ Data Cleansing มีอะไรบ้าง?
กำจัดข้อมูลที่ซ้ำซ้อนและข้อมูลที่ไม่เกี่ยวข้องออก
สิ่งแรกที่ต้องทำในกระบวนการทำ Data Cleansing คือ การกำจัดข้อมูลที่ซ้ำซ้อนและข้อมูลที่ไม่เกี่ยวข้องเพื่อลดภาระในการประมวลผลและให้ได้ข้อมูลที่ ‘เกลี้ยงเกลา’ ที่สุด ข้อมูลที่ซ้ำซ้อน (duplicated data) นั้น มักจะได้มาจากการกรอกข้อมูลซ้ำซ้อนของคน การดึงข้อมูลจากหลากหลายแหล่ง หลายแผนก หรือการรวมข้อมูลภายในและข้อมูลจาก Open source เพราะมีโอกาสสูงที่แหล่งข้อมูลแต่ละแหล่งจะขอ/คีย์ข้อมูลชุดเดียวกัน หากไม่นำข้อมูลที่ซ้ำซ้อนออกก่อนที่จะวิเคราะห์ข้อมูล Insight ที่ได้อาจจะไม่ตรงกับความเป็นจริง ส่วนข้อมูลที่ไม่เกี่ยวข้อง (Irrelevant data) นั้น ส่วนมากจะเกิดขึ้น จากคำตอบหรือเป้าหมายในการวิเคราะห์ข้อมูลที่เราต้องการที่แตกต่างกันออกไป ทำให้ไม่มีความจำเป็นต้องใช้ข้อมูลบางชุด เช่น เรามีข้อมูลกิจกรรมการขายทุกอย่าง หากต้องการรู้เฉพาะว่า สินค้าใดขายดี ก็ไม่จำเป็นต้องนำข้อมูลกลุ่มลูกค้าที่ซื้อมาคำนวณ ดังนั้น ก่อนที่จะทำการวิเคราะห์ประมวลผล จึงควรนำข้อมูลที่ไม่จำเป็น ไม่ใช่ปัจจัยที่จะทำให้ได้คำตอบออกไปก่อน
แก้ไขข้อผิดพลาดในเชิงโครงสร้างหรือรูปแบบ
ขั้นตอนต่อมาของการทำ Data Cleansing คือ การจัดการกับข้อมูลที่ผิดพลาดในเชิงโครงสร้างหรือรูปแบบ (structural errors) เช่น ข้อมูลข้อมูลหนึ่งหรือคำคำหนึ่งที่มีค่าเท่ากัน ระบบอาจมองว่าเป็นข้อมูลคนละตัว การทำ Data Cleansing ในขั้นตอนนี้คือการกำหนดให้ข้อมูลที่หมายถึงสิ่งเดียวกันมีค่าเท่ากัน ยกตัวอย่างเช่น กำหนด “N/A” กับ “Not Applicable” ให้มีค่าเท่ากัน รวมไปถึงการกำหนดการคำนวณทศนิยม ว่าต้องการเอากี่หลักหรือต้องการปัดขึ้นหรือลง
จัดการกับข้อมูลที่หายไปหรือไม่สมบูรณ์
แน่นอนว่า หากมีข้อมูลที่หายไป ผลลัพธ์หรือคำตอบจากการวิเคราะห์ย่อมเปลี่ยนไป ความแม่นยำลดลง แต่ยิ่งไปกว่านั้น หากมีข้อมูลที่หายไป อัลกอริธึม (algorithm) หรือระบบที่ใช้วิเคราะห์อาจไม่ทำงานได้ ดังนั้น เราจึงต้องจัดการกับข้อมูลที่หายไปก่อนที่จะทำการประมวลผลข้อมูล โดยวิธีที่อาจจะทำได้ก็อย่างเช่น
ตัดข้อมูลที่หายไปออกจากการประมวลผล ซึ่งหากใช้วิธีนี้ อาจจะต้องใคร่ครวญดีๆ ก่อนว่าคุ้มค่าที่จะทำหรือไม่ เพราะจะทำให้ปัจจัยในการประมวลผลหายไปหนึ่งปัจจัย คำตอบที่ได้ก็จะไม่ละเอียดเท่าตอนที่มีปัจจัยให้วิเคราะห์ครบถ้วน
ใส่หรือแทนค่าข้อมูลที่หายไป ซึ่งอาจได้จากการไปหาข้อมูลเพิ่มหรือจากการสันนิษฐาน อย่างไรก็ตาม หากข้อมูลหายไปเป็นจำนวนมาก อาจต้องใช้เวลาในการใส่ข้อมูลใหม่
เปลี่ยนวิธีประมวลผลหรือใช้ชุดข้อมูลอื่นๆ ที่สามารถให้ Insight ได้ใกล้เคียง
กรองข้อมูลที่มีค่าผิดปกติออกจากชุดข้อมูล
บางทีข้อมูลที่ได้ โดยเฉพาะข้อมูลที่นำเข้าโดยมนุษย์ เช่น กรอกข้อมูล พิมพ์ ฯลฯ มีโอกาสที่จะได้ค่าที่ไม่มีทางเป็นไปได้ ยกตัวอย่างเช่น จำนวนสมาชิกในครอบครัว 500 คน ซึ่งระบบไม่รู้ว่าเป็นข้อมูลที่เกินจริง หรืออัตราการซื้อสินค้าที่เกินสินค้าในคลัง หรือตัวเลขอื่นๆ ที่น้อยหรือมากกว่าที่ควรจะเป็น การทำ Data Cleansing ในขั้นตอนนี้ คือ การกำจัดช่วงของค่าหรือตัวเลขที่ไม่มีทางเป็นจริงออกในคราวเดียวด้วยการกำหนด “Outliner” ขีดเส้นกั้นเอาเฉพาะช่วงข้อมูลที่ต้องการ
ตรวจสอบความถูกต้อง (QA)
ขั้นตอนสุดท้ายของการทำ Data Cleansing คือ ขั้นตอนการตรวจสอบชุดข้อมูลว่าได้ชุดข้อมูลที่สมบูรณ์พร้อมสำหรับการวิเคราะห์เพื่อให้ได้คำตอบที่ต้องการแล้วหรือไม่ โดยเราอาจตรวจสอบได้ง่ายๆ ด้วยการถามคำถามกับตัวเอง เช่น
ชุดข้อมูลที่ได้มีความสมเหตุสมผลหรือไม่
ข้อมูลอยู่ในรูปแบบที่เหมาะสมสำหรับการหาคำตอบหรือไม่
ชุดข้อมูลที่ได้สามารถให้คำตอบหรือ Insight ที่ต้องการได้จริงหรือไม่
หากไม่แน่ใจ ว่าชุดข้อมูลที่ได้สามารถให้คำตอบได้ อาจต้องทำความสะอาดข้อมูลอีกรอบ บิด หรือเลือกใช้ชุดข้อมูลชุดใหม่ในการวิเคราะห์
Data Cleansing คืออะไร? : :
การทำความสะอาดข้อมูล หรือ “Data Cleansing” หมายถึง กระบวนการตรวจสอบ สะสาง แก้ไข หรือจัดรูปแบบข้อมูลให้อยู่ในสภาพที่พร้อมใช้งานที่สุด รวมไปถึงคัดกรองข้อมูลที่ไม่ถูกต้องหรือไม่จำเป็นออกไปจากชุดข้อมูลที่จะใช้วิเคราะห์หรือประมวลผล เพื่อให้ชุดข้อมูลที่จะใช้มีความสมบูรณ์ มีคุณภาพ พร้อมนำไปวิเคราะห์และใช้ประโยชน์ ซึ่งอาจเรียกอีกอย่างว่า เป็นการทำ “re-oganize” ข้อมูลใหม่ก็ได้
ส่วนสาเหตุของการที่เราต้องทำความสะอาดข้อมูลก่อนใช้ นั่นก็เพื่อหลีกเลี่ยงผลลัพธ์ที่ไม่ถูกต้องแม่นยำ จากปัจจัยหลายอย่าง ไม่ว่าจะเป็นความผิดพลาดของการบันทึกข้อมูล การพิมพ์ผิด รูปแบบข้อมูลที่แตกต่างกัน ชุดข้อมูลไม่สอดคล้องกับคำถาม ข้อมูลที่ไม่เป็นความจริง ข้อมูลที่ไม่สามารถอ้างอิงในระบบได้ เป็นต้น
กรณีตัวอย่างความผิดพลาดในการบันทึกข้อมูล: การให้ rating กับร้านอาหารที่คนชื่นชอบ เราอาจได้ “คำตอบเดียวกัน” ในหลากหลายรูปแบบ เช่น Mc, Mcdonalds, แม็ค, ร้านแม็คโดนอลส์ เป็นต้น หากเราส่งข้อมูลเหล่านี้เข้าประมวลผล ระบบคงเข้าใจว่า เป็นคนละร้าน ผลลัพธ์ที่ประมวลผลได้คงไม่แม่นยำ เราจึงต้องทำ Data Cleansing เพื่อให้คำตอบเหล่านี้มีค่าเท่ากันหรือเป็นคำตอบเดียวกันก่อน
ลักษณะข้อมูลที่ทำความสะอาด
ถึงแม้ว่า ลักษณะของข้อมูลที่เราจะทำความสะอาดหรือทำการ Cleansing จะขึ้นอยู่กับ Insight หรือคำตอบที่ต้องการ ทำให้ไม่ว่าจะเป็นข้อมูลแบบไหนก็ตามก็อาจต้องการทำความสะอาดก่อนเสมอ โดยมีลักษณะข้อมูลทั่วไปที่ต้องทำ Data Cleansing อยู่เสมอ 3 ลักษณะสำคัญด้วยกัน
ชุดข้อมูลที่ไม่ได้อยู่ในรูปแบบหรือไฟล์ประเภทเดียวกัน
กรณีนี้ อาจเกิดจากการที่มีข้อมูลจากหลากหลายฐานข้อมูล (database) เมื่อมาจากหลากหลายแหล่ง จึงมีโอกาสที่แต่ละแหล่งจะจัดเก็บข้อมูลกันคนละสกุลไฟล์ เช่น จัดเก็บข้อมูลเป็นไฟล์ .pdf ไฟล์ excel หรือสกุลไฟล์อื่นๆ ที่ไม่คุ้นเคย เมื่อจำเป็นต้องนำมาประมวลผลด้วยกัน จึงไม่สามารถทำได้
การทำ Data Cleansing สำหรับข้อมูลประเภทนี้ จึงเป็นการแปลงไฟล์ข้อมูลต่างๆ ให้เป็นไฟล์สกุลเดียวกัน เพื่อให้สามารถนำมาประมวลผลด้วยกันได้ นอกจากนี้ การจัดรูปแบบไฟล์ใหม่ อาจทำไปเพื่อลดการใช้พื้นที่จัดเก็บ เช่น การรวมไฟล์ข้อมูลเข้าไปไฟล์เดียว การแปลงข้อมูลมาอยู่ในรูปแบบไฟล์ที่กินพื้นที่น้อยกว่า
ข้อมูลไม่ได้ถูกจัดเก็บในรูปแบบที่ต้องการเราจำเป็นต้องทำให้ข้อมูลอยู่ในรูปแบบที่พร้อมสำหรับการวิเคราะห์ข้อมูลหรือนำไปสู่ report หรือคำตอบที่เราต้องการได้ ยกตัวอย่างเช่น เราต้องการทราบร้านคู่แข่งในแต่ละเขต/อำเภอ แต่ข้อมูลที่มีอยู่นำเข้ามาจาก Open Source ที่แบ่งพื้นที่ตามพิกัด GPS (ละติจูด-ลองติจูด) เราจึงต้องแปลงข้อมูลที่ได้ให้เป็นแบบเขต/อำเภอ ก่อน หรืออีกตัวอย่างง่ายๆ คือ ข้อมูลไม่ได้ถูกเก็บอยู่ในไฟล์ที่สามารถส่งข้อมูลเข้าประมวลผลได้ เช่น ได้ข้อมูลเป็นไฟล์รูปภาพ (.jpg หรือ .png) อาจต้องแปลงเป็นไฟล์ข้อความหรือสคริปต์ (.csv, .tsv, .json, .xml) เพื่อให้พร้อมสำหรับการวิเคราะห์ก่อน
ข้อมูลที่ไม่ถูกต้องหรือมีข้อผิดพลาดในการเก็บข้อมูลส่วนใหญ่ข้อมูลที่กรอกหรือนำเข้าสู่ระบบโดยคน อาจมีข้อผิดพลาด (human errors) บ้างเป็นธรรมดา เช่น การกรอกข้อมูลผิดช่อง การกรอกข้อมูลที่ไม่มีทางเป็นความจริง การกรอกข้อมูลที่ถูกต้องแต่ไม่ตรงกับข้อมูลหลัก (ตัวอย่างชื่อร้านเดียวกัน แต่เขียนหรือสะกดต่างกัน) ฯลฯ ทำให้ได้ชุดข้อมูลที่เมื่อประมวลผลออกมาแล้วได้ Insight หรือคำตอบที่ไม่แม่นยำหรือผิดจากความจริงไป
นอกจากข้อผิดพลาดที่เกิดขึ้นจากคนแล้ว ยังอาจมีความคลาดเคลื่อนของระบบได้ เช่น การติดตามกิจกรรมต่างๆ (event tracking) ที่เกิดขึ้นในระบบ ไม่ได้ถูกบันทึกตามเวลาจริง เพราะอาจมีความล้าช้าจากการส่งข้อมูล หรือเกิดความขัดข้องอื่นๆ