42-คู่มือการใช้ weka classification ใช้ตัวอย่าง...

31
1 คู่มือการใช้ WEKA: Classification คู ่มือการใช้ WEKA: Classification ใช้ตัวอย่าง weather ประกอบวิชาระบบสารสนเทศเชิงปัญญา สาขาระบบสารสนเทศทางคอมพิวเตอร์ -คอมพิวเตอร์ธุรกิจ จัดทาโดย 1. นายนนท์ สาระมาศ รหัส 115330505314-8 2. นายวิษณุ เกี้ยวเก้า รหัส 115330505391-6 3. นายศุภกริช เขื่อนเพชร รหัส 115330505392-4 เสนอ อาจารย์ กิตติรักษ์ ม่วงมิ่งสุข รายงานเล่มนี้เป็นส่วนหนึ่งของวิชา ระบบสารสนเทศเชิงปัญญา รหัสวิชา (05-511-304) ภาคเรียนที2 ปีการศึกษา 2553 มหาวิทยาลัยเทคโนโลยีราชมงคลธัญบุรี

Upload: petch-pochaecc

Post on 29-Jul-2015

1.429 views

Category:

Documents


71 download

TRANSCRIPT

Page 1: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

1 คมอการใช WEKA: Classification

คมอการใช WEKA: Classification ใชตวอยาง weather

ประกอบวชาระบบสารสนเทศเชงปญญา

สาขาระบบสารสนเทศทางคอมพวเตอร-คอมพวเตอรธรกจ

จดท าโดย

1. นายนนท สาระมาศ รหส 115330505314-8

2. นายวษณ เกยวเกา รหส 115330505391-6

3. นายศภกรช เขอนเพชร รหส 115330505392-4

เสนอ

อาจารย กตตรกษ มวงมงสข

รายงานเลมนเปนสวนหนงของวชา ระบบสารสนเทศเชงปญญา

รหสวชา (05-511-304)

ภาคเรยนท 2 ปการศกษา 2553

มหาวทยาลยเทคโนโลยราชมงคลธญบร

Page 2: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

2 คมอการใช WEKA: Classification

เทคนคการท าเหมองขอมล

1. Classification & Prediction

Classification เปนกระบวนการสราง model จดการขอมลใหอยในกลมทก าหนดมาให ตวอยางเชน

จดกลมนกเรยนวา ดมาก ด ปานกลาง ไมด โดยพจารณาจากประวตและผลการเรยน หรอแบงประเภทของ

ลกคาวาเชอถอได หรอไมโดยพจารณาจากขอมลทมอย กระบวนการ classification นแบงออกเปน 3

ขนตอน ดงรปท 1

รปท 1 แสดง กระบวนการ Classification

Model Construction (Learning) เปนขนการสราง model โดยการเรยนรจากขอมลทได

ก าหนดคลาสไวเรยบรอยแลว (training data) ซง model ทไดอาจแสดงในรปของ

1.1 แบบตนไม (Decision Tree) โครงสรางแบบตนไมของ Decision Tree เปนทนยมกนมาก

เนองจากเปนลกษณะทคนจ านวนมากคนเคย ท าใหเขาใจไดงาย มลกษณะเหมอนแผนภมองคกร โดยทแต

ละโหนดแสดง attribute แตละกงแสดงผลในการทดสอบ และลฟโหนดแสดงคลาสทก าหนดไว

Page 3: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

3 คมอการใช WEKA: Classification

ตวอยางเชน สมมตวาบรษทขนาดใหญแหงหนงท าธรกจอสงหารมทรพยมส านกงานสาขาอย

ประมาณ 50 แหง แตละสาขามพนกงานประจ า เปนผจดการและพนกงานขาย พนกงานเหลานแตละคนจะ

ดแลอาคารตาง ๆ หลายแหงรวมทงลกคาจ านวนมาก บรษทจ าเปนตองใชระบบฐานขอมลทก าหนด

ความสมพนธระหวางองคประกอบเหลาน เมอรวบรวมขอมลแบงเปนตารางพนฐานตาง ๆ เชน ขอมล

ส านกงานสาขา ( Branch ) ขอมลพนกงาน ( Staff ) ขอมลทรพยสน (Propety) และขอมลลกคา ( Client )

พรอมทงก าหนดความสมพนธ ( Relationship) ของขอมลเหลาน เชน ประวตการเชาบานของลกคา

(Customer_rental ) รายการใหเชา ( Rentals ) รายการขายสนทรพย ( Sales ) เปนตน ตอมาเมอมประชม

กรรมการผบรหารของบรษท สวนหนงของรายงานจากฐานขอมลสรปวา “ 40 % ของลกคาทเชาบานนาน

