การใช้ซอฟต์แวร์ WEKA
แนะนำซอฟต์แวร์ WEKA WEKA ย่อมาจาก Waikato Environment for Knowledge Analysis พัฒนาด้วยภาษาจาวาทั้งหมด พัฒนาโดยเน้นทางด้าน Machine learning และ Data mining มีโมดูลย่อยสำหรับจัดการข้อมูล ใช้ GUI และคำสั่งในการสั่งให้ซอฟต์แวร์ประมวลผล สามารถดาวน์โหลดฟรีได้ที่ http://www.cs.waikato.ac.nz/ml/weka/index_downloading.html WEKA Software
โปรแกรมหลักของซอฟต์แวร์ WEKA Explorer เป็นโปรแกรมที่ออกแบบในลักษณะ GUI Experimenter เป็นโปรแกรมที่ออกแบบการทดลองและการทดสอบผล KnowledgeFlow เป็นโปรแกรมออกแบบผังการไหลของความรู้ Simple CLI (Command Line Interface) เป็นโปรแกรมรับคำสั่งการทำงานผ่านการพิมพ์ WEKA Software
หน้าต่างหลักของ Explorer WEKA Software
ปุ่มเลือกวิธีการจัดการข้อมูล แสดงข้อมูลของลักษณะเฉพาะ ส่วนประกอบหลักของ Explorer แถบเมนูหลัก ปุ่มเปิดแฟ้มข้อมูล ปุ่มเลือกวิธีการจัดการข้อมูล แสดงข้อมูลของลักษณะเฉพาะ WEKA Software
เมนูหลักของ Explorer Preprocess การเตรียมข้อมูล Classify เป็นโมดูลการทำเหมืองข้อมูลแบบการจำแนกประเภท (Classification) Cluster เป็นโมดูลการทำเหมืองข้อมูลแบบการแบ่งกลุ่ม (Clustering) Associate เป็นโมดูลการทำเหมืองข้อมูลแบบกฎความสัมพันธ์ (Association rule) Select attribute เป็นโมดูลการเลือกลักษณะเฉพาะ Visualize นำเสนอข้อมูลด้วยภาพนามธรรมสองมิติ WEKA Software
ประเภทของแฟ้มข้อมูลที่รับได้ แฟ้มข้อมูลที่รับต้องเป็น ARFF หรือ CSV ในกรณีที่แฟ้มข้อมูลอยู่ในเครือข่ายสามารถเรียกใช้ผ่าน URL ได้ สามารถเรียกใช้มูลจากฐานข้อมูลได้ โดยเชื่อมโยงผ่าน JDBC WEKA Software
แฟ้มข้อมูลแบบ ARFF ตัวอย่างแฟ้ม weather.arff ARFF ย่อมาจาก Attribute-Relation File Format @relation name เป็นบรรทัดที่บอกชื่อตารางข้อมูลเชิงสัมพันธ์ @attribute att-name type เป็นบรรทัดที่บอกชื่อลักษณะเฉพาะและชนิด numeric หรือ real หมายถึงลักษณะเฉพาะที่เก็บค่าเป็นตัวเลข {v1, v, …, vn} หมายถึงลักษณะเฉพาะที่เก็บค่าไม่ต่อเนื่อง @data เป็นบรรทัดที่บอกถึงแถวที่ตามมาจะเป็นข้อมูล โดยแต่ละแถวจะแทนหนึ่งตัวอย่างข้อมูลซึ่งเรียงตามค่าของลักษณะเฉพาะที่บอกไว้ข้างต้น ตัวอย่างแฟ้ม weather.arff @relation weather @attribute outlook {sunny, overcast, rainy} @attribute temperature real @attribute humidity real @attribute windy {TRUE, FALSE} @attribute play {yes, no} @data sunny,85,85,FALSE,no sunny,80,90,TRUE,no overcast,83,86,FALSE,yes … 14 instances WEKA Software
ตัวอย่างแฟ้ม weather.arff WEKA Software 9
ตัวอย่างชุดข้อมูล Car Evaluation จาก UCI แฟ้มข้อมูลแบบ CSV สร้างแฟ้มแบบ CSV ด้วยโปรแกรม Microsoft Excel ชุดข้อมูลตัวอย่างที่ได้จาก UCI ชื่อชุดข้อมูล Car Evaluation Data Set Attribute Information: Class Values: unacc, acc, good, vgood Attributes: buying: vhigh, high, med, low. maint: vhigh, high, med, low. doors: 2, 3, 4, 5more. persons: 2, 4, more. lug_boot: small, med, big. safety: low, med, high. ตัวอย่างชุดข้อมูล Car Evaluation จาก UCI WEKA Software
สร้างแฟ้มข้อมูลแบบ CSV เปิดชุดข้อมูล Car Evaluation Data Set WEKA Software
สร้างแฟ้มข้อมูลแบบ CSV จากตัวช่วยการนำเข้าข้อความ เลือกแบบมีการใช้ตัวคั่น กดปุ่ม ถัดไป > WEKA Software
สร้างแฟ้มข้อมูลแบบ CSV เลือกตัวคั่นแบบ จุลภาค (,) กดปุ่ม เสร็จสิ้น WEKA Software
สร้างแฟ้มข้อมูลแบบ CSV แทรกแถวที่ 1 เพื่อระบุชื่อ Attribute WEKA Software
สร้างแฟ้มข้อมูลแบบ CSV บันทึกแฟ้ม เก็บเป็นชนิด CSV (Comma delimited) (*.csv) WEKA Software
ตัวอย่างแฟ้ม car.csv WEKA Software
การจำแนกประเภทข้อมูลใน WEKA WEKA Software 17
การเตรียมชุดข้อมูล กำหนด Class ให้กับชุดข้อมูล (ลักษณะเฉพาะตัวสุดท้าย) บางอัลกอริทึมที่ใช้ในการจำแนกต้องการลักษณะเฉพาะที่มีค่าไม่ต่อเนื่อง ดังนั้นจึงต้องแปลงลักษณะเฉพาะที่มีค่าต่อเนื่องเป็นลักษณะเฉพาะที่มีค่าไม่ต่อเนื่อง WEKA Software 18
ตัวอย่างการใช้งาน WEKA เริ่มต้นเปิด WEKA Explorer เปิดตัวอย่างชุดข้อมูล weather.nominal.arff (ลักษณะเฉพาะทุกตัวมีค่าไม่ต่อเนื่องทั้งหมด) ตัวอย่างชุดข้อมูล weather.nominal.arff WEKA Software 19
กดปุ่ม choose เลือก classifiers เลือก classifier ที่ใช้จำแนกประเภท เลือกแถบ Classify กดปุ่ม choose เลือก classifiers เลือก classifier ที่ใช้จำแนกประเภท เช่น เลือก trees >> Id3 WEKA Software 20
เลือกลักษณะเฉพาะ Class เลือกรูปแบบการทดสอบ เลือกลักษณะเฉพาะ Class กดปุ่ม Start เพื่อเริ่มต้น WEKA Software 21
ผลลัพธ์ของตัวจำแนก Confusion matrix แสดงค่าที่ได้จากตัวจำแนก (ด้านบน) กับค่าจริง (ด้านล่าง) WEKA Software 22
การแปลงลักษณะเฉพาะให้เป็นค่าไม่ต่อเนื่อง เริ่มต้นเปิด WEKA Explorer เปิดตัวอย่างชุดข้อมูล weather.arff จะเห็นว่าลักษณะเฉพาะ temperature และ humidity มีค่าต่อเนื่อง ตัวอย่างชุดข้อมูล weather.nominal.arff WEKA Software 23
เลือก Discretize ในกล่อง Filter โดยกดปุ่ม Choose เลือก filters unsupervised attribute WEKA Software
ปรับค่าในกล่อง bins ให้เหมาะสม เช่น กำหนดให้เป็น 3 กดปุ่ม OK แล้วกด Apply WEKA Software
ผลที่ได้จากการแปลงเป็นค่าไม่ต่อเนื่อง WEKA Software
การจำแนกประเภทโดยใช้ J48 เลือกแถบ Classify กดปุ่ม choose เลือก classifiers trees J48 เราไม่จำเป็นต้องแปลงลักษณะเฉพาะให้เป็นค่าที่ไม่ต่อเนื่อง เลือกรูปแบบการทดสอบแบบ Use training set กดปุ่ม Start จะได้ผลลัพธ์ดังรูป WEKA Software 27
ถ้าใช้ J48 เราสามารถแสดงรูปของต้นไม้ได้ WEKA Software
การจำแนกประเภทโดยใช้ Neural Network เลือกแถบ Classify กดปุ่ม choose เลือก classifiers เลือก functions --> MultilayerPerceptron WEKA Software 29
คลิกที่กล่อง Classifier เพื่อกำหนดค่า เลือก GUI=True เพื่อแสดงภาพโครงข่ายประสาท เลือกจำนวน hidden node เลือกอัตราการเรียนรู้ WEKA Software
จำนวน hidden nodes ประมาณได้จาก (input+output)/2 กดปุ่ม Start เพื่อเริ่มสร้าง กดปุ่ม Accept หลังจากการทำงานเสร็จ WEKA Software
แสดงผลลัพธ์ที่ได้ Confusion matrix แสดงค่าที่ได้จากตัวจำแนก (ด้านบน) กับค่าจริง (ด้านล่าง) WEKA Software
การแปลงลักษณะเฉพาะให้เป็นค่าไม่ต่อเนื่องโดยใช้ MS Excel จากตัวอย่างชุดข้อมูล weather.arff จะเห็นว่าลักษณะเฉพาะ temperature และ humidity มีค่าต่อเนื่อง WEKA Software 33
ค่าต่อเนื่อง ค่าไม่ต่อเนื่อง แปลงลักษณะเฉพาะ temperature และ humidity ที่มีค่าต่อเนื่องให้เป็นค่าที่ไม่ต่อเนื่อง ลักษณะเฉพาะ temperature จะแบ่งช่วงดังนี้ =IF(B2>78,"hot",IF(B2<71,"cool","mild")) ลักษณะเฉพาะ humidity จะแบ่งช่วงดังนี้ =IF(C2<85,"normal","high") จากนั้นบันทึกเป็น CSV WEKA Software 34
อ้างอิง WEKA. [ออนไลน์]. เข้าถึงได้จาก : http://www.cs.waikato.ac.nz/ml/weka/ (กรกฎาคม 2554). กรุง สินอภิรมย์สราญ. การวิเคราะห์การเกาะกลุ่มในซอฟต์แวร์ Weka. [ออนไลน์]. ภาควิชาคณิตศาสตร์ คณะวิทยาศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย. เข้าถึงได้จาก : http://pioneer.netserv.chula.ac.th/~skrung/csc662/. (กรกฎาคม 2554). WEKA Software 35