1 weka introducing

39
Hathairat Ketmaneechairat 336331DATA MINING Weka Introducing

Upload: -

Post on 28-May-2015

598 views

Category:

Education


6 download

TRANSCRIPT

Page 1: 1 weka introducing

Hathairat Ketmaneechairat336331DATA

MINING

Weka Introducing

Page 2: 1 weka introducing

What is Weka?

Waikato Environment for Knowledge AnalysisSince 1997 by Waikato University, New

ZealandOpensource software used for data analysis

by data mining techniquesThe 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

Page 3: 1 weka introducing

How do we get?

http://www.cs.waikato.ac.nz/ml/wekaFree Weka tutorial on Web and book

Page 4: 1 weka introducing

Starting Weka

Weka’s GUI

Page 5: 1 weka introducing

Explorer เป็�นโป็รแกรมที่� ออกแบบในลั�กษณะ GUI หร�อ การป็ระมวลัผลัเหม�องข้�อม�ลัด้�วยว!ธี�การ (Method) แลัะอ�ลักอร!ที่#ม ต่%าง ๆ

Experimenter เป็�นโป็รแกรมที่� ออกแบบการที่ด้ลัองแลัะการที่ด้สอบผลั

KnowledgeFlow เป็�นโป็รแกรมออกแบบผ�งการไหลัข้องความร� � Simple CLI (Command Line Interface) เป็�นโป็รแกรมร�บค%าส� ง

การที่*างานผ%านการพิ!มพิ, ArffViewer เป็�นโป็รแกรมที่� ใช้�ส*าหร�บแก�ไข้แฟ้/มป็ระเภที่ Arff (Tool)

Log เป็�นโป็รแกรมที่� ใช้�อ%านข้�อความบ�นที่#กเก1บระหว%างการที่างาน การเป็2ด้โป็รแกรม Weka with Console จะเป็�นเป็�นการเป็2ด้หน�าจอ

Console มาเพิ! มเต่!มแลัะแสด้งการที่างานต่ามผ��ใช้�ส� งงาน

Page 6: 1 weka introducing

Weka Explorer

Tab ส*าหร�บการเร�ยกใช้�งาน

Workspace

Status Bar

Main menu

Page 7: 1 weka introducing

Weka Explorer

Preprocessing - การเต่ร�ยมข้�อม�ลัClassify – รวมโมด้�ลัการที่*าเหม�องข้�อม�ลัแบบจ�ด้แบ%ง

ป็ระเภที่ข้�อม�ลัCluster – รวมโมด้�ลัการที่*าเหม�องข้�อม�ลัแบบจ�ด้กลั4%มAssociate – รวมโมด้�ลัการที่*าเหม�องข้�อม�ลัแบบกฎความ

ส�มพิ�นธี,ข้องข้�อม�ลัSelect Attributes - รวมโมด้�ลัส*าหร�บให�ผ��ใช้�งานสามารถ

ก*าหนด้ Attribute ได้�ด้�วยต่นเองVisualization – การน*าเสนอข้�อม�ลัด้�วยภาพินามธีรรมสอง

ม!ต่!

Page 8: 1 weka introducing

หลั�กการใช้ Explorer ใน Weka

Page 9: 1 weka introducing

Knowledge Flow Application

ส%วนข้อง Knowledge Flow Application เป็�นการที่*างานที่� ม�หน�าต่าคลั�ายคลั#งก�บความส�มพิ�นธี,ระหว%างต่าราง

ในฐานข้�อม�ลั แต่% Knowledge Flow ในโป็รแกรม Weka น�9นจะแสด้ง

ภาพิข้องการเช้� อมโยงข้องข้�อม�ลัแลัะส%วนอ� น ๆ ซึ่# งที่*าให�ที่ราบถ#งข้�9นต่อนการที่*างานในแต่%ลัะข้�9นต่อน

Page 10: 1 weka introducing

Knowledge Flow Application

Page 11: 1 weka introducing

Simple CLI

การที่*างานข้อง Simple CLI หร�อ Simple Command Line น�9นเป็�นการที่*างานแบบผ��ใช้�งานจะต่�องพิ!มพิ,ค*าส� งเอง ซึ่# งเป็�นการที่*างานคลั�ายคลั#งก�บการส� งผ%าน GUI ใน Explorer ด้�งน�9นหากผ��ใช้�ที่� ไม%ที่ราบค*าส� ง (Shell) ข้อง Weka ก1สามารถใช้�งาน Explorer ได้�เช้%นก�น

Page 12: 1 weka introducing

Simple CLI

