More Related Content Similar to 1 weka introducing Similar to 1 weka introducing (20) More from นนทวัฒน์ บุญบา (6) 1 weka introducing2. What is Weka?
Waikato Environment for Knowledge Analysis
Since 1997 by Waikato University, New Zealand
Opensource software used for data analysis by data
mining techniques
The system is written in JAVA and distributed
under the terms of the GNU General Public License
It runs on any platform
Linux, Windows, Mac OS, PDA
3. How do we get?
http://www.cs.waikato.ac.nz/ml/weka
Free Weka tutorial on Web and book
5. Explorer เป็นโปรแกรมที่ออกแบบในลักษณะ GUI หรือ
การประมวลผลเหมืองข้อมูลด้วยวิธีการ (Method) และอัล
กอริทึม ต่าง ๆ
Experimenter เป็นโปรแกรมที่ออกแบบการทดลองและ
การทดสอบผล
KnowledgeFlow เป็นโปรแกรมออกแบบผังการไหลของ
ความรู้
Simple CLI (Command Line Interface) เป็น
โปรแกรมรับค่าสั่งการทำางานผ่านการพิมพ์
ArffViewer เป็นโปรแกรมที่ใช้สำาหรับแก้ไขแฟ้มประเภท
Arff (Tool)
Log เป็นโปรแกรมที่ใช้อ่านข้อความบันทึกเก็บระหว่างการ
7. Weka Explorer
Preprocessing - การเตรียมข้อมูล
Classify – รวมโมดูลการทำาเหมืองข้อมูลแบบจัดแบ่ง
ประเภทข้อมูล
Cluster – รวมโมดูลการทำาเหมืองข้อมูลแบบจัดกลุ่ม
Associate – รวมโมดูลการทำาเหมืองข้อมูลแบบกฎความ
สัมพันธ์ของข้อมูล
Select Attributes - รวมโมดูลสำาหรับให้ผู้ใช้งาน
สามารถกำาหนด Attribute ได้ด้วยตนเอง
Visualization – การนำาเสนอข้อมูลด้วยภาพนามธรรม
สองมิติ
9. Knowledge Flow Application
ส่วนของ Knowledge Flow Application เป็นการ
ทำางานที่มีหน้าตาคล้ายคลึงกับความสัมพันธ์ระหว่าง
ตารางในฐานข้อมูล
แต่ Knowledge Flow ในโปรแกรม Weka นั้นจะแสดง
ภาพของการเชื่อมโยงของข้อมูลและส่วนอื่น ๆ ซึ่งทำาให้
ทราบถึงขั้นตอนการทำางานในแต่ละขั้นตอน
11. Simple CLI
การทำางานของ Simple CLI หรือ Simple Command
Line นั้นเป็นการทำางานแบบผู้ใช้งานจะต้องพิมพ์คำาสั่ง
เอง ซึ่งเป็นการทำางานคล้ายคลึงกับการสั่งผ่าน GUI ใน
Explorer ดังนั้นหากผู้ใช้ที่ไม่ทราบคำาสั่ง (Shell) ของ
Weka ก็สามารถใช้งาน Explorer ได้เช่นกัน
14. ความสามารถของซอฟต์แวร์วีก้า
สนับสนุนเกี่ยวกับการทาเหมืองข้อมูล (Data Mining)
การเตรียมข้อมูล (Data Preprocessing)
การทาเหมืองข้อมูลด้วยเทคนิคการจาแนกข้อมูล
(Classification)
การทาเหมืองข้อมูลด้วยเทคนิคการจัดกลุ่ม
(Clustering)
การทาเหมืองข้อมูลด้วยเทคนิคการวิเคราะห์ความ
สัมพันธ์ (Associating)
เทคนิคการคัดเลือกข้อมูล (Selecting Attributes)
เทคนิคการนำาเสนอข้อมูลด้วยรูปภาพ (Visualization)
15. ส่วนประกอบพื้นฐาน
Data set หมายถึง ข้อมูลที่จะนามาทาเหมืองข้อมูล อาจ
จะอยู่ในรูปแบบของไฟล์ข้อความ ตาราง ไฟล์ที่พร้อมจะ
ทา preprocessing เช่น .arff , csv เป็นต้น
Relation หมายถึง ชื่อของ data set ที่มีอยู่ ซึ่งการใช้
งานโปรแกรมมักจะอ้างอิงชื่อ relation ว่าเป็นชื่อของ
แหล่งข้อมูลนั้น ๆ ลักษณะคล้ายกับชื่อของตารางในระบบ
ฐานข้อมูล
Attritbute หมายถึง ส่วนประกอบย่อยภายใน relation
หรืออาจจะรู้จักกันในชื่อ field ในระบบฐานข้อมูล
Instance หมายถึง รายการภายใน relation หรืออาจ
จะรู้จักกันในชื่อของ record ในระบบฐานข้อมูล
16. Preparing the data
ข้อมูล
Instance
Attribute
การโหลดข้อมูลเข้าไปในโปรแกรม Weka
ไฟล์ CSV (Comma-Separated Value)
ไฟล์ ARFF (Attribute-Relation File Format)
ฐานข้อมูล
Data Preprocessing with Weka
แปลงข้อมูลที่เป็นตัวเลขให้เป็นช่วง
เพิ่มข้อมูลที่ขาดหาย
ค้นหาข้อมูล Outliers
18. Ex: Customer Data
ประเภทข้อมูลในแต่ละ Attribute
Numeric
ข้อมูลที่เป็นตัวเลข
ค่าวัดเชิงปริมาณ
ได้แก่ attribute หมายเลขสมาชิก อายุ และรายได้
Non-numeric หรือ Categorical
ข้อมูลประเภทต่าง ๆ
ไม่มีลำาดับก่อนหลัง
ได้แก่ attribute ชื่อสมาชิก และเพศ
19. Ex: Customer Data
การนำาเข้าข้อมูลในโปรแกรม Weka
Open file :นำาเข้าไฟล์ CSV หรือ ARFF ที่ได้
จัดเตรียมไว้แล้ว
Open URL : นำาเข้าไฟล์ CSV หรือ ARFF ผ่าน
เครือข่าย
Open DB : ดึงข้อมูลจากฐานข้อมูล
Generate : สร้างข้อมูลตัวอย่าง เพื่อใช้ในการ
ทดสอบ โดยการระบุจำานวน instances และ
20. Ex: Customer Data
รู้จักไฟล์ CSV (Comma-Separated Value)
ใช้เครื่องหมาย Comma (,) แบ่งระหว่าง attribute
สามารถใช้ Excel ในการสร้างไฟล์ CSV (เลือก Save เป็น
CSV Format)
ไฟล์ข้อมูลใน Excel
ไฟล์ข้อมูลในรูปแบบ CSV
***ทดลองสร้าง CSV ตาม
ตัวอย่าง
21. Ex: Customer Data
รู้จักไฟล์ ARFF (Attribute-Relation File Format)
เป็นไฟล์ที่ Weka กำำหนดขึ้นเอง
แบ่งเป็น 2 ส่วน
ส่วน Header: เป็นส่วนแสดงรำยละเอียดต่ำง ๆ
ชื่อของชุดข้อมูล (relation)
ชื่อของแต่ละ attribute
ประเภทของข้อมูลในแต่ละ attribute (data type)
ส่วน Data: เป็นส่วนของข้อมูลในแต่ละ attribute ที่
ต้องกำรใช้ในกำรวิเครำะห์
22. Ex: Customer Data
Tag พิเศษที่มีในส่วน header ในไฟล์ ARFF
@relation <relation-name>
ใช้ในกำรบอกชื่อเรียกของชุดข้อมูล
@attribute <attribute-name> <data type>
ใช้ในกำรบอกชื่อ attribute และชนิดของข้อมูล
Tag พิเศษที่มีในส่วน Data ในไฟล์ ARFF
@data
หมำยควำมว่ำ บรรทัดต่อไปจำกนี้จะเป็นส่วนของข้อมูล
โดยใช้เครื่องหมำย comma คั่นระหว่ำง attribute
ส่วนที่นำำหน้ำด้วย % หมำยถึง กำรคอมเมนท์ภำยในไฟล์ไม่มี
ผลต่อกำรทำงำน
24. Ex: Customer Data
ประเภทข้อมูลในแต่ละ attribute
ข้อมูลที่เป็นตัวเลข
จำำนวนเต็ม และจำำนวนจริง
ใช้ keyword numeric
ข้อมูลที่ไม่ใช่ตัวเลข (nominal) ที่ไม่มีลำำดับ หรือไม่
สำมำรถบอกปริมำณได้
เช่น ชื่อคน สิ่งของ สถำนที่ เพศ
มักระบุค่ำที่เป็นไปได้ทั้งหมดในรูปแบบของ set เช่น
set {0,1,2} เป็นต้น
25. Ex: Weather Data
ใช้ข้อมูลชื่อ weather.arff
อยู่ใน C:Program
FilesWeka-3-6data
เป็นข้อมูลสภำพอำกำศมีผล
ต่อกำรแข่งขันเบสบอลใน
อเมริกำ
เก็บข้อมูลสภำพอำกำศย้อน
หลัง 14 วัน
ที่มำ
http://www.theweather
prediction.com/habyhi
26. Ex: Weather Data
ใช้ข้อมูลชื่อ weather.arff
อยู่ใน C:Program
FilesWeka-3-6data
เป็นข้อมูลสภำพอำกำศมีผล
ต่อกำรแข่งขันเบสบอลใน
อเมริกำ
เก็บข้อมูลสภำพอำกำศย้อน
หลัง 14 วัน
เปิด weather.arff ด้วย
editor
ที่มำ
27. Ex: Weather Data
เปิด Weka เลือก Explorer -> กดปุ่ม Open file -> เลือกไฟล์ weather.arff
แถบเมนู ปุ่มโหลด
ฟิลเตอร์
elation ที่โหลดเข้ำมำ
Attribute ของ relation
กำำหนด class
กรำฟ
สถำนะกำรทำำงำน
28. Ex: Weather Data
ส่วนที่สำำคัญของ Preprocess คือเมนู Filter
แปลงข้อมูล เนื่องจำกบำงเทคนิคทำำงำนได้เฉพำะข้อมูล
ที่เป็น nominal เท่ำนั้น
Discretize: แปลงข้อมูลตัวเลข (numeric or real)
ให้เป็นข้อมูลประเภท (nominal)
StringToNominal: แปลงข้อมูลที่เป็นลักษณะ
ข้อควำม (string) ให้เป็นข้อมูลลักษณะประเภท
(nominal) แก้ไขข้อมูลที่ผิดพลำด
แก้ไขข้อมูลที่ผิดพลำด
ReplaceMissingValue: เพิ่มข้อมูลที่ขำดหำยไป
กำรค้นหำ Outliers
30. Ex: Weather Data
Missing Value
ข้อมูลบำงส่วนหำยไป
อำจเกิดจำก
ควำมผิดพลำดในกำรก
รอกข้อมูล
ควำมจงใจในกำรให้
ข้อมูลจริง
ข้อมูลไม่น่ำเชื่อถือในกำร
วิเครำะห์หรือทำำนำย
จำกตัวอย่ำง Customer
มีตัวอย่ำงใดไม่น่ำเชือ่ถือ
หมำย
เลข
สมำชิ
ก
ชื่อ
สมำชิก
เพศ อำยุ รำย
ได้
1 สมชัย ชำย 25 12,00
0
2 สมพร หญิ
ง
18 7,000
3 สมอำรี หญิ
ง
35 35,00
0
4 สมสุภำพ เด็ก 15 4,000
5 สมศรี หญิ 300 20,00
31. Ex: Weather Data
การ Replace missing value
ใช้เครื่องหมาย ? แทนข้อมูลที่หายไปหรือข้อมูลที่
ต้องการให้มีการ replace
ถ้าข้อมูลเป็นตัวเลข แทนที่ด้วย ค่าเฉลี่ย (mean)
ของค่าใน attribute นั้น ๆ
ถ้าข้อมูลเป็นประเภท แทนที่ด้วย ข้อมูลที่ปรากฏ
บ่อยที่สุด (mode) ใน attribute นั้น ๆ
32. Ex: Weather Data
การ Replace missing value
หมายเ
ลข
สมาชิก
ชื่อ
สมาชิก
เพศ อายุ รายได้
1 สมชัย ชาย 25 12,00
0
2 สมพร หญิง 18 7,000
3 สมอารี หญิง 35 35,00
0
4 สมสุภาพ ? 15 4,000
5 สมศรี หญิง ? 20,00
0
33. Ex: Weather Data
การ Replace missing value
หมายเ
ลข
สมาชิก
ชื่อ
สมาชิก
เพศ อายุ รายได้
1 สมชัย ชาย 25 12,00
0
2 สมพร หญิง 18 7,000
3 สมอารี หญิง 35 35,00
0
4 สมสุภาพ หญิง 15 4,000
5 สมศรี หญิง 22.2
5
20,00
0
34. Ex: Weather Data
ทดลองทำาโดยการแก้ไฟล์ CustomerData.arff
Save ไฟล์ในชื่อ CustomerData_wmissing.arff
กดปุ่ม Choose -> filters->unsupervised-
>attribute->ReplaceMissingValues แล้วกดปุ่ม
Apply
35. Ex: Weather Data
Detect Outlier
Outlier คือข้อมูลที่มีความผิดปกติที่แปลกแยกจากข้อมูล
ส่วนใหญ่ อาจจะถือว่าเป็นข้อมูลจริงหรือ noise ก็ได้
ใช้วิธีที่เรียกว่า Interquartile range (IQR)
ทดลองการใช้ outlier จากไฟล์
customer_outlier.arff
Edit ดูข้อมูลก่อน
ก่อนทำา outlier ควรลบข้อมูลที่ไม่เกี่ยวข้องออก ในที่นี้
คือ attribute Customer_ID และ Name
กดปุ่ม Choose -> filters->unsupervised-
>attribute->InterquartileRange แล้วกดปุ่ม Apply
36. Memory Error
ซอฟต์แวร์ Weka จะทำาการอ่านข้อมูล ทั้งหมด เข้าไปเก็บ
ไว้ในหน่วยความจำา (memory) ภายในเครื่องก่อน แล้วจึง
นำาข้อมูลเหล่านี้ไปประมวลผลต่อไป
อาจเกิด error ได้ เนื่องจากหน่วยความจำาไม่พอ
การคำานวณขนาดของหน่วยความจำาที่ต้องใช้ คำานวณได้
จาก
Approx_mem = number of attributes * number of
instances * 8
ตัวอย่างเช่น ข้อมูล 10,000,000 instances มี 10
attributes จะต้องใช้หน่วยความจำา
= 10,000,000*10*8 = 800,000,000 = 800 MB