กระบวนการวิเคราะห์ข้อมูลด้วย CRISP-DM และตัวอย่างการประยุกต์ใช้ทางด้านการศึกษา

[บทความนี้เป็นเนื้อหาบางส่วนจากหนังสือ An Introduction to Data Mining Techniques (ฉบับภาษาไทย)]

หลังจากที่ท่านผู้อ่านได้ทำความรู้จักกับเทคนิคการวิเคราะห์ข้อมูลด้วยดาต้า ไมน์นิงแบบต่างๆ ไปแล้ว ในบทความนี้ผมจะแนะนำกระบวนการวิเคราะห์ข้อมูลมาตรฐานซึ่งเป็นเหมือน blueprint ที่ใช้กันอย่างกว้างขวาง เช่นเดียวกันกับกระบวนการ ISO ในโรงงานอุตสาหกรรม หรือกระบวนการ CMMI ซึ่งเป็นมาตรฐานในการพัฒนาซอฟต์แวร์ กระบวนการมาตรฐานในการวิเคราะห์ข้อมูลด้านดาต้า ไมน์นิงนี้ พัฒนาขึ้นในปี ค.ศ. 1996 โดยความร่วมมือกันของ 3 บริษัท คือ DaimlerChrysler SPSS และNCR กระบวนการทำงานนี้เรียกว่า “Cross-Industry Standard Process for Data Mining” หรือเรียกย่อ ว่า “CRISP-DM” [1]

โดยในกระบวนการ CRISP-DM นี้จะประกอบด้วย 6 ขั้นตอนดังในรูปด้านล่างครับ แต่ละขั้นตอนในรูปจะเป็นขั้นตอนที่ต่อเนื่องกันนั่นคือขั้นตอนถัดไปจะรอผลลัพธ์จากขั้นตอนก่อนหน้าซึ่งแสดงด้วยลูกศรที่เชื่อมระหว่างกล่องสี่เหลี่ยมแต่ละกล่อง ตัวอย่างเช่นเมื่อได้ผลลัพธ์จากขั้นตอนการเตรียมข้อมูล (Data Preparation) แล้วจะนำไปสร้างโมเดลจำแนกประเภทข้อมูลในขั้น Modeling และหลังจากนั้นอาจจะย้อนกลับมาเปลี่ยนแปลงข้อมูลให้ถูกต้องมากขึ้นเพื่อหวังว่าจะโมเดลที่ให้ความถูกต้องมากขึ้นก็ได้ เป็นต้น

CRISP-DM_Process_Diagram
image source: https://en.wikipedia.org/wiki/Cross_Industry_Standard_Process_for_Data_Mining

ขั้นตอนในกระบวนการ CRISP-DM มีดังนี้

(1) Business Understanding

เป็นขั้นตอนแรกในกระบวนการ CRISP-DM ซึ่งเน้นไปที่การเข้าใจปัญหาและแปลงปัญหาที่ได้ให้อยู่ในรูปโจทย์ของการวิเคราะห์ข้อมูลทางดาต้า ไมน์นิงพร้อมทั้งวางแผนในการดำเนินการคร่าวๆ ตัวอย่างการนำเทคนิคดาต้า ไมน์นิ่งไปใช้ในการวิเคราะห์ดัานต่างๆ มีดังนี้ครับ

งานวิจัยต่างๆ ของไทยสามารถดูเพิ่มเติมได้จาก วารสารเทคโนโลยีสารสนเทศ (Information Technology Journal) หรือ NECTEC Technical Journal ครับ ส่วนงานวิจัยต่างประเทศดูได้จาก Expert System with Applications Journals หรือ ดูได้จาก รายชื่อวารสารทางด้านดาต้า ไมน์นิงครับ

(2) Data Understanding

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

(3) Data Preparation

ขั้นตอนนี้เป็นขั้นตอนที่ทำการแปลงข้อมูลที่ได้ทำการเก็บรวบรวมมา (raw data) ให้กลายเป็นข้อมูลที่สามารถนำไปวิเคราะห์ในขั้นถัดไปได้ โดยการแปลงข้อมูลนี้อาจจะต้องมีการทำข้อมูลให้ถูกต้อง (data cleaning) เช่น การแปลงข้อมูลให้อยู่ในช่วง (scale) เดียวกัน หรือการเติมข้อมูลที่ขาดหายไป เป็นต้น โดยขั้นตอนนี้จะเป็นขั้นตอนที่ใช้เวลามากที่สุดของกระบวนการ CRISP-DM

(4) Modeling

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

train_test.017

(5) Evaluation