Page 13: 1 weka introducing

ข้อดี�ข้องซอฟต์�แวร�ว�กา เป็�นซึ่อฟ้ต่,แวร,เสร�ที่� สามารถด้าวน,โหลัด้ได้�ฟ้ร� สามารถที่างานได้�ที่4กระบบป็ฏิ!บ�ต่!การ เช้� อมต่%อ SQL Database โด้ยใช้� Java Database

Connectivity ม�การเต่ร�ยมข้�อม�ลัแลัะเที่คน!คในการสร�างแบบจาลัองที่� ครอบคลั4ม ม�ลั�กษณะที่� ง%ายต่%อการใช้�งาน

สร4ป็ข้�อด้�ข้องโป็รแกรม WEKA ค�อ ม�อ�ลักอร!ที่#มที่� ร� �จ�กก�นด้�ข้องการที่าด้าต่�าไมน,น! งให�เลั�อกใช้�อย%างครบถ�วน แลัะสามารถเข้�ยนฟ้=งก,ช้�นเพิ! มเข้�าไป็ในโป็รแกรมเองได้�

Page 14: 1 weka introducing

ความสามารถข้องซอฟต์�แวร�ว�กา สน�บสน4นเก� ยวก�บการที่าเหม�องข้�อม�ลั (Data Mining) การเต่ร�ยมข้�อม�ลั (Data Preprocessing) การที่าเหม�องข้�อม�ลัด้�วยเที่คน!คการจาแนกข้�อม�ลั

(Classification) การที่าเหม�องข้�อม�ลัด้�วยเที่คน!คการจ�ด้กลั4%ม (Clustering) การที่าเหม�องข้�อม�ลัด้�วยเที่คน!คการว!เคราะห,ความส�มพิ�นธี,

(Associating) เที่คน!คการค�ด้เลั�อกข้�อม�ลั (Selecting Attributes) เที่คน!คการน*าเสนอข้�อม�ลัด้�วยร�ป็ภาพิ (Visualization)

Page 15: 1 weka introducing

ส%วนป็ระกอบพิ�9นฐาน

Data set หมายถ#ง ข้�อม�ลัที่� จะนามาที่าเหม�องข้�อม�ลั อาจจะอย�%ในร�ป็แบบข้องไฟ้ลั,ข้�อความ ต่าราง ไฟ้ลั,ที่� พิร�อมจะที่า

preprocessing เช้%น .arff , csv เป็�นต่�น Relation หมายถ#ง ช้� อข้อง data set ที่� ม�อย�% ซึ่# งการใช้�งาน

โป็รแกรมม�กจะอ�างอ!งช้� อ relation ว%าเป็�นช้� อข้องแหลั%งข้�อม�ลัน�9น ๆ ลั�กษณะคลั�ายก�บช้� อข้องต่ารางในระบบฐานข้�อม�ลั Attritbute หมายถ#ง ส%วนป็ระกอบย%อยภายใน relation

หร�ออาจจะร� �จ�กก�นในช้� อ field ในระบบฐานข้�อม�ลั Instance หมายถ#ง รายการภายใน relation หร�ออาจจะ

ร� �จ�กก�นในช้� อข้อง record ในระบบฐานข้�อม�ลั

Page 16: 1 weka introducing

Preparing the data

ข้�อม�ลั Instance Attribute

การโหลัด้ข้�อม�ลัเข้�าไป็ในโป็รแกรม Weka ไฟ้ลั, CSV (Comma-Separated Value) ไฟ้ลั, ARFF (Attribute-Relation File Format) ฐานข้�อม�ลั

Data Preprocessing with Weka แป็ลังข้�อม�ลัที่� เป็�นต่�วเลัข้ให�เป็�นช้%วง เพิ! มข้�อม�ลัที่� ข้าด้หาย ค�นหาข้�อม�ลั Outliers

Page 17: 1 weka introducing

Ex: Customer Data

ใช้�ข้�อม�ลัเก� ยวก�บลั�กค�าซึ่# งป็ระกอบไป็ด้�วยข้�อม�ลัด้�งต่%อไป็น�9

หมายเลัข้สมาช้�ก

ช้��อสมาช้�ก เพศ อาย" รายไดี

1 สมช้�ย ช้าย 25 12

000

2 สมพิร หญิ!ง 18 70,00

3 สมอาร� หญิ!ง 35 35,000

4 สมส4ภาพิ เด้1ก 15 40,00

5 สมศร� หญิ!ง 300

20,000

Instance : ใช้�ส*าหร�บแสด้งข้�อม�ลัแต่%ลัะคน

