24 มิถุนายน 2555

Data Mining และ โปรแกรม Weka-Orange Canvas-Matlab



Data Mining และ โปรแกรม Weka-Orange Canvas-Matlab
การทำเหมืองข้อมูล (data mining) หรืออาจจะเรียกว่า การค้นหาความรู้ในฐานข้อมูล (Knowledge Discovery in Databases - KDD) เป็นเทคนิคเพื่อค้นหารูปแบบ (pattern) ของจากข้อมูลจำนวนมหาศาลโดยอัตโนมัติ โดยใช้ขั้นตอนวิธีจากวิชาสถิติ การเรียนรู้ของเครื่อง และ การรู้จำแบบ หรือในอีกนิยามหนึ่ง
การทำเหมืองข้อมูล คือ กระบวนการที่กระทำกับข้อมูล(โดยส่วนใหญ่จะมีจำนวนมาก) เพื่อค้นหารูปแบบ แนวทาง และความสัมพันธ์ที่ซ่อนอยู่ในชุดข้อมูลนั้น โดยอาศัยหลักสถิติ การรู้จำ การเรียนรู้ของเครื่อง และหลักคณิตศาสตร์
ความรู้ที่ได้จากการทำเหมืองข้อมูลมีหลายรูปแบบ ได้แก่
กฎความสัมพันธ์(Association rule) 
แสดงความสัมพันธ์ของเหตุการณ์หรือวัตถุ ที่เกิดขึ้นพร้อมกัน ตัวอย่างของการประยุกต์ใช้กฎเชื่อมโยง เช่น การวิเคราะห์ข้อมูลการขายสินค้า โดยเก็บข้อมูลจากระบบ ณ จุดขาย(POS) หรือร้านค้าออนไลน์ แล้วพิจารณาสินค้าที่ผู้ซื้อมักจะซื้อพร้อมกัน เช่น ถ้าพบว่าคนที่ซื้อเทปวิดีโอมักจะซื้อเทปกาวด้วย ร้านค้าก็อาจจะจัดร้านให้สินค้าสองอย่างอยู่ใกล้กัน เพื่อเพิ่มยอดขาย หรืออาจจะพบว่าหลังจากคนซื้อหนังสือ ก แล้ว มักจะซื้อหนังสือ ข ด้วย ก็สามารถนำความรู้นี้ไปแนะนำผู้ที่กำลังจะซื้อหนังสือ ก ได้
การจำแนกประเภทข้อมูล (Data classification) 
หากฏเพื่อระบุประเภทของวัตถุจากคุณสมบัติของวัตถุ เช่น หาความสัมพันธ์ระหว่างผลการตรวจร่างกายต่าง ๆ กับการเกิดโรค โดยใช้ข้อมูลผู้ป่วยและการวินิจฉัยของแพทย์ที่เก็บไว้ เพื่อนำมาช่วยวินิจฉัยโรคของผู้ป่วย หรือการวิจัยทางการแพทย์ ในทางธุรกิจจะใช้เพื่อดูคุณสมบัติของผู้ที่จะก่อหนี้ดีหรือหนี้เสีย เพื่อประกอบการพิจารณาการอนุมัติเงินกู้
การแบ่งกลุ่มข้อมูล (Data clustering) 
แบ่งข้อมูลที่มีลักษณะคล้ายกันออกเป็นกลุ่ม แบ่งกลุ่มผู้ป่วยที่เป็นโรคเดียวกันตามลักษณะอาการ เพื่อนำไปใช้ประโยชน์ในการวิเคราะห์หาสาเหตุของโรค โดยพิจารณาจากผู้ป่วยที่มีอาการคล้ายคลึงกัน
จินตทัศน์(Visualization)
สร้างภาพคอมพิวเตอร์กราฟิกที่สามารถนำเสนอข้อมูลมากมายอย่างครบถ้วนแทนการใช้ขัอความนำเสนอข้อมูลที่มากมาย เราอาจพบข้อมูลที่ซ้อนเร้นเมื่อดูข้อมูลชุดนั้นด้วยจินตทัศน์