ในขั้นตอนนี้เราจะได้ผลการวิเคราะห์ข้อมูลด้วยเทคนิคทางดาต้า ไมน์นิงแล้วแต่ก่อนที่จะนำผลลัพธ์ที่ได้ไปใช้งานต่อไปก็จะต้องมีการวัดประสิทธิภาพของผลลัพธ์ที่ได้ว่าตรงกับวัตถุประสงค์ที่ได้ตั้งไว้ในขั้นตอนแรก หรือ มีความน่าเชื่อถือมากน้อยเพียงใด ซึ่งอาจจะย้อนกลับไปยังขั้นตอนก่อนหน้าเพื่อเปลี่ยนแปลงแก้ไขเพื่อให้ได้ผลลัพธ์ตามที่ต้องการได้ สำหรับการสร้างโมเดลด้วยเทคนิค Classification มีการทดสอบประสิทธิภาพของโมเดลอยู่ 3 แบบใหญ่ คือ

  • Self-consitency test
  • Split test
  • Cross-validation test

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

(6) Deployment

ในกระบวนการทำงานของ CRISP-DM นั้นไม่ได้หยุดเพียงแค่ผลลัพธ์ที่ได้จากการวิเคราะห์ข้อมูลด้วยเทคนิคทางดาต้า ไมน์นิงเท่านั้น แม้ว่าผลลัพธ์ที่ได้จะแสดงถึงองค์ความรู้ที่มีประโยชน์ แต่จะต้องนำองค์ความรู้ที่ได้เหล่านี้ไปใช้ได้จริงในองค์กรหรือบริษัท ตัวอย่างเช่น การสร้างรายงานเพื่อให้ผู้บริหารหรือนักการตลาดเข้าใจได้ง่ายและสามารถนำไปออกโปรโมชั่นได้ เป็นต้น

ตัวอย่างการใช้งาน CRISP-DM ในการแนะนำภาควิชาให้กับนักศึกษา

ในหัวข้อนี้ผมจะแสดงตัวอย่างการนำกระบวนการ CRISP-DM ไปใช้งาน โดยอ้างอิงจากงานวิจัยของ รศ. ดร. กฤษณะ ไวยมัย คุณชิดชนก ส่งศิริ และ ดร. ธนาวินท์ รักธรรมานนท์ ในเรื่อง “การใช้เทคนิคดาต้า ไมน์นิงเพื่อพัฒนาคุณภาพการศึกษาคณะวิศวกรรมศาสตร์” [2] โดยขอแบ่งเป็นขั้นตอนต่างๆ ดังนี้

(1) Business Understanding

ในสมัยก่อนนิสิตชั้นปีที่ 1 ของคณะวิศวกรรมศาสตร์ มหาวิทยาลัยเกษตรศาสตร์ จะเรียนรวมกันหมดหลังจากนั้นจึงจะเลือกภาควิชา เช่น ภาควิชาวิศวกรรมคอมพิวเตอร์ หรือ ภาควิชาวิศวกรรมเครื่องกล ในตอนที่ขึ้นชั้นปีที่ 2 แต่ปัญหาที่พบ คือ นิสิตส่วนใหญ่มักเลือกภาควิชาไม่ตรงกับความสามารถหรือความชอบของตนเองเนื่องจากอาจจะได้ได้รับคำแนะนำจากผู้ปกครองหรือติดตามเพื่อนฝูงไปเรียน ทำให้นิสิตเหล่านี้มีผลการเรียนตกต่ำและอาจจะต้องโดนไล่ออกไปในที่สุด เพื่อแก้ปัญหาดังกล่าวอาจารย์และนักศึกษาระดับปริญญาโทจากห้องปฏิบัติการค้นหาความรู้จากฐานข้อมูลขนาดใหญ่ (DAKDL) คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเกษตรศาสตร์ ได้นำเทคนิคการวิเคราะห์ข้อมูลทางดาต้า ไมน์นิงมาประยุกต์ใช้เพื่อแนะนำภาควิชาที่เหมาะสมให้กับนิสิตแต่ละคน ซึ่งในงานวิจัยนี้มีการใช้เทคนิคทางดาต้า ไมน์นิงหลายเทคนิคแต่ในบทความนี้ขอแสดงวิธีในหัวข้อ “โมเดลการจําแนกประเภทข้อมูลสําหรับแต่ละภาควิชาโดย พิจารณาว่านิสิตเหมาะสมกับภาควิชานั้นๆ หรือไม่” เพียงเท่านั้น สำหรับท่านผู้อ่านที่สนใจงานวิจัยนี้สามารถอ่านได้จากงานวิจัยเรื่อง การใช้เทคนิคดาต้าไมน์นิงเพื่อพัฒนาคุณภาพการศึกษานิสิตคณะวิศวกรรมศาสตร์ โดย กฤษณะ ไวยมัย , ชิดชนก ส่งศิริ และ ธนาวินท์ รักธรรมานนท์ [2]