กวาสองป และมอายเกน 25 ป จะซอบานเปนของตนเอง โดยกรณเชนนเกดขน 35 % ของลกคาผเชาบาน

ของบรษท”

จากตวอยางพฤตกรรมการเชาและซอบานขางตน ลองมาตวอยางทเปนรปธรรมมากขน ในตาราง

Business Info แสดงถงรายการทงหมดเกยวกบลกคาบานเชาของบรษทโดยมรายละเอยดเกยวกบอาย และ

ระยะเวลาเชา รวมทงการซอบานของลกคาแตละราย ดงตารางท 1

รปท 2 แสดงตวอยางของ Decision Tree เพอวเคราะหโอกาสทลกคาบานเชาจะซอบาน

Page 4: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

4 คมอการใช WEKA: Classification

ตารางท 1 แสดงรายการทงหมดเกยวกบลกคาบานเชาของบรษท

1.2 นวรอลเนต หรอ นวรอลเนตเวรก (Neural Net) เปนเทคโนโลยทมทมาจากงานวจย

ดานปญญาประดษฐ Artificial Intelligence:AI เพอใชในการค านวณคาฟงกชนจากกลมขอมล วธการของ

นวรอลเนต ( แทจรงตองเรยกใหเตมวา Artificial Neural Networks หรอ ANN ) เปนวธการทใหเครอง

เรยนรจากตวอยางตนแบบ แลวฝก ( train ) ใหระบบไดรจกทจะคดแกปญหาทกวางขนได ในโครงสรางของ

นวรอลเนตจะประกอบดวยโหนด ( node ) ส าหรบ Input – Output และการประมวลผล กระจายอยใน

โครงสรางเปนชน ๆ ไดแก input layer , output layer และ hidden layers การประมวลผลของนวรอลเนตจะ

อาศยการสงการท างานผานโหนดตาง ๆ ใน layer เหลาน ส าหรบตวอยางรปท 3 เปนการวเคราะหแบบ

เดยวกบรปท 2 ในโครงสรางแบบนวรอลเนต

Page 5: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

5 คมอการใช WEKA: Classification

รปท 3 แสดงนวรอลเนตเพอวเคราะหการเชาและซอบานของลกคา

Model Evaluation (Accuracy) เปนขนการประมาณความถกตองโดยอาศยขอมลทใชทดสอบ

(testing data) ซงคลาสทแทจรงของขอมลทใชทดสอบนจะถกน ามาเปรยบเทยบกบคลาสทหามาไดจาก

model เพอทดสอบความถกตอง

Model Usage (Classification) เปน Model ส าหรบใชขอมลทไมเคยเหนมากอน (unseen data)

โดยจะท าการก าหนดคลาสใหกบ object ใหมทไดมา หรอ ท านายคาออกมาตามทตองการ Prediction เปน

การท านายหาคาทตองการจากขอมลทมอย ตวอยางเชน หายอดขายของเดอนถดไปจากขอมลทมอย หรอ

ท านายโรคจากอาการของคนไขในอดต เปนตน

Page 6: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

6 คมอการใช WEKA: Classification

การใชงานซอฟตแวร Weka explorer

o เรมการท างานของซอฟตแวร Weka ท C:\Program Files\Weka-3.6 หรอ Start >> All programs >>

Weka 3.6.3 เลอก Weka

Page 7: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

7 คมอการใช WEKA: Classification

o เปดโมดล Explorer

o คลกท Open file….

Page 8: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

8 คมอการใช WEKA: Classification

o เปดแฟม weather.arff ท C:\Program Files\Weka-3.6\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

rainy,70,96,FALSE,yes rainy,68,80,FALSE,yes rainy,65,70,TRUE,no overcast,64,65,TRUE,yes sunny,72,95,FALSE,no sunny,69,70,FALSE,yes rainy,75,80,FALSE,yes sunny,75,70,TRUE,yes overcast,72,90,TRUE,yes overcast,81,75,FALSE,yes rainy,71,91,TRUE,no

Page 9: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

9 คมอการใช WEKA: Classification

Outlook มคาตางกน 3 คา

Temperature มคาตางกน 12

คา

Page 10: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

10 คมอการใช WEKA: Classification

Humidity มคาตางกน 10 คา

Windy มคาตางกน 2 คา

Page 11: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

11 คมอการใช WEKA: Classification

Play มคาตางกน 2 คา

Page 12: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

12 คมอการใช WEKA: Classification

o เลอก Classify

Page 13: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

13 คมอการใช WEKA: Classification

o เลอก Choose

ผใชเลอกปม choose ใต classifiers

เลอกกลม classifiers

เลอกตนไม trees

เลอกขนตอนวธ J48

Page 14: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

14 คมอการใช WEKA: Classification

ผใชก าหนดตวเลอก use training set เพอใชทก

