งาน Data Engineer : Data Cleansing

DS1

Data Engineer Job
อบรมหลักสูตร Data Scientist Essentials (ช่วงที่ 2)

วันที่จัดอบรม : วันที่ 14 -15, 21-22 และ 28-29 พฤศจิกายน 2562 ( จำนวน 6 วัน )
Data cleansing เป็นการทำให้ข้อมูลพร้อมสำหรับการสร้างโมเดล จำแนกประเภทของข้อมูล วิธีการจัดการกับข้อมูลที่ขาดหายไป (Missing Values) และวิธีการหาข้อมูลที่ผิดปกติ (Outlier) สนใจอ่านรายละเอียดต่อ

งาน Data Engineer : Data Cleansing

ประเภทของข้อมูลแบ่งออกเป็น 2 ประเภท ได้แก่

– การจัดกลุ่มข้อมูล Categorical แบ่งออกเป็น 3 กลุ่มย่อย ดังนี้ Ordinal (การจัดกลุ่มข้อมูลตัวเลขแบบเรียงลำดับ), Binary (การจัดกลุ่มตามตัวอักษร), Nominal (การจัดกลุ่มตามลักษณะนาม)

– ข้อมูลตัวเลขแบบต่อเนื่อง Continuous

การจัดการกับข้อมูลเพื่อให้สามารถนำไปวิเคราะห์ได้ เช่น การแปลงข้อมูลแบบ Nominal โดยการนับ การแปลงข้อมูลตัวเลขแบบต่อเนื่องให้เป็นแบบ Ordinal แบ่งข้อมูลเป็นช่วงๆ ช่วงที่เท่ากัน หรือนับความถี่ของแต่ละช่วง

การจัดการกับข้อมูลที่ขาดหายไป (Missing Values)

การจัดการกับข้อมูลที่เป็น Target สำหรับสร้างโมเดล เช่น หากเราต้องการพยากรณ์ลูกค้าที่เลิกใช้บริการ เราจะต้องมีข้อมูลลูกค้าที่ยกเลิกบริการกับลูกค้าที่ยังไม่ยกเลิกบริการ แบ่งเป็น 2 กลุ่ม ปริมาณข้อมูลที่นำมาจะต้องมีสัดส่วนใกล้เคียงกัน ไม่นำข้อมูลลูกค้าทั้งหมดมาพยากรณ์

วิธีการจัดการกับข้อมูลที่ลูกค้าไม่ต้องการเปิดเผยข้อมูล เช่น รายได้หรือเงินเดือน สถานภาพ เครดิตบูโค มีวิธีจัดการ 3 แบบ ได้แก่

– แทนค่าด้วยค่าที่ใกล้เคียงกัน สำหรับเครดิตบูโร นำค่าเฉลี่ยหรือค่ามัธยฐานมาแทนค่าที่ขาดหายไป ส่วนสถานภาพนำค่าฐานนิยมมาแทนค่าที่ขาดหายไป เป็นต้น
– ลบทิ้ง
– เก็บไว้ เมื่อเห็นว่าข้อมูลนี้สำคัญ แต่แยกเป็น category เช่น รายได้ การที่ไม่มีข้อมูลคือ ไม่มีรายได้จริงๆ อาจจะว่างงานอยู่ เป็นต้น

การหาข้อมูลที่ผิดปกติ (Outlier) และแสดงผลเพื่อเห็นความผิดปกติของข้อมูล

การเตรียมข้อมูลเพื่อวิเคราะห์ จะต้องมีการหาข้อมูลที่ผิดปกติ คำนวณหาโดยใช้ SD หรือ IQR ดังภาพ

ภาพที่ 1 การหาข้อมูลที่ผิดปกติ

การหาความผิดปกติ อ.ไพรสันต์แนะนำให้ใช้ IQR มีความน่าเขื่อถือมากกว่า ค่า SD

Standardization คือ การปรับ scale ข้อมูลให้อยู่ในช่วงที่เราต้องการ เช่น [0, 1] หรือ [-1, +1] มี 3 วิธี ได้แก่
1) Min/Max standardization ดังรูปที่ 2 
2) Z-Score ดังรูปที่ 3
3) Decimal scaling ดังรูปที่ 4

ภาพที่ 2 Min/Max standardization
ภาพที่ 3 Z-Score
ภาพที่ 4 Decimal scaling

การปรับ scale ข้อมูลทำให้สร้างโมเดลได้เร็วขึ้น และทำให้ตัวแปรแต่ละตัวมีความสำคัญเท่ากัน

Lab : การจัดการกับข้อมูลที่ขาดหายไปและการหาข้อมูลที่ผิดปกติ โดยใช้ python, Spark

การวิเคราะห์ข้อมูลทั่วไปแนะนำให้ใช้โปรแกรม Weka หรือ Python หากเป็นข้อมูลขนาดใหญ่จึงใช้ Spark เพราะจะมีต้นทุนในการพัฒนาบุคลากร และต้นทุนเรื่องการจัดเก็บข้อมูลมากกว่า

เรียบเรียงโดย นุชนาฏ รงรอง
วิทยากร ดร.ไพรสันต์ ผดุงเวียง
บริษัท อาร์ แอนด์ ดี บีไอ จำกัด

 

Leave a Reply