การเตรียมข้อมูลสำหรับ Data Mining
สิ่งแรกที่ต้องทำคือ
เราต้องมาคิดกันก่อนว่าจะนำเทคนิคดาต้าไมน์นิงไปประยุกต์กับด้านใด เพราะเหตุใด
และต้องการจะหาความรู้แบบใดออกมาจากการทำดาต้าไมน์นิงสมมุติว่าเราต้องการนำเทคนิคดาต้าไมน์นิงไปประยุกต์ใช้กับด้านการศึกษา
เนื่องมาจากเราได้เล็งเห็นว่าในปัจจุบันตามสถาบันการศึกษาส่วนใหญ่มีข้อมูลต่าง ๆ
นิสิตที่ได้ถูกจัดเก็บไว้เป็นเวลานาน
แต่ข้อมูลส่วนใหญ่จะได้นำมาใช้ประโยชน์ตอนที่นิสิตศึกษาอยู่เท่านั้น เมื่อนิสิตจบการศึกษาไปแล้วข้อมูลก็จะได้รับการจัดเก็บไว้เป็นอย่างดี
โดยที่ไม่ได้นำมาใช้ให้เกิดประโยชน์เท่าที่ควร
เมื่อเราคิดได้แล้วว่าเราต้องการนำเทคนิคดาต้าไมน์นิงไปประยุกต์ใช้กับการศึกษา
ต่อมาเราต้องหาเป้าหมาย (Mining Objective) ว่าเราต้องการสืบค้นความรู้แบบใดจากการทำดาต้าไมน์นิงกับข้อมูลนิสิตนี้บ้าง ถ้าเราต้องการนำเทคนิคดาต้าไมน์นิงเพื่อนำมาช่วยนิสิตในการเลือกสาขาวิชา
เช่น สำหรับที่นิสิตคณะวิศวกรรมศาสตร์ จะเห็นได้ว่ามีสาขาวิชาต่าง ๆ มากมายกว่า 10 สาขาวิชา ซึ่งจะเห็นได้ว่า
นิสิตส่วนใหญ่เมื่อเข้ามาศึกษาในคณะวิศวกรรมศาสตร์แล้ว
พอถึงเวลาที่ต้องเลือกสาขาวิชา
นิสิตจะไม่ทราบว่าความสามารถตนเองควรจะเข้าเรียนในสาขาวิชาใดจึงจะมีโอกาสประสบความสำเร็จมากที่สุด
ดังนั้น
เราจึงเห็นว่าสมควรอย่างยิ่งที่จะนำเทคนิคดาต้าไมน์นิงมาประยุกต์ใช้กับฐานข้อมูลนิสิต
โดยความรู้ (knowledge) ที่ได้จากการทำดาต้าไมน์นิงสามารถนำมาใช้ในการช่วยนิสิตเลือกสาขาวิชาได้เมื่อเราได้เป้าหมายในการทำดาต้าไมน์นิงแล้ว
เราก็ต้องมาหาข้อมูลนิสิตกัน สมมุติว่าเราได้ข้อมูลนิสิตย้อนหลังทั้งหมด 10 ปี มีทั้งหมด 2 ส่วน คือ
ข้อมูลประวัติส่วนตัวนิสิตดังตารางที่ 1 และข้อมูลการลงทะเบียนเรียนในแต่ละรายวิชาของนิสิตดังตารางที่ 2
ตารางที่ 1
ตัวอย่างข้อมูลประวัติส่วนตัวนิสิต
จากตารางที่ 1
เป็นตัวอย่างข้อมูลประวัติส่วนตัวต่าง ๆ ของนิสิต เช่น รหัสประจำตัวนิสิต ชื่อ
เพศสัญชาติ ที่อยู่ วันเกิด สถานภาพทางครอบครัว คะแนนสอบเข้า ผลการเรียนระดับมัธยม
สาขาวิชาที่นิสิตศึกษาอยู่ เกรดเฉลี่ยสะสมจนถึงปีปัจจุบัน ฯลฯ
ตารางที่ 2
ตัวอย่างข้อมูลการลงทะเบียนเรียนของนิสิต
จากตารางที่ 2 เป็นตารางข้อมูลการลงทะเบียนของนิสิตในแต่ละรายวิชา ในแต่ละภาคการศึกษา
พร้อมทั้งหมู่ที่เรียน และผลการเรียนในรายวิชานั้น ๆ ของนิสิตแต่ละคน
เมื่อเราได้ข้อมูลทั้งหมดแล้ว
ขั้นต่อมาก็คือ การเตรียมข้อมูลเพื่อให้พร้อมที่จะนำไปทำดาต้าไมน์นิง
ซึ่งแบ่งเป็นขั้นต่าง ๆ ได้ดังนี้
ข้อมูลที่ได้มานั้น
เป็นข้อมูลที่ยังไม่สมบูรณ์ที่จะสามารถนำไปใช้ผ่านกระบวนการดาต้าไมน์นิงได้
จึงต้องมีการจัดการข้อมูล การเตรียมข้อมูลเบื้องต้นมีวิธีการดังนี้ เลือกเฉพาะคอลัมน์สำคัญที่คาดว่าจะสามารถนำมาใช้ประโยชน์ได้
และเป็นคอลัมน์ที่มีข้อมูลค่อนข้างครบถ้วนเมื่อเทียบกับจำนวนนิสิต เช่น
จากในตารางที่ 1 คอลัมน์สำคัญที่มีข้อมูลค่อนข้างมาก
ได้แก่ ข้อมูลรหัสนิสิต ที่อยู่ อายุ เพศ ประวัติครอบครัวโรงเรียน
เกรดเฉลี่ยที่จบการศึกษาในมหาวิทยาลัย เป็นต้น ส่วนในบางคอลัมน์ที่มีความสำคัญ
แต่มีข้อมูลน้อยมากนั้นจะไม่นำมาพิจารณา เช่น ข้อมูลคะแนนสอบเอ็นทรานซ์ในแต่ละวิชา
เหตุผลในการสอบเข้า เป็นต้น
สำหรับคอลัมน์ที่มีค่าสำหรับทุกแถวเป็นค่าเดียวกัน
เช่น “สัญชาติไทย” จะเป็นข้อมูลที่ไม่สามารถแยกความแตกต่างของแต่ละแถวได้เลย
ดังนั้นในการทำดาต้าไมน์นิงจะไม่สามารถใช้ประโยชน์จากคอลัมน์นี้ ดังนั้น
จึงไม่นำคอลัมน์นี้มาพิจารณา คอลัมน์ที่มีค่าที่ไม่ซ้ำกันเลย จากตารางที่ 1 ได้แก่ ชื่อผู้ปกครอง หมายเลขโทรศัพท์ เป็นต้น
ข้อมูลเหล่านี้ไม่สามารถหาแถวที่มีข้อมูลสัมพันธ์กันได้เลย
การทำดาต้าไมน์นิงจึงไม่สามารถนำข้อมูลเหล่านี้มาใช้ประโยชน์ได้
ดังนั้นในการทำดาต้าไมน์นิงควรกำจัดคอลัมน์ที่มีข้อมูลไม่ซ้ำกันเลยออก แก้ไขข้อมูลให้ถูกต้องสมบูรณ์
ได้แก่ การแก้ไขค่าว่างของข้อมูล ซึ่งสามารถแก้ไขได้หลายวิธี เช่น
แก้ไขโดยกำจัดข้อมูลที่ในแถวเป็นค่าว่าง (NULL) ยกตัวอย่างเช่น
จากในตารางที่ 2 ข้อมูลบางแถวค่าในคอลัมน์ Grade หายไป ซึ่งจะเห็นได้ว่าถ้ามีแต่รหัสนิสิตและวิชาที่ลงทะเบียน
โดยที่ไม่มีข้อมูลเกรดแล้ว เราก็ไม่สามารถจะนำแถวนั้นพิจารณาเพื่อหาความสัมพันธ์ที่น่าสนใจได้
ปรับเปลี่ยนข้อมูลให้มีค่าเหมาะสมในการตัดสินใจ เช่น จากตารางที่ 1 ข้อมูลที่เป็นที่อยู่นั้นไม่สามารถที่จะนำมาใช้โดยตรงได้
เพราะจะเป็นปัญหาดังข้อ 1.3 คือ
ข้อมูลที่อยู่ของนิสิตแต่ละคนไม่ซ้ำกันเลย ดังนั้นจึงต้องปรับเปลี่ยนข้อมูลให้อยู่ในรูปแบบที่จะสามารถนำไปใช้ได้
ในกรณีนี้จะปรับข้อมูลในคอลัมน์ที่อยู่ของนิสิตให้เป็น Bangkok และ Non-Bangkok อย่างใดอย่างหนึ่ง
เป็นต้นการจัดกลุ่มข้อมูลเพื่อลดการกระจาย (Binning Data) ทั้งนี้เนื่องมาจากข้อมูลของนิสิตมีจำนวนไม่มาก แต่เกรดในแต่ละวิชาที่สามารถมีได้นั้นมีจำนวนมากถึง 10 ตัวด้วยกันคือ {A, B+, B, C+, C, D+ ,D, F, W, I} ดังนั้นเพื่อลดการกระจายของข้อมูลเกรดของนิสิตที่มีมากเมื่อเทียบกับจำนวนนิสิต
จึงได้จัดกลุ่มเกรดของนิสิตเป็น 3 กลุ่ม ดังนี้
คือ เกรด {A, B+, B} เป็น High, เกรด{C+, C} เป็น Medium และ เกรด {D+, D, F, W, I} เป็น Low
จากตารางที่ 1 ที่เป็นข้อมูลประวัตินิสิต
เราได้นำมาปรับเปลี่ยนข้อมูลบางส่วนเพื่อให้สมบูรณ์ขึ้น ได้แก่
-การตัดคอลัมน์ที่ไม่จำเป็นในการทำดาต้าไมน์นิงออก
เช่น คอลัมน์ชื่อนิสิต เพราะชื่อนิสิตแต่ละคนไม่สามารถนำมาทำดาต้าไมน์นิงได้
-คัดเลือกเฉพาะคอลัมน์ที่คาดว่าจะสามารถนำมาทำดาต้าไมน์นิงได้
เช่น คัดเลือกคอลัมน์โรงเรียน แต่เนื่องจากชื่อโรงเรียนของนิสิตแต่ละคนมีมากมาย
เราจึงต้องปรับข้อมูลโรงเรียนให้เป็นกลุ่มอย่างสมดุลเพื่อที่จะได้สามารถนำไปใช้ในการทำดาต้าไมน์นิงได้
เช่น แบ่งข้อมูลโรงเรียนเป็น 2 กลุ่ม คือ สอบเทียบ
และจบจากมัธยมศึกษาปีที่ 6 โดยกำหนดว่าSchool
= 0 คือจบการศึกษาจากมัธยมศึกษาปีที่ 6 และ School = 1 คือสอบเทียบ เป็นต้น
- ปรับเปลี่ยนข้อมูลในบางคอลัมน์เพื่อให้สามารถนำไปไมน์นิงได้
เช่น คอลัมน์ที่อยู่
ปรับข้อมูลให้เป็นกลุ่มว่านิสิตอยู่ในกรุงเทพฯ หรือไม่ เป็นต้น
ผลที่ได้จากการทำข้อมูลจากตารางที่ 1 ให้สมบูรณ์แสดงดังตารางที่ 3
ตารางที่ 3
ตัวอย่างข้อมูลประวัตินิสิตที่ทำให้สมบูรณ์
จากตารางที่ 3 ที่เป็นตารางข้อมูลการลงทะเบียนเรียนของนิสิต
เราได้ปรับข้อมูลบางส่วนให้สมบูรณ์ขึ้น ได้แก่
· การตัดบางคอลัมน์ที่ไม่น่าสนใจที่จะนำมาทำดาต้าไมน์นิงออก
เช่น คอลัมน์หมู่การเรียน
· จับกลุ่มข้อมูลในคอลัมน์เกรดเพื่อลดการกระจายของข้อมูล
เป็นต้น
ผลที่ได้จากการทำข้อมูลในตารางที่
2
ให้สมบูรณ์แสดงดังตารางที่ 4
ตารางที่
4 ตัวอย่างข้อมูลการลงทะเบียนเรียนของนิสิตที่ทำให้สมบูรณ์
ไม่มีความคิดเห็น:
แสดงความคิดเห็น