ตวอยางในการสรางตนไม

ผใชเลอกลกษณะประจ าเปาหมายทตองการโดยปรกต

ลกษณะประจ าสดทายจะถกเลอก

ผใชกดปม Start เพอเรมสรางตนไม

Confusion matrix แสดงคาทได

จากตวแบบ (ดานบน) กบคาจรง

(ดานลาง) ผลลพธทดตองไมมคา

นอก diagonal

รายงานผลลพธของตวแบบ

กบขอมล training

Page 15: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

15 คมอการใช WEKA: Classification

o ผลการวเคราะหดวยเทคนค Classification ดวยแฟม weather.arff

=== Run information ===

Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2

Relation: weather

Instances: 14

Attributes: 5

outlook

temperature

humidity

windy

play

Test mode: evaluate on training data

สวนแรกคอสวน Run Information นจะเปนการสรปวา

Scheme : ในการวเคราะหผลครงนใชเทคนคอะไรในการท า classification Relation : ขอมลทใชเปน input มชอวาอะไร

Instances : จ านวนแถวในขอมล Attributes : จ านวนคอลมนในขอมล และชอของแตละแอตทรบวต

Test mode : การทดสอบประสทธภาพของโมเดลทไดจากการท า classification

Page 16: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

16 คมอการใช WEKA: Classification

=== Classifier model (full training set) === J48 pruned treeoutlook = sunny | humidity <= 75: yes (2.0) | humidity > 75: no (3.0) outlook = overcast: yes (4.0) outlook = rainy | windy = TRUE: no (2.0) | windy = FALSE: yes (3.0)Number of Leaves : 5 Size of the tree : 8Time taken to build model: 0.01 seconds

สวนท 2 คอ สวนของโมเดลทสรางไดซงจะแตกตางกนออกไปตามเทคนคทเลอกใชงาน ในตวอยางนใช

เทคนคการท า classification ดวยวธ j48 ซงเปน decision tree แบบหนง ผลทแสดงในสวนนจงเปนลกษณะ

ของ tree แตเขยนใหอยในรปของ text ซงจาก decision tree นเราอาจจะสามารถแปลงใหเปนกฎทเปนโมเดล

ได เชน ถาคา outlook = sunny และ humidity <= 75 แลวจะตอบวา play = yes เปนตน

=== Evaluation on training set ===

=== Summary ===

Correctly Classified Instances 14 100 % Incorrectly Classified Instances 0 0 %

สวนท 3 คอสวนทวดประสทธภาพของโมเดลในการ classify ทสรางขนมาได ซงมคาทส าคญๆ อย 2 คา คอ

Correctly Classified Instances สวนนบอกวาจากขอมลทม 14 instance นน มการท านายขอมลถกตอง 14 instance(row) หรอคดเปน 100% ของขอมลทงหมด

Incorrectly Classified Instances สวนนบอกวาจากขอมลทม 14 instance นน มการท านายขอมลไมถกตอง 0 instance(row) หรอคดเปน 0% ของขอมลทงหมด

Page 17: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

17 คมอการใช WEKA: Classification

=== Confusion Matrix ===

a b <-- classified as 9 0 | a = yes 0 5 | b = no

สวนท 4 คอ สวนของ confusion matrix ซงเปนสวนทท าใหเราเหนรายละเอยดของผลการท านายของขอมลแตละคลาสไดดขน

คาในคอลมน คอ คาทไดจากการท านายดวยเทคนค j48 คาในแถวจะเปนสวนของคาทเปนค าตอบของคลาสนนจรงๆ

จากตารางนเราจะเหนวา ขอมลทจรงๆ แลวมคา play=yes และโมเดลของเราท านายถกวามคา play=yes นนมจ านวนทงหมด 9 instance ขอมลเหลาน คอ ขอมลทโมเดลท านายถกเชน ขอมลใน instance ทมคา play=yes

แตถาจรงๆ แลวขอมลมคา play=yes แตโมเดลการท านายของเราดนไปตอบวาคา play=no นนมจ านวน 5 instance นนคอขอมลทโมเดลท านายผดส าหรบคลาสทตอบวา play=yes นนเอง

Page 18: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

18 คมอการใช WEKA: Classification

ตนไมทไดจาก J48

ผใชสามารถแสดงรปของตนไม

ได ถาใชขนตอนวธ j48

Page 19: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

19 คมอการใช WEKA: Classification

การเปลยนลกษณะประจ าใหเปนคาไมตอเนอง

เนองจากขนตอนวธ Id3 จ าเปนตองม ลกษณะประจ าทกตวมคาไมตอเนอง เรามขนตอนการเปลยนดงน

o เลอก Filter >> Choose

Page 20: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

