คมู่ อื การวเิ คราะห์ขอ้ มูลดว้ ย
WEKA 3.8.5
ในเลม่ นจ้ี ะแนะนำให้รจู้ ักการวิเคราะห์ขอ้ มูล
จาก Weka 3.8.5
โดย
1 นางสาว นนั ทนทั หงษท์ อง 624285008
นาย ศกั ดสิ์ ทิ ธิ์ แซ่ลิม้ 624285020
2
หวั ขอ้ ตา่ งๆ 4
5
แนะนำ Weka 8
หน้าเว็บในการดาวนโ์ หลด 10
การโหลดข้อมลู เขา้ 11
การลบแอตทรบิ วิ ต์ 15
การตั้งค่าขอ้ มลู การทดสอบ 23
การจัดกลุ่ม 26
กฎของความสมั พนั ธ์
Feature Selection
3
Weka – บทนำ
Weka ย่อมาจาก Waikato Environment for Knowledge Analysis เร่มิ พัฒนามาตง้ั แต่ปี 1997 โดย
มหาวทิ ยาลยั Waikato ประเทศนิวซแี ลนด์ เปน็ ซอฟต์แวร์สำเร็จ ภาพประกอบประเภทฟรแี วร์ ซึ่งโปรแกรม Weka
ได้ถูกพฒั นามาจากภาษาจาวาทงั้ หมด ซ่งึ เขียนมาโดยเนน้ กบั งานทางดา้ นการเรยี นรดู้ ว้ ยเครือ่ ง หรือ Machine
Learning และ การทำเหมืองขอ้ มลู (Data Mining) โปรแกรมจะประกอบไปดว้ ยโมดูลย่อย ๆ สำหรบั ใช้ในการ
จดั การข้อมลู และเปน็ โปรแกรมที่สามารถใช้ GUI หรือ Graphic User Interface และ ใชค้ ำสั่งในการให้ซอฟต์แวร์
ประมวลผล และสามารถรนั ได้หลายระบบปฏบิ ตั ิการ และสามารถพัฒนาต่อยอดโปรแกรมได้ เปน็ เครื่องมือที่ใช้
ทำงานในด้านการทำ Data Mining ที่รวบรวมแนวคิดอลั กอริทึมมากมาย ซ่ึงอลั กอรทิ ึมสามารถเลือกใชง้ านโดยตรง
ได้จาก 2 ทางคอื จากชดุ เคร่ืองมือที่มีอลั กอรทิ ึมมาให้ หรือเลือกใชจ้ ากอัลกอริทึมท่ีได้เขยี นเป็นโปรแกรมลงไปเปน็
ชุดเครอื่ งมือเพมิ่ เติม และชดุ เครอื่ งมือมีฟังกช์ นั สาหรบั การทำงานร่วมกบั ข้อมลู ไดแ้ ก่ Pre-Processing ,
Classification , Regression, Clustering , Association rules , Selection และ Visualization ส่วนในเร่ือง
ของการ Import ขอ้ มูล โดยข้อมลู นั้นจะต้องอย่ใู นรูปแบบ ASCII อาจเป็น arff , csv , c45
ความสามารถของ Weka
1. เป็นซอฟตแ์ วรเ์ สรีท่สี ามารถดาวน์โหลดได้ฟรี
2. สามารถทำงานได้ทกุ ระบบปฏบิ ัติการ
3. เชือ่ มต่อ SQL Database โดยใช้ Java Database Connectivity
4. มีการเตรียมข้อมลู และเทคนิคในการสรา้ งแบบจาลองที่ครอบคลมุ
5. มีลกั ษณะท่ีงา่ ยต่อการใชง้ าน
6. สนับสนนุ เกย่ี วกบั การทำเหมืองข้อมลู (Data Mining)
7. การเตรียมข้อมลู (Data Preprocessing)
8. การทำเหมืองข้อมูลดว้ ยเทคนิคการจำแนกข้อมูล (Classification)
9. การทำเหมืองขอ้ มลู ด้วยเทคนิคการจดั กลุ่ม (Clustering)
10. การทำเหมืองข้อมูลดว้ ยเทคนิคการวิเคราะห์ความสัมพนั ธ์ (Associating)
11. เทคนิคการคดั เลือกข้อมูล (Selecting Attributes)
12. เทคนิคการนำเสนอข้อมลู ดว้ ยรูปภาพ (Visualization)
4
หนา้ เว็บในการดาวน์โหลด
https://sourceforge.net/projects/weka/
ทำการโหลดเสร็จแล้วจึงทำการเปิดโปรแกรม หลงั จากน้ันกจ็ ะขึ้นหนา้ ตา่ ง Weka GUI Chooser ดังรูป
1. Explorer เปน็ โปรแกรมทอ่ี อกแบบในลกั ษณะ
GUI
2. Experimenter เป็นโปรแกรมทอ่ี กแบบการ
ทดลองและทดสอบผล
3. KnowledgeFlow เป็นโปรแกรมออกแบบผงั
การไหลของความรู้
4. Simple CLI (command Line Interface)
เป็นโปรแกรมรับคำส่ังการทำงานผา่ นการพิมพ์
5
หน้าต่างของโปรแกรม WEKA
1
2
3
1.สว่ นบนสุดจะเปน็ แท็บ (tab) ซงึ่ มดี ้วยกันทั้งหมด 6 แท็บวางเรียงกันอยู่ทางดา้ นบน ซง่ึ แท็บตา่ งๆ เหลา่ นี้จะเปน็
เมนูใหผ้ ูใ้ ชส้ ามารถใชง้ านเทคนิคตา่ งๆของ Weka ไดน้ ่นั เอง
2.ส่วนที่อย่ตู รงกลางซึ่งจะเปลี่ยนไปตามการกดแท็บตา่ งๆ สว่ นนเี้ ปน็ ส่วนของการเลือก option ตา่ งๆใน การ
วเิ คราะหข์ ้อมลู และส่วนการแสดงผลลัพธ์หลงั จากทำการวิเคราะหข์ ้อมลู เสร็จแลว้
3.ส่วนทอี่ ยู่ดา้ นล่างสุด จะเป็นสว่ นท่บี อกสถานะ ของการทำงานในแตล่ ะขน้ั ตอน
6
จากสว่ นท่ี 1 แต่ละแทบ็ มกี ารทำงานดังนี้
Preprocess สำหรับเลือกชดุ ขอ้ มลู เพ่ือทำการวิเคราะห์
Classify เปน็ สว่ นสำหรับนำขอ้ มูลไปวเิ คราะหห์ รอื ทำนาย โดยมีวธิ กี ารทำนายมากมายใหเ้ ลอื กใช้
Cluster เป็นสว่ นวิเคราะหข์ ้อมลู โดยจัดข้อมูลเป็นกล่มุ ตามความคลา้ ยกนั
Associate เป็นส่วนวิเคราะหข์ ้อมูลโดยหาความสัมพนั ธ์ของข้อมลู
Select attributes เป็นสว่ นหาตัวแปรทสี่ ำคญั และไมส่ ำคัญ โดยจะกำจัดตัวแปรท่ไี ม่สำคญั ทิง้ และเกบ็ ตัวแปรท่ี
สำคญั ไปทำการวเิ คราะห์
Visualize เป็นส่วนที่ plot ขอ้ มูลในรปู แบบ 2 มิติ
ขน้ั ตอนการใชง้ านในการวเิ คราะหข์ อ้ มลู
ตัวอย่างของข้อมลู เป็นการทำนายพยากรณ์อากาศ ก่อนการแข่งขันกฬี า ซง่ึ การพยากรณ์อากาศเปน็ ส่ิง
สำคัญเพราะการแข่งขันกีฬาบางประเภทต้องการอาศยั สภาพอากาศที่เหมาะสมอีกดว้ ย
7
การโหลดขอ้ มูลเข้า
ขนั้ ตอน
1. คลกิ open file เพ่ือทำการเลอื กไฟล์ input ทจี่ ะทำการใช้ในการทดสอบ ในการทดสอบครงั้ นี้ใช้ไฟลท์ ่เี ปน็
นามสกลุ .csv แลว้ ทำการคลิกป่มุ open
2. จะแสดงว่าชุดขอ้ มูลของเรามอี ะไรบา้ ง 3
4
1
2
8
1. Current relation Instances - จำนวนแถวในตารางซงึ้ ข้อมูลของเรามี 14 แถว
Attributes – จำนวนฟลิ ด์ 5 รายการ
2. อธบิ ายฐานขอ้ มูลทีม่ ีทั้งหมด 5 ฟลิ ด์ดังน้ี Outlook, Temperrature, Humidity. Windy, Play
3. Selected Attribute เมื่อเราเลอื กไปที่ ฟิลดใ์ ดก็จะข้นึ คำอธบิ ายตา่ งๆใน Selected Attribute
• name : ชอ่ื และประเภทของแอตทริบวิ ต์ที่เราเลือกดู
• type : ประเภทของแอตทริบวิ ต์ท่เี ราเลอื กดู
• Missing :จำนวนของค่าทีห่ ายไป
• Distinct : ค่าทีแ่ ตกตา่ งกนั โดยไมม่ ีค่าท่ีไม่ซำ้ กนั
• underneath : ตารางด้านลา่ งข้อมลู น้แี สดงคา่ เล็กน้อยสำหรับฟิลด์นี้
• นอกจากนย้ี ังแสดงจำนวนและนำ้ หนกั เป็นเปอรเ์ ซ็นต์สำหรับค่าที่ระบแุ ตล่ ะค่า
9
4.ที่ด้านล่างของหนา้ ตา่ ง คุณจะเหน็ การแสดงค่า ของ class
หากคณุ คลิกท่ี ปุ่ม Visualize All คุณจะสามารถดูคณุ ลกั ษณะทั้งหมดในหนา้ ต่างเดียวดงั ทีแ่ สดงท่นี ่ี
-
การลบแอตทริบิวต์
หลายครงั้ ท่ขี ้อมูลที่เราอาจจะไม่ต้องการใช้สำหรับการสร้างแบบจำลองที่มาพร้อมกับฟิลด์ทไ่ี ม่เกยี่ วข้อง
ตัวอย่างเช่น ฐานข้อมลู ลกู ค้าอาจมีหมายเลขโทรศัพทม์ ือถือท่เี กี่ยวข้องกับการวิเคราะห์อันดับเครดติ ของเขา เรา
สามารถทีจ่ ะเลอื กแล้วกด Remove ได้เลย
10
การตง้ั คา่ ขอ้ มลู การทดสอบ
ข้นั ตอน
1. คลกิ ท่ีแท็บ Classify หน้าตาของ workspace จะเปลย่ี นไปเปน็ ส่วนของแทบ็ Classify แล้วคลกิ ท่ี ปุ่ม Choose
จะมลี ิสต์ (list) แสดงเทคนิคตา่ งๆ ของการ Classify ใหค้ ลิกเลือกทีเ่ มนู trees หลังจากนัน้ ให้ เลือกที่เทคนิคการ
จำแนกข้อมูลด้วย J48 โดยคลกิ ท่ีเมนูJ48 หลงั จากนัน้ คลิกทีป่ ุ่ม Start Weka จะ ทำงานและแสดงผลลพั ธ์การ
ทำงาน
11
2.หลังจากนน้ั จะเหน็ ส่วนของ Classifier output ทางดา้ นขวาจะเปลีย่ นไป โดยจะแสดงผลการวิเคราะหใ์ นรปู
แบบของ decision tree และข้อมลู ทางสถิตอิ ่นื ๆ เชน่ คา่ ความถูกต้องในการทำนาย (Correctly Classified
Instances) เป็นตน้ ซ่งึ ข้อมูลท่เี ห็นน้เี ป็นผลทไี่ ด้จากการวเิ คราะหข์ ้อมลู ดว้ ยเทคนิค J48
Correctly Classified Instances สว่ นนบี้ อกวา่ จากข้อมูลที่มี 8 instance นน้ั มกี ารทํานายข้อมูลถูกต้องคดิ เป็น
57.1429 % ของข้อมูลท้ังหมด
Incorrectly Classified Instances สว่ นนบ้ี อกวา่ จากข้อมูลทีม่ ี 6 instance นั้น มกี ารทาํ นายข้อมูลไม่ผดิ พลาด
คดิ เปน็ 42.8571 %ของข้อมูลทั้งหมด
12
3. ในช่อง Result list ทางด้านซา้ ยเมื่อเราทำการคลิกขวาและเลือกเมนู Visualize tree จะปรากฏหนา้ จอ Tree
View ขึน้ มา ซง่ึ ต้นไม้ (tree) ท่ีแสดงนจ้ี ะเรียกว่า ต้นไมช้ ว่ ยตัดสินใจ หรอื decision tree ซง่ึ เปน็ ตน้ ไม้ที่ใช้ใน การ
สรา้ งกฏเพ่ือนำไปทำนายข้อมูลใหมใ่ นอนาคต ตัวอย่างของกฎทส่ี รา้ งได้จากตน้ ไมช้ ว่ ยตดั สินใจน้เี ชน่ ถ้ามีฝนตก
(rainy) และ มีลมแรง (windy) กไ็ ม่ควรจะแข่งขันกีฬา เป็นตน้
ผลลพั ธ์ของการ Visualize tree
13
ผลลพั ธ์ของการ Cost/Benefit analysis
ผลลพั ธ์ของการ Visualize classifier errors
14
การจัดกลุม่
การจดั กลมุ่ (Clustering) คือ การจดั กลุม่ เปน็ หนง่ึ ในอัลกอริทมึ ท่ีใช้ในการจดั การในส่วนของการทำงานที่มีการ
รวมกล่มุ กนั หรอื เพื่อแยกกลุม่ ใหด้ งู า่ ยและชดั เจน การจดั การกลมุ่ ข้อมลู เปน็ หน่งึ ใน method ของ Unsupervised
Learning และในสว่ นของการ Cluster จะมี Algorithm อยู่ 2 Algorithm ท่ีเหมาะสมกบั การจำแนกกลุ่ม
ขนั้ ตอน
1.ให้เลอื กแทบ็ Preprocess คลิกที่ Open file และเลือก ไฟล์ iris.arff หนา้ จอจะมีลักษณะดงั ท่ีแสดงดา้ นล่าง
1. Current relation Instances - จำนวนแถวในตารางซึ้งข้อมลู ของเรามี 150 แถว
Attributes – จำนวนฟิลด์ 5 รายการ
2. อธิบายฐานขอ้ มูลที่มที งั้ หมด 5 ฟิลด์ดังน้ี sepallength , sepalwidth , petallength , petalwidth , class
3. Selected Attribute เมื่อเราเลอื กไปที่ ฟิลด์ใดก็จะขน้ึ คำอธิบายต่างๆใน Selected Attribute
• name : ช่ือและประเภทของแอตทรบิ วิ ต์ทีเ่ ราเลือกดู
• type : ประเภทของแอตทริบิวตท์ ีเ่ ราเลือกดู
• Missing :จำนวนของค่าท่ีหายไป
15
• Distinct : ค่าท่แี ตกต่างกนั โดยไม่มีค่าท่ีไมซ่ ำ้ กนั
• underneath : ตารางด้านลา่ งขอ้ มลู น้ีแสดงค่าเล็กน้อยสำหรบั ฟลิ ด์
• นอกจากนีย้ ังแสดงจำนวนและน้ำหนักเป็นเปอร์เซน็ ตส์ ำหรับคา่ ทร่ี ะบุแต่ละค่า
2.คลิกที่ Cluster เพ่อื ใชอ้ ลั กอริธมึ การทำคลัสเตอรก์ ับข้อมลู คุณจะเหน็ หนา้ จอต่อไปน้ี
16
3.เลอื กEMเป็นอัลกอริทึมการจัดกลมุ่ จากน้นั ใหเ้ ลือกดูในชอ่ ง Cluster mode จากน้ันในตก๊ิ ไปท่ี Classes to
clusters evaluation
17
3.คลกิ ที่ ปุม่ Start เพื่อประมวลผลข้อมลู ผลลัพธจ์ ะปรากฏบนหนา้ จอ
การตรวจสอบผลลพั ธ์
- ตรวจพบอนิ สแตนซค์ ลสั เตอร์ 5 รายการ
ในฐานขอ้ มลู
- Cluster 0 แสดงถึง setosa
- Cluster 1แสดงถึง virginica
- Cluster 2แสดงถงึ versicolor
- Cluster 3 , Cluster 4 แสดงถึง No class
18
4.เลอ่ื นหน้าตา่ งผลลัพธข์ ้นึ คุณจะเหน็ สถิตบิ างอยา่ งท่ใี ห้ค่ากลางและคา่ เบี่ยงเบนมาตรฐานสำหรับแตล่ ะแอตทริ
บวิ ตใ์ นกลุ่มตา่ งๆ แสดงในภาพหนา้ จอด้านลา่ ง
การสรา้ งภาพคลัสเตอร์
ให้คลกิ ขวาที่ผลลัพธ์ EM ดูที่ช่อง Result list จากน้นั เลอื ก Visualize cluster assignments คุณจะเห็น
ตวั เลือกตอ่ ไปน้ี
19
ผลลัพธข์ องการ Visualize cluster assignments
การใชค้ ลสั เตอร์แบบลำดับชนั้
อัลกอริธึมการจดั กลุม่ รูปแบบอน่ื ใน WEKA ให้เลือก HierarchicalClusterer เปน็ อัลกอรทิ มึ
20
เลอื กการเลือก Cluster mode แล้วตกิ๊ ท่ี Classes to cluster evaluation
แล้วคลกิ ปุ่ม Start คณุ จะเห็นผลลัพธ์ตอ่ ไปนี้
21
การสรา้ งภาพ
ให้คลกิ ขวาท่ีผลลพั ธ์ EM ดูท่ีช่อง Result list จากนั้นคลิกขวาเลอื ก Visualize tree คณุ จะเหน็ ตวั เลือกต่อไปนี้
ผลลัพธ์ของการ Visualize tree
22
กฎของความสมั พันธ์
เป็นเทคนคิ ที่ใชค้ ้นพบองค์ความรหู้ รอื สารสนเทศใหม่ ด้วยการเช่อื มโยงข้อมลู หรือกลุ่มข้อมลู ทเ่ี กิดขึ้นในเหตกุ ารณ์
เดยี วกันเขา้ ดว้ ยกัน ตวั อยา่ งเชน่ การสำรวจพฤติกรรมการซ้อื ของลูกค้าว่า ซื้อสินค้าอะไรบา้ งพรอ้ มกัน ในใบเสรจ็
เดยี วกัน เชน่ ลกู ค้าทุกคนเม่ือซ้ือนมเปรยี้ ว ขนมปงั มักซ้ือน้ำเปลา่ เสมอ ในใบเสรจ็ เดยี วกัน จากตวั อย่างบรษิ ัท
สามารถนำข้อมลู ความสัมพันธ์ในการซ้ือ ไปจดั การสง่ เสริมการขาย หรือจดั รปู แบบของการวางสนิ ค้าในรา้ นได้ เพ่ือ
เป็นการเพิ่มยอดขายให้กับบริษทั
ขน้ั ตอน
1.ทำการดงึ ขอ้ มูลมา ข้อมูลท่ีเราใช้คือ supermarket ให้เปดิ แท็บ Preprocess คลกิ ทป่ี ุ่มOpen file และเลือก
ฐานขอ้ มูล Supermarket.arff จากโฟลเดอรก์ ารติดต้งั คณุ จะเหน็ หน้าจอต่อไปน้ี
1. Current relation Instances - จำนวนแถวในตารางซง้ึ ข้อมลู ของเรามี 4627 แถว
Attributes – จำนวนฟลิ ด์ 217 รายการ
2. อธบิ ายฐานขอ้ มูลท่มี ที ั้งหมด 217 ฟิลดด์ ังน้ภี าพ
23
3. Selected Attribute เม่ือเราเลือกไปที่ ฟลิ ดใ์ ดก็จะขน้ึ คำอธิบายต่างๆใน Selected Attribute
• name : ชอื่ และประเภทของแอตทริบิวตท์ เี่ ราเลือกดู
• type : ประเภทของแอตทริบิวต์ทีเ่ ราเลือกดู
• Missing :จำนวนของคา่ ที่หายไป
• Distinct : ค่าที่แตกต่างกนั โดยไมม่ ีคา่ ที่ไม่ซำ้ กัน
• underneath : ตารางดา้ นล่างข้อมูลนแ้ี สดงค่าเล็กน้อยสำหรับฟลิ ด์
• นอกจากนี้ยงั แสดงจำนวนและน้ำหนักเปน็ เปอรเ์ ซ็นต์สำหรับคา่ ท่ีระบุแต่ละคา่
2.คลกิ ท่ี Associate และคลิกท่ปี ุ่ม Select เลือก Apriori ตามทแ่ี สดงในภาพหนา้ จอ
24
3.ตั้งคา่ พารามเิ ตอร์สำหรบั อัลกอริทึม Apriori ให้คลกิ ทช่ี ื่อ หนา้ ตา่ งจะปรากฏขนึ้ ดงั ท่ีแสดงด้านล่างซง่ึ ช่วยใหค้ ุณ
ตั้งคา่ พารามเิ ตอร์
4.หลงั จากที่คณุ ตั้งคา่ พารามเิ ตอรแ์ ลว้ ใหค้ ลิกปุ่ม Start อีกสักครู่คุณจะเหน็ ผลลพั ธ์ดังแสดงในภาพหนา้ จดา้ นลา่ ง
คุณจะพบกฎการเชอื่ มโยงที่ดีที่สดุ ทตี่ รวจ
พบ น้จี ะชว่ ยใหซ้ เู ปอรม์ ารเ์ ก็ตในสต็อกสินคา้
ในช้นั วางทีเ่ หมาะสม
25
Feature Selection
Filter approach เป็นการคัดเลอื กฟเี จอรโ์ ดยใชก้ ารคำนวณหาค่านำ้ หนักซึ่งอาจจะเป็นคา่ ความสมั พันธร์ ะหว่าง
แต่ละฟเี จอร์และคลาสตา่ ง ๆ และจะเลอื กฟีเจอรโ์ ดยเรยี งลำดบั ตามคา่ น้ำหนักท่ีคำนวณได้แล้วเลอื กฟเี จอรท์ ี่มคี า่
น้ำหนกั มากกวา่ ท่ตี ้องการมาใข้งานต่อไป วธิ กี ารนีจ้ ะไม่มีการสรา้ งโมเดลเพือ่ คัดเลอื กฟีเจอร์ เทคนิคในการคำนวณ
ค่าน้ำหนักของฟีเจอรต์ ่างๆ
ขนั้ ตอน
1.แทก็ Preprocess ใหเ้ ลือก ไฟล์ labor.arff คุณจะเหน็ หน้าจอต่อไปนี้
1. Current relation Instances - จำนวนแถวในตารางซ้ึงข้อมลู ของเรามี 57 แถว
Attributes – จำนวนฟิลด์ 17 รายการ
2. อธิบายฐานขอ้ มลู ทม่ี ที งั้ หมด 17 ฟิลดด์ งั นภ้ี าพ
3. Selected Attribute เม่ือเราเลอื กไปที่ ฟิลด์ใดกจ็ ะข้ึนคำอธิบายตา่ งๆใน Selected Attribute
• name : ชื่อและประเภทของแอตทรบิ วิ ต์ทเี่ ราเลือกดู
• type : ประเภทของแอตทริบิวต์ที่เราเลอื กดู
26
• Missing :จำนวนของคา่ ท่ีหายไป
• Distinct : คา่ ท่แี ตกตา่ งกันโดยไม่มีคา่ ที่ไมซ่ ้ำกนั
• underneath : ตารางดา้ นล่างข้อมูลน้ีแสดงค่าเล็กนอ้ ยสำหรับฟลิ ด์
• นอกจากนี้ยงั แสดงจำนวนและน้ำหนกั เป็นเปอร์เซน็ ต์สำหรับค่าที่ระบแุ ต่ละคา่
2.คลกิ ทแ่ี ท็บ Select attributes คุณจะเหน็ หน้าจอต่อไปน้ี
Attribute Evaluator และ Search Method คณุ จะพบตวั เลือกต่างๆ
3.เลอื กแอตทริบิวต์ใหใ้ ช้จากน้ันคลิกที่ปมุ่ Start เพื่อประมวลผลชดุ ขอ้ มูล คณุ จะเหน็ ผลลัพธต์ อ่ ไปน้ี
27
เอกสารอ้างอิง
https://www.tutorialspoint.com/weka/index.htm
http://www.thaiall.com/weka/weka_kku_wichuda_1.pdf
http://www.wiwatchin.com/page/article/Apriori_Weka.pdf
https://www.glurgeek.com/education/howto-weka/#google_vignette
28