(2) Data Understanding

ขั้นตอนนี้จะต้องรวบรวมข้อมูลจากสำนักทะเบียนของมหาวิทยาลัยเกษตรศาสตร์ โดยเลือกเฉพาะนิสิตของคณะวิศวกรรมศาสตร์ที่ลงทะเบียนเรียนในช่วงปี พ.ศ. 2535-2542 ซึ่งมีจำนวน 476,085 แถว จากนิสิตประมาณ 10,000 คน โดยข้อมูลแบ่งเป็น 2 ส่วน คือ

  • ข้อมูลประวัติส่วนตัวของนิสิต เช่น เพศ อายุ ภูมิลำเนา
  • ข้อมูลการลงทะเบียนของนิสิต เช่น ผลการเรียนในวิชาคณิตศาสตร์ วิชาฟิสิกส์

train_test.018

(3) Data Preparation

ในขั้นตอนนี้เป็นการคัดเลือกข้อมูลที่สำคัญและการแปลงข้อมูล เน่ืองมาจากการเลือกภาควิชาในคณะวิศวกรรมศาสตร์ มหาวิทยาลัยเกษตรศาสตร์จะใช้เกรดจากวิชาทั้งหมด 9 วิชาในชั้นปีที่ 1 มาเป็นตัวพิจารณา หลังจากคัดเลือกข้อมูลรายวิชาได้แล้วจะต้องทำการแปลงข้อมูลให้อยู่ในรูปแบบตารางซึ่งข้อมูลนักศึกษาแต่ละคนแสดงในแนวนอนและรายวิชาในแนวคอลัมน์ ดังแสดงในตารางซึ่งได้ทำการแบ่งช่วงข้อมูลจากเกรด A, B+, B, C+, C, D+ และ D เป็น

  • ช่วง High เกรด B, B+, A
  • ช่วง Medium เกรด C, C+
  • ช่วง Low เกรด F, D+, D

train_test.019

(4) Modeling

ขั้นตอนนี้จะทำการสร้างโมเดลด้วยวิธี Decision Tree โดยแบ่งข้อมูลจำนวน 70% เป็นข้อมูลสำหรับสร้างโมเดล และข้อมูลจำนวน 30% ใช้เป็นข้อมูลทดสอบโมเดลที่สร้างขึ้นได้ (เป็นวิธีการ Split Test ในหัวข้อที่ 4.3 การแบ่งข้อมูลเพื่อใช้ในการวัดประสิทธิภาพของโมเดลการจำแนกประเภทข้อมูล) ในงานวิจัยนี้สร้างโมเดลแยกตามภาควิชา เช่น โมเดลสำหรับภาควิชาวิศวกรรมคอมพิวเตอร์ โมเดลสำหรับภาควิชาวิศวกรรมไฟฟ้า เป็นต้น โดยคลาสของข้อมูลจะแบ่งเป็น 2 คลาส คือ

  • คลาส GOOD คือ นิสิตที่มีเกรดเฉลี่ยสะสม (GPA) อยู่ในลำดับ 40% แรกสุดของแต่ละภาควิชา
  • คลาส BAD คือ นิสิตที่มีเกรดเฉลี่ยสะสม (GPA) อยู่ในลำดับ 40% ท้ายสุดของแต่ละภาควิชา

ตัวอย่างโมเดล (สมมุติ) สำหรับภาควิชาวิศวกรรมคอมพิวเตอร์แสดงดังรูปด้านล่าง ซึ่งจากโมเดลด้านล่างสามารถสรุปออกมาเป็นกฎได้ 4 แบบ คือ

  • ถ้านิสิตเรียนวิชาคอมพิวเตอร์ (computer) ได้เกรดสูง (high) แล้วจะเรียนได้ดี (good) ในภาควิชาวิศวกรรมคอมพิวเตอร์ด้วย
  • ถ้านิสิตเรียนวิชาคอมพิวเตอร์ (computer) ได้เกรดต่ำ (low) และเรียนวิชาคณิตศาสตร์ (mathematics) ได้เกรดสูง (high) แล้วจะเรียนได้ดี (good) ในภาควิชาวิศวกรรมคอมพิวเตอร์ด้วย
  • ถ้านิสิตเรียนวิชาคอมพิวเตอร์ (computer) ได้เกรดต่ำ (low) และเรียนวิชาคณิตศาสตร์ (mathematics) ได้เกรดต่ำ (low) และเรียนวิชาฟิสิกิส์ (physics) ได้เกรดสูง (high) แล้วจะเรียนได้ดี (good) ในภาควิชาวิศวกรรมคอมพิวเตอร์ด้ว
  • ถ้านิสิตเรียนวิชาคอมพิวเตอร์ (computer) ได้เกรดต่ำ (low) และเรียนวิชาคณิตศาสตร์ (mathematics) ได้เกรดต่ำ (low) และเรียนวิชาฟิสิกิส์ (physics) ได้เกรดต่ำ (low) แล้วจะเรียนได้ไม่ดี (bad) ในภาควิชาวิศวกรรมคอมพิวเตอร์ด้วย