20 คมอการใช WEKA: Classification

o เลอก Discretize ในกลอง Filter โดยเลอก filters >>unsupervised>>attribute

Page 21: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

21 คมอการใช WEKA: Classification

o กดทวางในชอง Filter

o ปรบคาในกลอง bin ใหเหมาะสม เชนก าหนดใหเปน 3 กลอง

o กดปม OK

o แลวกด Apply

Page 22: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

22 คมอการใช WEKA: Classification

ผลทไดจาการการเปลยนลกษณะประจ าใหเปนคาไมตอเนอง

Outlook มคาตางกน 3 คา

Temperature มคาตางกน 3 คา

Page 23: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

23 คมอการใช WEKA: Classification

Humidity มคาตางกน 2 คา

Windy มคาตางกน 2 คา

Page 24: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

24 คมอการใช WEKA: Classification

Play มคาตางกน 2 คา

Page 25: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

25 คมอการใช WEKA: Classification

o เลอก Classify >> Choose

Page 26: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

26 คมอการใช WEKA: Classification

ผใชเลอกปม choose ใต classifiers

เลอกกลม classifiers

เลอกตนไม trees

เลอกขนตอนวธ Id3

ผใชก าหนดตวเลอก use training set เพอใชทก

ตวอยางในการสรางตนไม

ผใชเลอกลกษณะประจ าเปาหมายทตองการโดยปรกต

ลกษณะประจ าสดทายจะถกเลอก

ผใชกดปม Start เพอเรมสรางตนไม

Page 27: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

27 คมอการใช WEKA: Classification

รายงานผลลพธของตวแบบ

กบขอมล training

Confusion matrix แสดงคาทได

จากตวแบบ (ดานบน) กบคาจรง

(ดานลาง) ผลลพธทดตองไมมคา

นอก diagonal

Page 28: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

28 คมอการใช WEKA: Classification

ตนไมทไดจาก ID 3

ตนไมการตดสนใจดงกลาวสามารถจ าแนก play ถกตอง 100%

=== Confusion Matrix ===

a b <-- classified as

9 0 | a = yes

0 5 | b = no

Page 29: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

29 คมอการใช WEKA: Classification

ส าหรบแฟม weather.nominal.arff ทเปนลกษณะประจ าทกตวมคาไมตอเนองใชไดทงวธ Id3 และ

วธ J48 โดยไมตองเปลยนลกษณะของคา

@relation weather.symbolic @attribute outlook {sunny, overcast, rainy} @attribute temperature {hot, mild, cool} @attribute humidity {high, normal} @attribute windy {TRUE, FALSE} @attribute play {yes, no} @data sunny,hot,high,FALSE,no sunny,hot,high,TRUE,no overcast,hot,high,FALSE,yes

rainy,mild,high,FALSE,yes rainy,cool,normal,FALSE,yes rainy,cool,normal,TRUE,no overcast,cool,normal,TRUE,yes sunny,mild,high,FALSE,no sunny,cool,normal,FALSE,yes rainy,mild,normal,FALSE,yes sunny,mild,normal,TRUE,yes overcast,mild,high,TRUE,yes overcast,hot,normal,FALSE,yes rainy,mild,high,TRUE,no

Page 30: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

30 คมอการใช WEKA: Classification

สรป

o การท าเหมองขอมลแบบจ าแนกประเภท มขนตอนวธในการสรางตวแบบมากมาย

o การใชตนไมในการบงบอกตวแบบกเปนหนงในวธดงกลาว

o ส าหรบขนตอนวธ Id3 ลกษณะประจ าทกตวตองมคาไมตอเนองตองใชแฟม weather.norminal.arff

และ แฟม weather.arff จะใชไดกตอเมอ เปลยนลกษณะประจ าใหเปนคาไมตอเนอง

o แตขนตอนวธ J48 ลกษณะประจ าไมจ าเปนตองมคาไมตอเนอง ใชแฟม weather.norminal.arff และ

แฟม weather.arff สามารถใชไดเลย

Page 31: 42-คู่มือการใช้ WEKA Classification ใช้ตัวอย่าง weather (แก้ไข)

31 คมอการใช WEKA: Classification

บรรณานกรม

(ออนไลน). เขาถงไดจาก. http://202.28.77.215/~bc500090/321350/Group1_files/Page406.htm.

(วนทคนขอมล : 20 กมภาพนธ 2554)

(ออนไลน). เขาถงไดจาก. http://wekathai.blogspot.com/2009/11/data-mining.html.

(วนทคนขอมล : 20 กมภาพนธ 2554)

(ออนไลน). เขาถงไดจาก. http://open-miner.com/2009/11/24/wekaclassificaiton-result/.

(วนทคนขอมล : 20 กมภาพนธ 2554)