ขั้นตอนการทำเหมืองข้อมูล

  1. ทำความเข้าใจปัญหา
  2. ทำความเข้าใจข้อมูล
  3. เตรียมข้อมูล
  4. สร้างแบบจำลอง
  5. ประเมิน
  6. นำไปใช้งาน

ประโยชน์จากการทำเหมืองข้อมูล

การทำเหมืองข้อมูล จำเป็นต้องอาศัยบุคลากรจากหลายฝ่าย และต้องอาศัยความรู้จำนวนมาก ถึงจะได้รับประโยชน์อย่างแท้จริง เพราะสิ่งที่ได้จากขั้นตอนวิธีเป็นเพียงตัวเลข และข้อมูล ที่อาจจะนำไปใช้ประโยชน์ได้หรือใช้ประโยชน์อะไรไม่ได้เลยก็เป็นได้ ผู้ที่ศึกษาการทำเหมืองข้อมูลจึงควรมีความรู้รอบด้านและต้องติดต่อกับทุก ๆ ฝ่าย เพื่อให้เข้าใจถึงขอบเขตของปัญหาโดยแท้จริงก่อน เพื่อให้การทำเหมืองข้อมูลเกิดประโยชน์อย่างแท้จริง
WEKA
โปรแกรม Weka (Waikato Environment for Knowledge Analysis) เริ่มพัฒนามาตั้งแต่ปี  1997
โดยมหาวิทยาลัย Waikato ประเทศนิวซีแลนด์ เป็นซอฟต์แวร์สำเร็จรูป   อยู่ภายใต้
การควบคุมของ GPL License โปรแกรม Weka ได้ถูกพัฒนามาจากภาษาจาวาทั้งหมด  ซึ่งเขียนมาโดย
เน้นกับงานทางด้านการเรียนรู้ด้วยเครื่อง  (Machine Learning) และ  การทาเหมืองข้อมูล  (Data Mining)
โปรแกรมจะประกอบไปด้วยโมดูลย่อย  ๆ สำหรับใช้ในการจัดการข้อมูล  และเป็นโปรแกรมที่สามารถใช้
Graphic User Interface (GUI) และ ใช้ค่าส่งในการให้ซอฟต์แวร์ประมวลผล  และ สามารถรัน  (run) ได้
หลายระบบปฏับติการ และสามารถพัฒนาต่อยอดโปรแกรมได้ เป็นเครื่องมือที่ใช้ทางานในด้านการทาดาตา
ไมนนิ่งทรวบรวมแนวคิดอัลกอริทึมมากมาย ซึ่งอัลกอรทึมสามารถเลือกใช้งานโดยตรงได้จาก  2 ทางคอจาก
ชุดเครื่องมือที่มีอัลกอริทึมมาให้ หรือเลือกใช้จากอัลกอริทึมที่ไดเขียนเป็นโปรแกรมลงไปเป็นชุดเครื่องมือ
เพี่มเติม และชุดเครื่องมือมีฟังก์ชั้นสำหรับการทำงานร่วมกับข้อมูล ได้แก่  Pre-Processing, Classification,
Regression, Clustering, Association rules,  Selection และ Visualization
ข้อดีโปรแกรม Weka
  • เป็นซอฟต์แวร์ที่เป็นฟรีแวร์
  •  สามารถทางานได้ทุก OS
  • เชื่อมต่อ SQL Database โดยใช้ Java Database Connectivity
  •  มีลักษณะที่ง่ายต่อการใช้งานเนื่องจากใช้
  •  สนับสนุนเกี่ยวกับการทาเหมืองข้อมูล (Data Mining)
ข้อเสียโปรแกรม Weka
  •    หาโหลดใช้งานได้ยาก
  •   ฟังค์ชั้นอาจจะยังไม่ทันสมัย
Orange Canvas
เป็นโปรแกรมที่ใช้วิเคราะห์ข้อมูลทำเป็นในลักษณะของรูปภาพ และวิธีการใช้จะใชู้รูปไอคอนในการใส่ข้อมูลในการวิเคราะห์
ทำให้ง่ายในการตรวจสอบข้อมูล
ข้อดีของโปรแกรม Orange canvas
  • เป็นซอฟต์แวร์ที่เป็นฟรีแวร์
  •  สามารถทางานได้ทุก OS
  • เชื่อมต่อ SQL Database โดยใช้ Java Database Connectivity
  •  สนับสนุนเกี่ยวกับการทาเหมืองข้อมูล (Data Mining)