Attribute : ใช้�ส*าหร�บค4ณลั�กษณะต่%าง ๆ ข้องข้�อม�ลั

Page 18: 1 weka introducing

Ex: Customer Data

ป็ระเภที่ข้�อม�ลัในแต่%ลัะ Attribute Numeric

ข้�อม�ลัที่� เป็�นต่�วเลัข้ ค%าว�ด้เช้!งป็ร!มาณ ได้�แก% attribute หมายเลัข้สมาช้!ก อาย4 แลัะรายได้�

Non-numeric หร�อ Categorical ข้�อม�ลัป็ระเภที่ต่%าง ๆ ไม%ม�ลั*าด้�บก%อนหลั�ง ได้�แก% attribute ช้� อสมาช้!ก แลัะเพิศ

Page 19: 1 weka introducing

Ex: Customer Data

การน*าเข้�าข้�อม�ลัในโป็รแกรม Weka

Open file :น*าเข้�าไฟ้ลั, CSV หร�อ ARFF ที่� ได้�จ�ด้เต่ร�ยมไว�แลั�ว

Open URL : น*าเข้�าไฟ้ลั, CSV หร�อ ARFF ผ%านเคร�อข้%าย

Open DB : ด้#งข้�อม�ลัจากฐานข้�อม�ลัGenerate : สร�างข้�อม�ลัต่�วอย%าง เพิ� อใช้�ในการ

ที่ด้สอบ โด้ยการระบ4จ*านวน instances แลัะจ*านวน attributes

Page 20: 1 weka introducing

Ex: Customer Data

ร� �จ�กไฟ้ลั, CSV (Comma-Separated Value) ใช้�เคร� องหมาย Comma (,) แบ%งระหว%าง attribute สามารถใช้� Excel ในการสร�างไฟ้ลั, CSV (เลั�อก Save เป็�น CSV

Format)

ไฟ้ลั,ข้�อม�ลัใน Excel

ไฟ้ลั,ข้�อม�ลัในร�ป็แบบ CSV

***ที่ด้ลัองสร�าง CSV ต่ามต่�วอย%าง

Page 21: 1 weka introducing

Ex: Customer Data

ร� �จ�กไฟ้ลั, ARFF (Attribute-Relation File Format) เป็�นไฟ้ลั,ที่� Weka ก*าหนด้ข้#9นเอง แบ%งเป็�น 2 ส%วน ส%วน Header: เป็�นส%วนแสด้งรายลัะเอ�ยด้ต่%าง ๆ

ช้� อข้องช้4ด้ข้�อม�ลั (relation) ช้� อข้องแต่%ลัะ attribute ป็ระเภที่ข้องข้�อม�ลัในแต่%ลัะ attribute (data type)

ส%วน Data: เป็�นส%วนข้องข้�อม�ลัในแต่%ลัะ attribute ที่� ต่�องการใช้�ในการว!เคราะห,

Page 22: 1 weka introducing

Ex: Customer Data

Tag พิ!เศษที่� ม�ในส%วน header ในไฟ้ลั, ARFF @relation <relation-name>

ใช้�ในการบอกช้� อเร�ยกข้องช้4ด้ข้�อม�ลั @attribute <attribute-name> <data type>

ใช้�ในการบอกช้� อ attribute แลัะช้น!ด้ข้องข้�อม�ลัTag พิ!เศษที่� ม�ในส%วน Data ในไฟ้ลั, ARFF

@data หมายความว%า บรรที่�ด้ต่%อไป็จากน�9จะเป็�นส%วนข้องข้�อม�ลั โด้ยใช้�เคร� องหมาย

comma ค� นระหว%าง attributeส%วนที่� น*าหน�าด้�วย % หมายถ#ง การคอมเมนที่,ภายในไฟ้ลั,ไม%ม�ผลัต่%อการที่างาน ส%วนที่� น*าหน�าด้�วย @ ค�อส%วนป็ระกาศ ช้� อ แลัะ Attribute

Page 23: 1 weka introducing

Ex: Customer Data

Page 24: 1 weka introducing

Ex: Customer Data

ป็ระเภที่ข้�อม�ลัในแต่%ลัะ attribute ข้�อม�ลัที่� เป็�นต่�วเลัข้

จ*านวนเต่1ม แลัะจ*านวนจร!ง ใช้� keyword numeric

