การสร้างโมเดล Decision Tree สำหรับแอตทริบิวต์ที่เป็นตัวเลข

ในบทความเรื่อง “ขั้นตอนการสร้างโมเดล Decision Tree” ผมได้อธิบายถึงขั้นตอนพื้นฐานในการสร้างโมเดลและตัวอย่างที่ใช้แสดงเป็นข้อมูลประเภทนอมินอล (nominal) เท่านั้น ซึ่งในความเป็นจริงแล้ว ข้อมูลที่ใช้ในการสร้างโมเดลอาจจะเป็นประเภทตัวเลข (numeric) ก็ได้เช่นกัน หลักการของการสร้างโมเดลในกรณีที่แอตทริบิวต์เป็นตัวเลขจะมีขั้นตอนดังนี้

  • เรียงลำดับข้อมูลที่เป็นตัวเลขจากน้อยไปมาก
  • แบ่งข้อมูลออกเป็น 2 ส่วนโดยการหาจุดกึ่งกลางระหว่างค่าตัวเลข 2 ค่าที่แตกต่างกัน เช่น 70 และ 75 จะได้ค่าเป็น 72.5
  • คำนวณค่า Information Gain จากข้อมูล 2 ส่วนที่แบ่งได้ โดยส่วนที่น้อยกว่าเท่ากับจุดกึ่งกลางจะให้เป็นข้อมูลด้านซ้ายของโหนด (node) และข้อมูลส่วนที่เหลือจะให้เป็นข้อมูลด้านขวาของโหนด
  • หาจุดกึ่งกลางของค่าที่แตกต่างกันทุกๆ ค่าและเลือกจุดกึ่งกลางที่ให้ค่า Information Gain สูงที่สุดมาใช้งานต่อ

ดูรายละเอียดการทำงานได้จาก slide ด้านล่างนี้ครับ

การจัดการข้อมูลจากฐานข้อมูลด้วย RapidMiner Studio 7

นอกจากการใช้ RapidMiner Studio 7 ในการวิเคราะห์ข้อมูลแล้วเรายังสามารถเอานำมาใช้จัดการข้อมูลได้แบบง่ายๆ โดยที่ไม่ต้องเขียน SQL เลยครับ สไลด์นี้แสดงการจัดการข้อมูลแบบเบื้องต้นโดยแสดงตัวอย่างการจัดการดังนี้ (คลิกที่ภาพเพื่ออ่านไฟล์ PDF ได้เลยครับ)

rapidminer_ads9

  • แสดงข้อมูลทั้งหมดของนักศึกษาจากตาราง Student
  • แสดงข้อมูลชื่อ (First) ของนักศึกษาจากตาราง Student
  • แสดงข้อมูลนามสกุล (Last) ของนักศึกษาจากตาราง Student
  • แสดงข้อมูลชื่อ (First) และ นามสกุล (Last) ของนักศึกษาจากตาราง Student
  • แสดงข้อมูลนามสกุล (Last) ของนักศึกษาที่แตกต่างกันจากตาราง Student
  • แสดงข้อมูลทั้งหมดของนักศึกษาจากตาราง Student ซึ่งมีชื่อว่า John
  • แสดงข้อมูลทั้งหมดของนักศึกษาจากตาราง Student ยกเว้นนักศึกษาที่ชื่อ John
  • แสดงข้อมูลทั้งหมดของนักศึกษาจากตาราง Grade ที่มีคะแนนมากกว่าหรือเท่ากับ 60 คะแนน
  • แสดงเฉพาะข้อมูลชื่อ (First) นามสกุล (Last) และคะแนน (Mark) จากตาราง Grade ที่มีคะแนนน้อยกว่าหรือเท่ากับ 60 คะแนน
  • แสดงเฉพาะข้อมูลชื่อ (First) นามสกุล (Last) คะแนน (Mark) และชื่อวิชา (Title) จากตาราง Grade ที่มีคะแนนระหว่าง 40-60 คะแนน
  • แสดงข้อมูลคะแนน (Mark) จากตาราง Grade โดยเรียงลำดับคะแนนจากน้อยไปมาก
  • แสดงข้อมูลคะแนน (Mark) จากตาราง Grade โดยเรียงลำดับจากมากไปน้อย
  • แสดงข้อมูลชื่อ (First) นามสกุล (Last) และคะแนน (Mark) ของนักศึกษาที่มีสนามสกุลว่า Jones
  • แสดงข้อมูลชื่อ (First) นามสกุล (Last) และคะแนน (Mark) ของนักศึกษาที่ไม่มีมีสนามสกุลว่า Jones
  • นักศึกษาที่ลงทะเบียนเรียนวิชา Intro to AI มีคะแนนน้อยสุดเท่าไร
  • นักศึกษาที่ลงทะเบียนเรียนวิชา Intro to AI มีคะแนนมากสุดเท่าไร
  • แสดงข้อมูลชื่อ (First) นามสกุล (Last) และคะแนน (Mark) ของนักศึกษาที่ลงทะเบียนเรียนวิชา Programming (รวมทั้ง 1 และ 2)
  • นักศึกษาที่ลงทะเบียนเรียนวิชา Programming 2 มีคะแนนมากสุดเท่าไร

ท่านใดสนใจดูรายละเอียดได้จากไฟล์ PDF นี้ครับ