ข้อเสีย
  • มีไอคอนที่เยอะมากผู้ใช้งานควรมีความรู้ในการใช้งาน
MATLAB
แมตแล็บ (MATLAB: Matrix Laboratory) เป็นซอฟต์แวร์ในการคำนวณและการเขียนโปรแกรม โปรแกรมหนึ่ง ที่มีความสามารถครอบคลุมตั้งแต่ การพัฒนาอัลกอริธึม การสร้างแบบจำลองทางคณิตศาสตร์ และการทำซิมูเลชั่นของระบบ การสร้างนะบบควบคุม และโดยเฉพาะเรื่อง image processing และ wavelet การสร้างเมตริกซ์ ผลิตโดยบริษัทแมตเวิรกส์ ตัวแทนจำหน่ายในประเทศไทยคือ บริษัท เทคซอร์ส ซิสเท็มส์ (ประเทศไทย) จำกัด
แมตแล็บเป็นโปรแกรมสำเร็จรูปที่ใช้กันอย่างแพร่หลายในแวดวงของนักวิทยาศาสตร์และ วิศวกรในปัจจุบัน ชื่อโปรแกรม MATLAB นั้นย่อมาจาก Matrix Laboratory แมตแล็บได้เริ่มต้น ขึ้นเพื่อต้องการให้เราสามารถแก้ปัญหาตัวแปรที่มีลักษณะเป็นเมทริดซ์ได้ง่ายขึ้น แมตแล็บ เริ่มพัฒนาครั้งแรกโดย Dr. Cleve Molor ซึ่งเขียนโปรแกรมนี้ขึ้นมาด้วยภาษาฟอร์แทรนโดยโปรแกรมนี้ได้พัฒนาภายใต้โครงการ LINPACK และ EISPACK

การทำงาน