ข้�อม�ลัที่� ไม%ใช้%ต่�วเลัข้ (nominal) ที่� ไม%ม�ลั*าด้�บ หร�อไม%สามารถบอกป็ร!มาณได้� เช้%น ช้� อคน ส! งข้อง สถานที่� เพิศ ม�กระบ4ค%าที่� เป็�นไป็ได้�ที่�9งหมด้ในร�ป็แบบข้อง set เช้%น set {0,1,2}

เป็�นต่�น

ลัองเป็ร�ยบเที่�ยบความแต่กต่%างระหว%าง CSV แลัะ ARFF

Page 25: 1 weka introducing

Ex: Weather Data

ใช้�ข้�อม�ลัช้� อ weather.arff อย�%ใน C:\Program Files\Weka-3-6\data

เป็�นข้�อม�ลัสภาพิอากาศม�ผลัต่%อการแข้%งข้�นเบสบอลัในอเมร!กา

เก1บข้�อม�ลัสภาพิอากาศย�อนหลั�ง 14 ว�น

ที่� มา http://www.theweatherprediction.com/habyhints/285/

Page 26: 1 weka introducing

Ex: Weather Data

ใช้�ข้�อม�ลัช้� อ weather.arff อย�%ใน C:\Program Files\Weka-3-6\data

เป็�นข้�อม�ลัสภาพิอากาศม�ผลัต่%อการแข้%งข้�นเบสบอลัในอเมร!กา

เก1บข้�อม�ลัสภาพิอากาศย�อนหลั�ง 14 ว�น

เป็2ด้ weather.arff ด้�วย editorที่� มา

http://www.theweatherprediction.com/habyhints/285/

Page 27: 1 weka introducing

Ex: Weather Data

เป็2ด้ Weka เลั�อก Explorer -> กด้ป็4@ม Open file -> เลั�อกไฟ้ลั, weather.arff

แถบเมน� ป็4@มโหลัด้

ฟ้2ลัเต่อร,Relation ที่� โหลัด้เข้�ามา

Attribute ข้อง relationก*าหนด้ class

กราฟ้

สถานะการที่*างาน

Page 28: 1 weka introducing

Ex: Weather Data

ส%วนที่� ส*าค�ญิข้อง Preprocess ค�อเมน� Filter แป็ลังข้�อม�ลั เน� องจากบางเที่คน!คที่*างานได้�เฉพิาะข้�อม�ลัที่� เป็�น

nominal เที่%าน�9น Discretize: แป็ลังข้�อม�ลัต่�วเลัข้ (numeric or real) ให�เป็�น

ข้�อม�ลัป็ระเภที่ (nominal) StringToNominal: แป็ลังข้�อม�ลัที่� เป็�นลั�กษณะข้�อความ (string )

ให�เป็�นข้�อม�ลัลั�กษณะป็ระเภที่ (nominal) แก�ไข้ข้�อม�ลัที่� ผ!ด้พิลัาด้ แก�ไข้ข้�อม�ลัที่� ผ!ด้พิลัาด้

ReplaceMissingValue: เพิ! มข้�อม�ลัที่� ข้าด้หายไป็ การค�นหา Outliers

InterquartileRange: พิ!จารณาจากการกระจายต่�วข้องข้�อม�ลั

Page 29: 1 weka introducing

Ex: Weather Data

Discretization : แป็ลังข้�อม�ลัต่�วเลัข้ (numeric or real) ใหเป็�นข้�อม�ลัป็ระเภที่ (nominal)

Discretize

Page 30: 1 weka introducing

Ex: Weather Data

Missing Value ข้�อม�ลับางส%วนหายไป็ อาจ

เก!ด้จาก ความผ!ด้พิลัาด้ในการก

รอกข้�อม�ลั ความจงใจในการให�

ข้�อม�ลัจร!ง ข้�อม�ลัไม%น%าเช้� อถ�อในการ

ว!เคราะห,หร�อที่*านาย จากต่�วอย%าง Customer

ม�ต่�วอย%างใด้ไม%น%าเช้�อ%ถ�อ

หมายเลัข้

สมาช้�ก

ช้��อสมาช้�ก

เพศ อาย" รายไดี

1 สมช้�ย ช้าย 2

5

12

00

0

2 สมพิร หญิ!ง1

8

70,00

3 สมอาร� หญิ!ง3

5

35,00

0

4 สมส4ภาพิ เด้1ก 1

5

40,00

5 สมศร� หญิ!ง3

0

0

20,00

0

Page 31: 1 weka introducing

Ex: Weather Data

การ Replace missing valueใช้�เคร� องหมาย ? แที่นข้�อม�ลัที่� หายไป็หร�อข้�อม�ลัที่�

ต่�องการให�ม�การ replaceถ�าข้�อม�ลัเป็�นต่�วเลัข้ แที่นที่� ด้�วย ค%าเฉลั� ย (mean)

ข้องค%าใน attribute น�9น ๆถ�าข้�อม�ลัเป็�นป็ระเภที่ แที่นที่� ด้�วย ข้�อม�ลัที่� ป็รากฏิ

บ%อยที่� ส4ด้ (mode) ใน attribute น�9น ๆ

Page 32: 1 weka introducing

Ex: Weather Data

การ Replace missing valueหมายเลั

ข้สมาช้�ก

ช้��อสมาช้�ก

เพศ อาย" รายไดี

1 สมช้�ย ช้าย 2

5

12

00

0

2 สมพิร หญิ!ง 1

8

70,00

3 สมอาร� หญิ!ง 3

5

35,00

0

4 สมส4ภาพิ ? 1

5

40,00

5 สมศร� หญิ!ง ? 20,00

0

Page 33: 1 weka introducing

Ex: Weather Data

การ Replace missing value

หมายเลัข้

สมาช้�ก

ช้��อสมาช้�ก

เพศ อาย" รายไดี

1 สมช้�ย ช้าย 2

5

12

00

0

2 สมพิร หญิ!ง 1

8

70,00

3 สมอาร� หญิ!ง 3

5

35,00

0

4 สมส4ภาพิ หญิ�ง 1

5

40,00

5 สมศร� หญิ!ง 22.25

20,00

0

Page 34: 1 weka introducing

Ex: Weather Data

ที่ด้ลัองที่*าโด้ยการแก�ไฟ้ลั, CustomerData.arff Save ไฟ้ลั,ในช้� อ CustomerData_wmissing.arffกด้ป็4@ม Choose -> filters->unsupervised-

>attribute->ReplaceMissingValues แลั�วกด้ป็4@ม Apply

Page 35: 1 weka introducing

Ex: Weather Data

Detect Outlier Outlier ค�อข้�อม�ลัที่� ม�ความผ!ด้ป็กต่!ที่� แป็ลักแยกจากข้�อม�ลั

ส%วนใหญิ% อาจจะถ�อว%าเป็�นข้�อม�ลัจร!งหร�อ noise ก1ได้� ใช้�ว!ธี�ที่� เร�ยกว%า Interquartile range (IQR) ที่ด้ลัองการใช้� outlier จากไฟ้ลั, customer_outlier.arff Edit ด้�ข้�อม�ลัก%อน ก%อนที่*า outlier ควรลับข้�อม�ลัที่� ไม%เก� ยวข้�องออก ในที่� น�9ค�อ

attribute Customer_ID แลัะ Name กด้ป็4@ม Choose -> filters->unsupervised-

>attribute->InterquartileRange แลั�วกด้ป็4@ม Apply

Page 36: 1 weka introducing

Memory Error

ซึ่อฟ้ต่,แวร, Weka จะที่*าการอ%านข้�อม�ลั ทั้�&งหมดี เข้�าไป็เก1บไว�ในหน%วยความจ*า (memory) ภายในเคร� องก%อน แลั�วจ#งน*าข้�อม�ลัเหลั%าน�9ไป็ป็ระมวลัผลัต่%อไป็

อาจเก!ด้ error ได้� เน� องจากหน%วยความจ*าไม%พิอการค*านวณข้นาด้ข้องหน%วยความจ*าที่� ต่�องใช้� ค*านวณได้�จากApprox_mem = number of attributes * number

of instances * 8ต่�วอย%างเช้%น ข้�อม�ลั 10000000, , instances ม�

10 attributes จะต่�องใช้�หน%วยความจ*า = 10,000,000*10*8 = 800,000,000 = 800 MB

Page 37: 1 weka introducing

Memory Error

ให�ที่*าการสร�างข้�อม�ลัต่�วอย%าง โด้ยการกด้ป็4@ม Gernerate… เลั�อก numExamples เป็�น 1000000, , แลั�วกด้ป็4@ม

Gernerateเม�าส, Click เพิ� อแก�ไข้ parameters

Page 38: 1 weka introducing

Memory Error

จะป็รากฎหน�าต่%างด้�งน�9

Page 39: 1 weka introducing

Memory Error

ที่*าการเพิ! มข้นาด้โด้ยการแก�ไข้ในไฟ้ลั, C:\Program Files\Weka-3-6\RunWeka.ini

ที่*าการเป็ลั� ยน maxheap ให�มากข้#9น แต่%ไม%เก!นข้นาด้ข้องหน%วยความจ*าภายในเคร� อง