train_test.020

(5) Evaluation

หลังจากที่แบ่งข้อมูลออกเป็น 2 ส่วนและใช้โมเดลที่สร้างได้จากข้อมูลจำนวน 70% มาทำการแนะนำภาควิชาให้กับนิสิตที่อยู่ในข้อมูลจำนวน 30% ที่เหลือ และใช้การวัดค่าความถูกต้อง (รายละเอียดดูได้จากบทความเรื่อง “การแบ่งข้อมูลเพื่อทดสอบประสิทธิภาพของโมเดล“) ได้ความถูกต้องเฉลี่ยในทุกโมเดลเท่ากับ 84.58%

(6) Deployment

จากโมเดล Decision Tree ที่สร้างขึ้นมาได้นั้นสามารถนำไปแนะนำภาควิชาให้กับนักศึกษาใหม่ได้โดยนำข้อมูลของนิสิตชั้นปีที่ 1 ที่จะทำการเลือกภาควิชาไปเปรียบเทียบกับโมเดลของภาควิชาต่างๆ โดยเริ่มจากโหนดบนสุดที่เป็นวิชาต่างๆ และไล่เรียงลงมาจนถึงโหนดสุดท้าย (leaf) ที่บ่งบอกว่าเป็นคลาส GOOD หรือ BAD ตามเงื่อนไขของโมเดล Decision Tree ในการใช้งานจะนำโมเดลจากทุกภาควิชามาใช้และพิจารณาโมเดลที่ให้คำตอบเป็น GOOD และมีสัดส่วนมากกว่า BAD เป็นต้น

เอกสารอ้างอิง

  1. C. Shearer, “The CRISP-DM model: The new blueprint for data mining“. Journal of Data Warehousing, 5(4), 13–22, 2000
  2. กฤษณะ ไวยมัย , ชิดชนก ส่งศิริ และ ธนาวินท์ รักธรรมานนท์, “การใช้เทคนิคดาต้าไมน์นิงเพื่อพัฒนาคุณภาพการศึกษานิสิตคณะวิศวกรรมศาสตร์“, NECTEC Technical Journal, 3(11), 2001
  3. อดิสรณ์ กําลังเพชร์, พนิดา หล่อวงศ์ตระกูล และ อริยะ นามวงศ์ “การประยุกต์ใช้โครงข่ายประสาทเทียมโดยใช้ตัวชี้วัดทางเทคนิค เพื่อการลงทุนในตลาดหลักทรัพย์แห่งประเทศไทย“, วารสารเทคโนโลยีสารสนเทศ (Information Technology Journal), 11(1), 2015
  4. สภุะ จันทา และ นลินภัสร์ ปรวัฒน์ปรียกร “ระบบจําแนกและค้นคืนข้อมูลเว็บกระทู้ข่าว ด้วยโครงข่ายประสาทเทียมเปอร์เซ็ปตรอนแบบหลายชั้น“, วารสารเทคโนโลยีสารสนเทศ (Information Technology Journal), 9(3), 2013
  5. วีระยุทธ พิมพาภรณ์ และ พยุง มีสัจ “การเปรียบเทียบประสิทธิภาพการจัดกลุ่มข้อมูล โดยวิธีการเลือก ลักษณะสําาคัญแบบพลวัตเพื่อเพิ่มประสิทธิภาพของอัลกอริทึม การจัดกลุ่มบนปริภูมิย่อย“, วารสารเทคโนโลยีสารสนเทศ (Information Technology Journal), 10(2), 2014
  6. พิณสุดา สิงไชย และ พงษ์ศักดิ์ กีรติวินทกร “การพยากรณ์ความต้องการพลังงานไฟฟ้าสําาหรับศูนย์จัดการ ความต้องการพลังงานไฟฟ้าของประเทศไทย“, วารสารเทคโนโลยีสารสนเทศ (Information Technology Journal), 10(2), 2014
  7. Punnee Sittidech, Nongyao Nai-arun, and Ian T. Nabney “Bagging Model with Cost Sensitive Analysis on Diabetes Data“, วารสารเทคโนโลยีสารสนเทศ (Information Technology Journal), 11(1), 2015

Leave a Reply

Your email address will not be published. Required fields are marked *