แมตแล็บสามารถทำงานได้ทั้งในลักษณะของการติดต่อโดยตรง คือการเขียนคำสั่งเข้าไปทีละคำสั่ง เพื่อให้แมตแล็บประมวลผลไปเรื่อยๆ หรือสามารถที่จะรวบรวม ชุดคำสั่งเรานั้นเป็นโปรแกรมก็ได้ ข้อสำคัญอย่างหนึ่งของแมตแล็บก็คือข้อมูลทุกตัวจะถูกเก็บใน ลักษณะของแถวลำดับ คือในแต่ละตัวแปรจะได้รับการแบ่งเป็นส่วนย่อยเล็กๆขึ้น ซึ่งการใช้ตัวแปรเป็นแถวลำดับ ในแมตแล็บเราไม่จำเป็นที่จะต้องจองมิติเหมือนกับ การเขียนโปรแกรมในภาษาขั้นต่ำตัวไป ซึ่งทำให้เราสามารถที่จะแก้ปัญหาของตัวแปรที่อยู่ในลักษณะ ของเมทริกซ์และเวกเตอร์ได้โดยง่าย ซึ่งทำให้เราลดเวลาการทำงานลงได้อย่างมากเมื่อเทียบกับการเขียน โปรแกรมโดยภาษาซีหรือภาษาฟอร์แทรน
ข้อดีของโปรแกรม MATLAB
  1. ภาษาโปรแกรม MATLAB (The MATLAB language)
    MATLAB เป็นโปรแกรมภาษาชั้นสูงที่ใช้ควบคุม flow statement ฟังก์ชัน โครงสร้างข้อมูลอินพุท/เอาท์พุท และลักษณะโปรแกรม Object-Oriented Programming ทำให้การเขียนโปรแกรมไม่ยุ่งยากเมื่อเทียบกับการเขียนโปรแกรมด้วยภาษาอื่นๆ เช่น C, Fortran, Basic เป็นต้น
  2. สถาปัตยกรรมในการทำงานของ MATLAB (The MATLAB working environment)
    MATLAB จะมีกลุ่มของเครื่องมือที่เป็นประโยชน์สำหรับการทำงานของผู้ใช้โปรแกรม หรือโปรแกรมเมอร์ประโยชน์ที่กล่าวนี้ก็คือการจัดการตัวแปรใน workspace การนำข้อมูลหรือการผ่านค่าตัวแปรเข้า/ออกและกลุ่มของเครื่องมือต่างๆ นี้ก็จะใช้สำหรับพัฒนา จัดการ ตรวจสอบความผิดพลาดของโปรแกรม (debugging) ที่ได้เขียนขึ้น
  3. ฟังก์ชันในการคำนวณทางคณิตศาสตร์ (The MATLAB mathematical function library)
    MATLAB จะมีไลบรารีทั่วไปที่ใช้ในการคำนวณอย่างกว้าง เช่น sine, cosine และพีชคณิตเชิงซ้อนโดยสามารถนำไปประยุกต์ใช้เป็นฟังก์ชันหรือไลบรารีเพิ่มเติมขึ้นจากไลบรารีที่ใช้กันโดยทั่วไป เช่น ฟังก์ชันในการหา eigenvalues และ eigenvectors การแยกตัวประกอบและส่วนประกอบของเมตริกซ์ด้วยวิธีต่างๆ การวิเคราะห์ข้อมูล การหาความน่าจะเป็น และการแก้ปัญหาระบบของสมการเชิงเส้นที่เป็นพื้นฐานของสาขาวิชาต่างๆ เป็นต้น ทำให้โปรแกรม MATLAB มีฟังก์ชันสำหรับใช้งานค่อนข้างมากและครอบคลุมในรายละเอียดของการคำนวณสาขาต่างๆ ได้มากขึ้น
  4. Handle Graphics
    ระบบกราฟิกของ MATLAB จะประกอบด้วยคำสั่งชั้นสูงสำหรับการพล็อตกราฟโดยมีพื้นฐานอยู่บนแนวความคิดที่ว่าทุกๆ สิ่งบนหน้าต่างรูปภาพของโปรแกรม MATLAB จะเป็นวัตถุ (Object) ซึ่งมีเอกลักษณ์เฉพาะตัว Handle Graphics ประกอบด้วยคำสั่งชั้นสูงให้คุณได้เลือกใช้ในการสร้าง Graphic User Interface บนพื้นฐานการประยุกต์ใช้งานของคุณ นอกจากนี้โปรแกรม MATLAB ยังมีฟังก์ชันที่ใช้สำหรับการแสดงภาพสองมิติ ภาพสามมิติ และการสร้างภาพเคลื่อนไหว
  5. The MATLAB Application Program Interface (API)
    API จะใช้เพื่อสนับสนุนการติดต่อจากภายนอกโดยใช้โปรแกรมที่เป็น mex ไฟล์ซึ่งเป็นไฟล์ซึ่งเป็นไฟล์ที่เขียนขึ้นโดยใช้ mex ฟังก์ชันใน MATLAB ซึ่งจะเรียกใช้รูทีนจากโปรแกรมภาษา C และ Fortran หรืออาจกล่าวได้ว่า API เป็นไลบรารีที่เขียนด้วยโปรแกรมภาษา C และ Fortran ที่มีการเชื่อมต่อกับโปรแกรม MATLAB ด้วยไฟล์ที่เป็น mex ฟังก์ชันอีกทั้ง MATLAB API นี้ยังมีความสามารถสำหรับการเรียก routine จาก MATLAB (dynamic linking) ก็ได้
Computer Knowledge Rmutr


2 ความคิดเห็น:

  1. ข้อเสียคือหาโหลดใช้งานได้ยากจริงๆหรอครับ?

    ตอบลบ
    คำตอบ
    1. ปล. หมายถึง โปรแกรม weka นะครับ

      ลบ

Deceit ฝากติดตามรับชมด้วยครับ

ฝากติดตามรับชมด้วยครับ twitch(dewboy32) เราจะมาเล่นเกมให้ทุกท่านได้ชม  https://www.twitch.tv/dewboy32 https://www.twitch.tv/d...