Anda di halaman 1dari 118

Present to

Dr. Wannapa (Kay) Mahamaneerat

By
Group 10 (DTM#2)
• เปิ ดตัว
Version
แรกของ WEKA
คือ version
2.1
 WEKA ย่อมาจาก Waikato Environment for
Knowledge Analysis
 WEKA เป็ น Software free ท่ีสามารถ download
ภายใต้ GNU General Public License
 เขียนโดยใช้ภาษา Java ทัง ้ หมด
 สร้างขึน
้ มาโดยเน้นกับ การเรียนรู้ดว้ ยเคร่ ือง (Machine
Learning) กับการทำาเหมืองข้อมูล
 มีโมดูลย่อยสำาหรับจัดการข้อมูล

 ใช้ Graphic User Interface / GUI


และคำาสัง่ในการสัง่ให้ Software ประมวลผล
 การพัฒนาของ WEKA
 Version เร่ิมต้น

 เป็ น Non-Java เป็ น TCL/TK front-end


ในการสร้างแบบจำาลองและทฤษฎีท่ีนำาไปใช้กับโปรแ
กรมภาษาอ่ ืนๆ รวมทัง้การจัดเตรียมข้อมูลในภาษา
C และ Make file based System สำาหรับการ
Run Machine Learning Experiments
ใช้ในการวิเคราะห์ข้อมูลด้านการเกษตร
 ตัง
้ แต่ Version 3
 เป็ น Fully-Java โดยเร่ิมพัฒนาในปี 1997
ปั จจุบันนำาไปใช้ประโยชน์ในสาขาอ่ ืนๆ
ทัง้ด้านการศึกษาและวิจัย
 สามารถ run บน Hardware และ OS ทัว่ๆไป เน่ ืองจาก
WEKA พัฒนามาจาก Java

 โปรแกรม WEKA ติดตัง้ง่าย โดย สามารถ download ได้ท่ี


http://www.cs.waikato.ac.nz/ml/weka/
 โปรแกรมเป็ นแบบ Self-installer
สามารถทำาตามขัน
้ ตอนการติดตัง้จนเสร็จสิน
้ การติดตัง้
1.เป็ น Free ware ท่ีสามารถ download ได้ภายใต้ GUN
(General Public License) และสามารถเข้าถึง source
code เพ่ ือนำาไปพัฒนาต่อยอดได้
2. สามารถใช้รว่ มกับโปรแกรมอ่ ืนๆ ได้ง่าย เพราะเขียนด้วยภาษา
Java ดังนัน ้ จึงสามารถ Run ได้บนทุกๆ Platform
และมีเคร่ ืองมือในการเช่ อ
ื มต่อ SQL Database โดยใช้ Java
Database connectivity และสามารถสืบค้นข้อมูลจาก
3. สามารถ convert
database query ได้ข้อมูลผ่าน database link ไปเป็ น
flat file format ท่ีเหมาะสมกับการ process ใน WEKA

4. ได้รวบรวมชุดเคร่ ืองมือในการทำา data preparation


และ เทคนิคการสร้าง Model
6. มีWEKA
5. ลักษณะการใช้
สามารถรั งานง่
บมืาอยกับ
เน่ข้ือองจากมี
มูลท่ีมีขGUI ท่ีใช้สำาหรับผูเ้ ร่ิมต้น
นาดใหญ่
ซ่ ึงสามารถวิเคราะห์บน remote machine หรือ server
หลายเคร่ ืองทำาพร้อมๆ กัน (WEKA Server) Technology
นีเ้รียก “Grid WEKA” ซ่ ึงง่ายต่อการ setup และใช้
resource จาก server หลายๆ เคร่ ือง ชิน ้ งานต่างๆ จะถูก
process แยกอยู่บน server แต่ละเคร่ ืองท่ีมี CPU
หลายตัวในการ processing
7. โปรแกรม WEKA
มีอัลกอริทึมท่ีรู้จก
ั กันดีของการทำาดาต้าไมน์น่ิงให้เลือกใช้อย่างค
รบถ้วน และสามารถเขียนฟั งก์ชันเพ่ิมเข้าไปในโปรแกรมเองได้
 Simple CLI  โปรแกรมรับคำาสัง่การทำางานผ่า
(Command Line นการพิมพ์
Interface)
 Explorer  โปรแกรมท่ีออกแบบในลักษณะ
 Experimenter GUI
 โปรแกรมท่ีออกแบบการทดลอง
 KnowledgeFlow และการทดสอบผล
 ArffViewer  โปรแกรมออกแบบผังการไหลข
องความรู้
 Log  โปรแกรมท่ีใช้สำาหรับแก้ไขแฟ้ ม
ประเภท Arff
 โปรแกรมท่ีใช้อ่านข้อความบันทึ
กเก็บระหว่างการทำางาน
เลือกวิธีการ
ขัน
้ ตอนวิธี
ตัวแบบ และพารามิเตอ
ร์
ประมวลผล
Filter
ท่ีเหมาะสม
เลือก Target
table ในรูป
ข้อมูล
ARFF
 แฟ้ มข้อมูลท่ีรบั ต้องอยู่ในรูปแ
บบ ASCII อาจเป็ น arff,
csv, C45
 ในกรณีแฟ้ มข้อมูลอยู่ในเครือ
ข่ายผู้ใช้สามารถเรียกใช้โดยอา
ศัย URL
 หรืออาจใช้ข้อมูลท่ีอยู่ในฐานข้
อมูลท่ีเช่ ือมโยงผ่าน JDBC
 ARFF = Attribute-Relation File Format
 เก็บโดยใช้ ASCII
 @relation name
เป็ นบรรทัดท่ีบอกช่ ือตารางข้อมูลเชิงสัมพันธ์
 @attribute att-name type
เป็ นบรรทัดท่ีบอกช่ ือลักษณะประจำาและชนิด
 numeric หรือ real หมายถึงลักษณะประจำาเก็บเป็ นตัวเลข
 (v1, v2, …, vn) หมายถึงลักษณะประจำาเก็บค่าไม่ต่อเน่ ือง

 @data เป็ นบรรทัดท่ีบอกถึงแถวท่ีตามมาจะเป็ นข้อมูล


แถวละหน่ ึงระเบียนเรียงตามลักษณะประจำาท่ีบอกไว้ข้างต้
น คัน
่ ด้วยคอมมา
@data
@relation weather
sunny,85,85,FALSE,no
@attribute outlook
{sunny, overcast, rainy} sunny,80,90,TRUE,no
@attribute temperature overcast,83,86,FALSE,yes
real rainy,70,96,FALSE,yes
@attribute humidity real rainy,68,80,FALSE,yes
@attribute windy {TRUE, rainy,65,70,TRUE,no
FALSE} overcast,64,65,TRUE,yes
@attribute play {yes, no} 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
รายการของ
ลักษณะประ
จำาท่ีเลือกได้

สรุปค่าสถิติ
ของลักษณะ
กราฟหน่ ึงตัวแปรขอ ประจำาท่ถ
ี ูกเ
งลักษณะประจำาท่ถี ูก ลือก
เลือกไว้
 จำานวนลักษณะประจำาท่ีมีทัง้หมด 5
ตัวเรียงตามลำาดับดังนี้
outlook, temperature, humidity, windy,
play
 มีจำานวนระเบียนทัง ้ หมด 14 ระเบียน
 สำาหรับลักษณะประจำา outlook
เป็ นลักษณะประจำาประเภท Nominal
ท่ีพิจารณาไม่มีข้อมูลในระเบียนท่ีขาดหายไป
มีค่าท่ีแตกต่างกันทัง้หมด 3 ค่า
ซ่ึงแต่ละค่าไม่มีเพียงค่าเดียวเลย
 ค่าของลักษณะประจำาคือ sunny มี 5 ระเบียน
overcast มี 4 ระเบียน rainy มี 5 ระเบียน
 ใช้โปรแกรมในการสร้าง text file ใดก็ได้ เช่น notepad
 บรรทัดแรกให้ใส่ @relation relation_name
 บรรทัดถัดมาให้ใส่ลักษณะประจำาเรียงตามลำาดับ

@attribute att_name value


 ได้ @data
ข้อมูลใส่เรียงตามลำาดับการปรากฏของลักษณะประจำา
@data
1,2,3,4
 ใช้โปรแกรมในการสร้าง text file ใดก็ได้ เช่น notepad
 บรรทัดแรกให้ใส่ @relation relation_name
 บรรทัดถัดมาให้ใส่ลักษณะประจำาเรียงตามลำาดับ

@attribute att_name value


 ได้ @data
ข้อมูลใส่เรียงตามลำาดับการปรากฏของลักษณะประจำา
@data
1,2,3,4
ID,SEX,PASS/FAIL,Score,C
lass
1,M,Pass,45.5,B
2,F,Pass,56.78,B
3,M,Pass,89,A
4,F,Pass,77,A
5,M,Fail,32,C
6,F,Fail,12,D
7,M,Fail,35,C
8,F,Pass,62,B
9,M,Pass,68,B+
10,F,Fail,10,D
 สถิติหน่ึงตัวแปร (Univariate Statistic)
เป็ นการวิเคราะห์สถิติท่ีใช้เพียงหน่ึงลักษณะประจำา = ตัวแปร
ประกอบด้วย
 ช่ ือของลักษณะประจำา
 ชนิดของลักษณะประจำา มีเพียงสองชนิดคือ Nominal หรือ
Numeric
 จำานวนข้อมูลท่ีขาดหายไปเทียบเป็ นเปอร์เซ็นต์กับจำานวนข้อมูลทัง
้ หม

 ค่าท่ีแตกต่างกันทัง ้ หมดในลักษณะประจำา
 ค่าท่ีมีเพียงค่าเดียว คิดเป็ นเปอร์เซ็นต์เทียบกับค่าทัง
้ หมด
 ช่ ือลักษณะประจำา SEX
 ชนิดของค่าของลักษณะประจำาเป็
น Nominal
 ในลักษณะประจำานีไ้ม่มีค่าท่ีหายไ

 ค่าท่ีแตกต่างกันมีเพียงสองค่าคือ
M กับ F
 ค่าท่ีเป็ น M มีจำานวน 5 ตัว
 ค่าท่ีเป็ น F มีจำานวน 5 ตัว
 ค่าท่ีไม่ซ้ำาไม่มี
 ช่ ือลักษณะประจำา Score
 ชนิดของค่าของลักษณะประจำาเป็ น Numeric

 ในลักษณะประจำาไม่มีข้อมูลท่ีขาดหายไป

 จำานวนค่าท่ีแตกต่างกันทัง ้ หมดมี 10 ตัว


 ค่าแต่ละตัวมีเพียงหน่ ึงเดียว (ไมมีค่าท่ีซ้ำากันเลย)
 ค่าต่ำาสุดMinimum = 10
 ค่าสูงสุด Maximum = 89
 ค่าเฉล่ียเลขคณิต Mean = 48.728
 ส่วนเบ่ียงเบนมาตรฐาน StdDev = 26.585
 ซอฟต์แวร์ WEKA
สามารถแสดงกราฟในมุมมองของแต่ละลักษณะประจำาโดยใช้กร
าฟแท่ง โดยกดท่ี Visualize all
 ซอฟต์แวร์ Weka
แสดงกราฟระหว่างลักษณะประจำาสองลักษณะแถบ
Visualize
 กราฟดังกล่าวเรียกว่า Scatter plot
ซ่ึงแต่ละจุดแสดงระเบียนหน่ึงระเบียน
แต่ละแกนแทนค่าของลักษณะประจำาแต่ละค่า
 เราปรับขนาดของกราฟโดยเปล่ียน PlotSize
และเปล่ียนขนาดของจุด โดยเปล่ียน PointSize แล้วกดป่ ุม
Update
 สีของจุดส่ ือแต่ละคลาสท่ีปรากฎในข้อมูล
 ซอฟต์แวร์ Weka
สามารถเลือกแสดงกราฟของสองลักษณะประจำาคู่ใดๆ
 กดป่ ุม Select Attributes

 แล้วเลือกเฉพาะลักษณะประจำาท่ีต้องการพิจารณา (กด Ctrl


ระหว่างเลือก)
 กดป่ ุม Update
 ซอฟต์แวร์ Weka คำานวณหาสมการถดถอยเชิงเส้น
เฉพาะลักษณะประจำาท่ีเป็ นจำานวน
 นำาข้อมูลเข้าซอฟต์แวร์ Weka
 เลือกแถบ Classify
 ในกลุม่ ของโมดูล Classifier กด Choose เลือกฟั งก์ชัน
(Functions) แล้วเลือก LinearRegression
 เปล่ียน Test Option ให้ Use Training Set
 เลือกลักษณะประจำาใต้กล่อง Test Option เฉพาะท่ีมี (Num)
ข้างหน้า
 กด Start
 ผลลัพธ์จะแสดงในกล่อง Classifier Output
 ในกรณีท่ีลักษณะประจำาท่ีต้องการไม่ใช่จำานวน ให้ใช้
Logistic Regression
 นำาข้อมูลเข้าซอฟต์แวร์ Weka
 เลือกแถบ Classify
 ในกลุม่ ของโมดูล Classifier กด Choose
เลือกฟั งก์ชัน (Functions) แล้วเลือก Logistic
 เปล่ียน Test Option ให้ Use Training Set
 เลือกลักษณะประจำาใต้กล่อง Test Option เฉพาะท่ีมี
(Nom)
 กด Start
 ผลลัพธ์จะแสดงในกล่อง Classifier Output
 ตัวกรอง (Filters) รวบรวมโมดูลในขัน
้ การเตรียมข้อมูล
 ตัวกรองแบ่งออกเป็ นสองลักษณะ คือ
 Supervised
รวมโมดูลท่ีแปลงข้อมูลแบบอัตโนมัติท่ีมีการควบคุมด้วยพารามิเ
ตอร์ทีผู้ใช้กำาหนด แบ่งเป็ นสองหมวดใหญ่คือ ลักษณะประจำา
(attribute) กับข้อมูลแต่ละระเบียน (instance)
 Unsupervised รวมโมดูลท่ีแปลงข้อมูลท่ีผู้กำาหนดเอง
แบ่งเป็ นสองหมวดใหญ่คือ ลักษณะประจำา (attribute)
กับข้อมูลแต่ละระเบียน (instance)
 ลักษณะประจำา (Attribute)
 AttributeSelection
 ตัวกรองท่เี ลือกลักษณะประจำาท่น
ี ำามาวิเคราะห์แบบอัตโนมัติ
โดยผู้ใช้กำาหนดตัวประเมินในกล่อง evaluator
และวิธกี ารค้นในกล่อง search
 ClassOrder
 ตัวกรองเรียงลำาดับคลาส โดยผู้ใช้กำาหนดการเรียงในกล่อง
classOrder และ seed
 Discretize
 ตัวกรองแปลงค่าต่อเน่ อ
ื งให้ไปเป็ นค่าท่ไี ม่ต่อเน่ อ
ื ง
โดยผู้ใช้เลือกลักษณะประจำาท่ตี ้องการเปล่ียนในกล่อง
attributeIndicates และผู้ใช้กำาหนดตัวเลือก
 NorminalToBinary
 ตัวกรองแปลงค่า Nominal ให้เป็ นค่า Binary
โดยผู้ใช้กำาหนดค่าตัวเลือก
 ลักษณะระเบียน (Instance)
 Resample
 ตัวกรองท่ใี ช้สุ่มเลือกตัวอย่าง โดยมีการสุ่มแบบแทนค่ากลับคืน
โดยผู้ใช้กำาหนดค่าจำานวนตัวอย่างในกล่อง sampleSizePercent
 SpreadSubsample
 ตัวกรองท่ใี ช้สุ่มเลือกตัวอย่างทีมีการกำาหนดสัดส่วนการกระจาย
โดยผู้ใช้กำาหนดค่าการกระจายในกล่อง distributionSpread
 StratifiedRemoveFolds
 ตัวกรองท่ใี ช้สุ่มเลือกกลุ่มตัวอย่างออกเป็ นชุด fold
โดยผู้ใช้กำาหนดตัวเลือก
 ลักษณะประจำา  ลักษณะประจำา  ลักษณะประจำา
(Attribute) (Attribute) (Attribute)
 Add  KernelFilter  PropositionalToMul
 AddCluster  MakeIndicator tiInstance
 AddExpression  MathExpression  RandomProjection
 AddID  MergeTwoValues  RandomSubset
 AddNoise  MultiInstanceToPro  RELAGGS
 AddValues positional  Remove
 Center  NominalToBinary  RemoveType
(unsupervised)  RemoveUseless
 ChangeDateForma
t  NominalToString  Reorder
 ClassAssigner  Normalize  ReplaceMissingVal
(attribute) ues
 ClusterMembershi
p  NumericCleaner  SortLabels
 Copy  NumericToBinary  Standardize
 Discretize  NumericToNominal  StringToNominal
(unsupervised)  NumericTransform  StringToWordVecto
 EMImputation  Obfuscate r
  
 แสดงความสัมพันธ์ของเหตุการณ์หรือวัตถุ
ท่ีเกิดขึ้นพร้อมกัน
 ใช้กบั Market Basket Analysis
 กฏบ่งบอกพฤติกรรมการซ้ือของลูกค้า

 โดยทัว ่ ไปใช้กับฐานข้อมูลเชิงสัมพันธ์ท่ีบันทึกเป็ น
Transaction
โดยท่ีแต่ละระเบียนคือการซ้อ ื สินค้าในหน่ึงครัง้
 ผลลัพธ์ท่ีต้องการได้คือ
กฏแสดงความสัมพันธ์ของการซ้ือสินค้าต่างชนิดกันโดยไม่ขึ้
นอยู่กับลูกค้าคนใดคนหน่ึง
การเตรียมแฟ้ มข้อมูล
 ลักษณะประจำาของสินค้าคือช่ ือสินค้าท่ีพิจารณา

 ลักษณะประจำาตัวแรกคือรหัสการซ้ือสินค้า TID
ท่ีไม่นำามาใช้ในการวิเคราะห์
ใช้เพ่ ือการเช่ ือมโยงกลับไปยังฐานข้อมูลเร่ิมต้นเท่านัน้
 ค่าในลักษณะประจำาเป็ น Boolean
ข้อมูล ที ่นำำ มำ ใช
เช่นกำาหนดค่าท่ีเป็ นไปได้คือ y แทนการใช้ตัวเลข 1

 ตัวอย่าง การซ้อ ื T100,I1,I2 เขียนเป็ น T100, 1, 1, ?,
?, ?
ในซอฟต์แวร์ Weka สัญลักษณ์ ? แทนค่าท่ีหายไป
(missing value)
o ปรับค่ำ min support ในกล่อง lowerBoundMinSuport เช่น 0.2
(หมำยถึงค่ำสนับสนุนตำ่ำสุด 20%)
oปรับค่ำ min confidence ในกล่อง minMetric โดย metricType เป็น
Confidence เช่น 0.5 (หมำยถึงค่ำควำมเชื่อมัน่ ตำ่ำสุด 50%)
ตัวแบบ
o ปรับจำำนวนกฎที่แสดงผลในกล่อง numRules เช่น 100
 ความหมายของกฎท่ี 1:การซ้อ ื สินค้าของลูกค้าท่ีมีสินค้า
I5 แล้วจะมีสินค้า I1 เสมอ
 ความหมายของกฎท่ี 2:การซ้อ ื สินค้าของลูกค้าท่ีมีสินค้า
I4 แล้วจะมีสินค้า I2 เสมอ
 การทำาเหมืองข้อมูลแบบกฎเช่ ือมโยงสามารถนำาไปใช้กบ
ั ข้
อมูลท่ีไม่ใช่ transaction ได้
โดยใช้การเข้ารหัสของลักษณะประจำาเป็ นชนิด
Nominal หรือ Ordinal
 ซอฟต์แวร์ Weka ใช้การเข้ารหัส dummy coding
คือซอฟต์แวร์จะแปลงค่าของ Nominal หรือ Ordinal
หน่ึงค่าแทนด้วยตัวแปรทวิภาค เช่น
 ลักษณะประจำา outlook มีค่าท่ีเป็ นไปได้คือ
overcast, sunny, rainy
แล้วตัวแปรทวิภาคเขียนได้เป็ น outlook =
overcast, outlook = sunny, outlook =
rainy
ผลลัพธ์ท่ีได้จาก
weather.nominal.ar
ff
 ความหมายของกฎท่ี 1:ถ้าสภาพอากาศเป็ น overcast
แล้ว play = yes เสมอ
 ความหมายของกฎท่ี 2:ถ้าอุณหภูมิเป็ น cool
แล้วความช้ืนจะปรกติ (narmal) เสมอ
 ความหมายของกฎท่ี 3:ถ้าความช้น
ื ปรกติและไม่มีลม
windy = FALSE แล้ว play = yes เสมอ
 แฟ้ มข้อมูลท่ีถูกนำามาใช้ในการวิเคราะห์ต้องประกอบด้วย
ลักษณะประจำาท่ีเป็ น Nominal หรือ Ordinal เท่านัน ้
 ข้อมูลในลักษณะ transaction เป็ นข้อมูล Nominal
และการไม่ซ้ือใช้? (missing value) แทน
 TID, atri_1, attri_2,…, attri_n

 เม่ ือ TID แทนรหัสการซ้ือและแต่ละ attri_i มีค่า y


หรือ ?
 เลือก Associate และใช้ Apriori ใต้ Associator

 ปรับค่าพารามิเตอร์ min support กับ min


confidence และ numRules
ท่ีต้องการแล้วสัง่ให้ประมวลผล
 เป็ นการสร้างตัวแบบ Classification
ท่ีสามารถแบ่งแยกข้อมูล
ออกตามลักษณะเป้ าหมายท่ีกำาหนด
เพ่ ือระบุประเภทของข้อมูล
 ตัวแบบท่ีต้องการอาจเป็ น
 Bayes ตัวแบบเชิงความน่าจะเป็ น
 Functions ตัวแบบในรูปของฟั งก์ชัน
 Lazy ตัวแบบท่ีเก็บตัวอย่าง
การตัดสินใจเกิดเม่ ือตัวอย่างใหม่ถก ู นำาเข้าเท่านัน

 Meta การทำาตัวแบบให้ดีขึ้น โดยการเรียนรู้ข้อมูลเมตา
 Misc วิธกี ารสร้างตัวแบบวิธอ ี ่ ืน
 Trees วิธก ี ารสร้างตัวแบบโดยใช้ต้นไม้
 Rules วิธก ี ารสร้างตัวแบบโดยใช้กฏ
ลักษณะประจำาเป้าหมาย
เป็ นลักษณะประจำาสุดท้ายใน
ตาราง

ตัวอย่างมีทัง้หมด 14
ตัวอย่าง
และมีลักษณะประจำาท่ีไม่ใ
ช่ลักษณะประจำาเป้าหมาย
4 ตัว
 กำาหนดลักษณะประจำาเป้ าหมายให้เป็ นลักษณะประจำาสุด
ท้าย
 เลือกวิธีการสร้างตัวแบบโดยใช้ต้นไม้
ดังนัน
้ ต้องเปล่ียนลักษณะประจำาท่ีมีค่าต่อเน่ ืองให้เป็ นลัก
ษณะประจำาท่ีมีค่าไม่ต่อเน่ ือง
 กรณีท่ีมีระเบียนน้อย อาจใช้ k-fold cross
validation หรือ leave-one-out
 กรณีท่ีมีระเบียนมาก ควรแบ่งกัน ้ ระเบียนบางส่วนเป็ น
validation, test data และท่ีเหลือนำามาใช้เป็ น
training data สัดส่วนท่ีใช้อาจเป็ น 3/10 กับ 4/10
 เร่ิมการทำางานของ WEKA โดยเปิ ด โมดูล Explorer
 เปิ ดแฟ้ ม weather.nominal.arff

 แปลงลักษณะประจำาท่ีมีค่าต่อเน่ ืองเป็ น

ลักษณะประจำาท่ีมีค่าไม่ต่อเน่ ืองโดย
ใช้ filter ก่อนเลือกแถบ Classify
Outlook
มีค่าต่างกัน 3 ค่า
temperature
มีค่าต่างกัน 3 ค่า
humidity
มีค่าต่างกัน 2 ค่า
windy มีค่าต่างกัน
2 ค่า
ผู้ใช้เลือกปุ่ม choose ใต้
classifiers
เลือกปุ่ม classifiers
เลือกต้นไม้ trees
เลือกขัน
้ ตอนวิธี Id3
ผู้ใช้กำาหนดเลือก use training
set
เพ่ อ
ื ใช้ทุกตัวอย่างในการสร้างต้นไม้
ผู้ใช้เลือกลักษณะปประจำาเป้าหมาย
ท่ีต้องการ
โดยปกติลักษณะประจำาสุดท้ายจะถู
กเลือก
ผู้ใช้กดปุ่ม Start
เพ่ ือเร่ิมสร้างต้นไม้
รายงานผลลัพธ์ของตัวแ
บบ กับข้อมูล
training

Confusion
matrix แสด
งค่าท่ีได้จากตัวแบบ
(ด้านบน) กับค่าจริง
(ด้านล่าง)
ผลลัพธ์ท่ีดีต้องไม่มีค่าน
อก diagonal
@data
แฟ้ ม weather.arff sunny,85,85,FALSE,no
@relation weather sunny,80,90,TRUE,no
@attribute outlook overcast,83,86,FALSE,yes
{sunny, overcast, rainy,70,96,FALSE,yes
rainy} rainy,68,80,FALSE,yes
@attribute temperature rainy,65,70,TRUE,no
real overcast,64,65,TRUE,yes
@attribute humidity real sunny,72,95,FALSE,no
@attribute windy sunny,69,70,FALSE,yes
{TRUE, FALSE} rainy,75,80,FALSE,yes
@attribute play {yes, sunny,75,70,TRUE,yes
no} overcast,72,90,TRUE,yes
overcast,81,75,FALSE,yes
rainy,71,91,TRUE,no
 การเปล่ียนลักษณะประจำาให้เป็ น
ค่าไม่ต่อเน่ ือง
 เลือก Discretize ในกล่อง
Filter โดยเลือก filter
unsupervised
attribute
 ปรับค่าในกล่อง bins
ให้เหมาะสม เช่นกำาหนดให้เป็ น
3 กล่อง
 กดป่ ุม OK

 แล้วกด Apply
 ผลท่ีได้จากแปลงเป็ นค่าไม่ต่อเน่ ือง
 เลือก Id3 ในกล่อง Classify
ใต้แถบ Classify โดย
classifiers trees Id3
 เลือก Use Training set
ในกล่อง Test option
 กดป่ ุม Start

 จะได้ผลลัพธ์ดังรูปด้านซ้าย
 เลือก J48 ในกล่อง
Classify ใต้แถบ
Classify โดย
classifiers trees
J48
 เราไม่จำาเป็ นต้องเปล่ียนลักษ
ณะประจำาให้เป็ นชนิดท่ีมีค่าไ
ม่ต่อเน่ ือง
 เลือก Use Training set
ในกล่อง Test option
 กดป่ ุม Start

 จะได้ผลลัพธ์ดง ั รูปด้านซ้าย
 ต้นไม้การตัดสินใจดังกล่าวสามารถจำาแนก play
ถูกต้อง 100%
=== Confusion Matrix ===
a b <-- classified as
9 0 | a = yes
0 5 | b = no
 ตัวแบบการทำาเหมืองข้อมูลแบบจำาแนกประเภท
 Bayes ใช้หลักของเบย์หรือตัวแบบเชิงความน่าจะเป็ น
 Functions ตัวแบบในรูปของฟั งก์ชัน
 Lazy ตัวแบบท่ีการตัดสินใจเกิดเม่ ือตัวอย่างใหม่ถูกนำาเข้า
 Meta ตัวแบบเมตา
 Misc วิธกี ารสร้างตัวแบบวิธีอ่น

 Trees ตัวแบบในรูปต้นไม้
 Rules ตัวแบบในรูปกฎ
 เร่ิมการทำางานของซอฟต์แวร์ Weka เปิ ดโมดูล Explorer
 เปิ ดแฟ้ ม Weather.nominal.arff

 แปลงลักษณะประจำาท่ีมีค่าต่อเน่ ืองเป็ นลักษณะประจำาท่ีมีค่


าไม่ต่อเน่ ืองโดยใช้ Filter ก่อนเลือกแถบ Classify
 ผู้ใช้เลือกป่ ุม
choose ใต้
classifiers
 เลือกป่ ุม
classifiers
 เลือก bayes

 เลือกขัน ้ ตอนวิธี
NaïveBayesSim
ple
ผู้ใช้กำาหนดเลือก use training
set
เพ่ ือใช้ทก ุ ตัวอย่างในการสร้างตัวแบ
ผู้ใช้เลือกลักษณะปประจำ
บของเบย์ าเป้าหมาย
ท่ีต้องการ
โดยปกติลักษณะประจำาสุดท้ายจะถู
กเลือก
ผู้ใช้กดป่ ุม Start
เพ่ ือเร่ิมสร้างตัวแบบของเบย์
รายงานผลลัพธ์ของตัวแ
บบ กับข้อมูล
training

Confusion
matrix แสด
งค่าท่ีได้จากตัวแบบ
(ด้านบน) กับค่าจริง
(ด้านล่าง)
ผลลัพธ์ท่ีดีต้องไม่มีค่าน
อก diagonal
 ตัวแบบของเบย์ท่ีได้สามารถจำา === Confusion Matrix
แนก play ได้ถูกต้อง ===
92.8571% a b <-- classified as
มีการจำาแนกผิดเพียง 1 9 0 | a = yes
ตัวอย่าง 1 4 | b = no
 สมมติว่าเราพบข้อมูล (outlook=sunny,
temperature=mild,humidity=normal,
windy=TRUE)
Pr(X|play=yes)·Pr(play=yes) =
Pr(outlook=sunny|
play=yes)·Pr(temperature=mild|play=yes)·
Pr(humidity=normal|play=yes)
·Pr(windy=TRUE|play=yes)· Pr(play=yes) =
0.25·0.41667·0.63636·0.3636·0.625 =
0.015064
Pr(X|play=no)·Pr(play=no) =
Pr(outlook=sunny|
play=no)·Pr(temperature=mild|play=no)·
 ในกรณีค่าความน่าจะเป็ นบางช่วงเป็ นศูนย์
เราพบว่าหลักการของเบย์อาจไม่สามารถเลือกค่าของคลาสเป้
าหมายท่ีต้องการได้
เพราะเม่ ือนำาความน่าจะเป็ นศูนย์คูณด้วยตัวเลขใดๆ
ก็จะได้ค่าศูนย์
 วิธีการแก้ปัญหาใช้ Laplace Estimator กล่าวคือ
การบวกหน่ึงหน่วยเข้าในทุกค่าของตารางความถ่ี
ก่อนการประมาณความน่าจะเป็ น
 หลักการดังกล่าวถูกใช้ใน NaiveBayes
Class yes: P(C) = 0.63
outlook: Discrete Estimator. Counts = 3 5 4 (Total
= 12)
temperature: Discrete Estimator. Counts = 3 5 4
(Total = 12)
humidity: Discrete Estimator. Counts = 4 7 (Total
= 11)
windy: Discrete Estimator. Counts = 4 7 (Total =
11)
Class no: P(C) = 0.38
outlook: Discrete Estimator. Counts = 4 1 3 (Total
= 8)
temperature: Discrete Estimator. Counts = 3 3 2
(Total = 8)
humidity: Discrete Estimator. Counts = 5 2 (Total
= 7)
windy: Discrete Estimator. Counts = 4 3 (Total =
7)
 การทำาเหมืองข้อมูลแบบจำาแนกประเภทใช้หลักของเบย์
ใข้การสร้างตารางความถ่ี
แล้วประมาณเป็ นความน่าจะเป็ นแบบมีเง่ ือนไข
 NaiveBayesSimple
คือการใช้ความน่าจะเป็ นแบบมีเง่ ือนไข
โดยท่ีสมมุติว่าลักษณะประจำาแต่ละลักษณะประจำาเป็ นอิสระ
ต่อกัน
 NaiveBayes
เป็ นการคำานวณหาค่าความน่าจะเป็ นแบบมีเง่ ือนไขโดยใช้
Laplace estimator (เติมหน่ึงหน่วยในตารางความถ่)ี
 การกำาหนดคลาสของตัวอย่างจากตัวแบบ NaiveBayes
คำานวณโดยหาค่าความน่าจะเป็ นของคลาสท่ีมากท่ีสด ุ
 เร่ิมการทำางานของซอฟต์แวร์ WEKA เปิ ดโมดูล Explorer
 เปิ ดแฟ้ ม weather.arff

 ตัวแบบเครือข่ายประสาทสามารถรับลักษณะประจำาท่ีมีค่าต่อ
เน่ ืองและค่าไม่ต่อเน่ ืองได้เลือกแถบ Classify
o จากผลลัพธ์ของตัวแบบเครือข่ายประสาท
เราพบว่าผลลัพธ์ท่ีได้คือค่าถ่วงน้ำาหนัก
การใช้งานผู้ใช้ต้องเปล่ียนค่าของตัวแปรนำาเข้าทัง้หมดเป็
นจำานวน
แล้วคำานวณค่าผลรวมของค่าถ่วงน้ำาหนักท่ีได้กบ ั ค่าของตั
วแปรนำาเข้า ผ่านฟั งก์ชันขอบแล้ว ส่งต่อไปจนถึง
Output node
o การคำานวณดังกล่าวมักมีความยุ่งยาก
เพ่ ือให้ผู้ใช้ซอฟต์แวร์ WEKA สามารถนำาตัวแบบไปใช้ได้
ผู้ใช้ต้องบันทึกตัวแบบ
แล้วใช้ตัวแบบกับแฟ้ มตัวอย่างกำาหนด
o หลังจากบันทึกตัวแบบเครือข่ายประสาท
ผู้ใช้ต้องการทดสอบโดยเตรียมข้อมูล Test data
o ขัน้ ตอนในการทดสอบข้อมูล Test data
• ใช้ซอฟต์แวร์ WEKA เปิ ด Test data
• เลือก classify
• กดเมาส์ขวาท่ีกล่อง Result list เลือก Load
model
• เลือก Supplied test set เปิ ดแฟ้ ม Test
data
•กดเมาส์ขวา เลือก Re-evaluate model on
current test set
o
ผู้ใช้สามารถดูผลลัพธ์ท่ีทำานายเปรียบเทียบกับคลาสเป้ าหมาย
โดยใช้ ArffViewer
o ลักษณะประจำาท่ีได้จากการทำานายจะขึ้นด้วยคำาว่า
Predicted แล้วตามด้วยช่ ือคลาสเป้ าหมาย เช่น
คลาสเป้ าหมายช่ ือ class ได้คลาสทำานายช่ ือ
predictedclass
o
ขัน
้ ตอนวิธีการทำาเหมืองข้อมูลแบบจำาแนกประเภทโดยใช้เครือ
ข่ายประสาทในซอฟต์แวร์ WEKA คือ
MultiLayerPerceptron
oการเรียนรูท ้ ่ีเกิดขึ้นคือ
การหาค่าถ่วงน้ำาหนักของเครือข่ายประสาทท่ีเช่ ือมจาก Input
Layer ไป Hidden Layer ไป Output Layer
oปรกติผลลัพธ์ท่ีได้ของเครือข่ายประสาทจะมีประสิทธิภาพดี
ผู้ใช้ต้องมีการเลือกพารามิเตอร์ท่ีเหมาะสม เช่น Hidden
nodes, learning rate, momentum, training
time
New Layout
สร้างผังการไหลใหม่
Save Layout เก็บผังท่ีสร้างไว้ใน
Knowledge Flow Layout บันทึกลง
แฟ้ มข้อมูลเพ่ อ
ื นำากลับมาใช้ใหม่
Open Layout
เปิ ดแฟ้ มข้อมูลท่ีเก็บผังท่ส
ี ร้างไว้แล้ว
เพ่ อ
ื นำากลับมาใช้ใหม่
Selection เปล่ย ี นเมาส์ให้เป็ นตัวชี้
เพ่ อื เลือกภาพสัญลักษณ์หรือเส้นเช่ ือม
Display help
แสดงข้อความอธิบายการใช้เคร่ ืองมือของผังการไหลข
องความรู้

Stop all execution


หยุดการประมวลผลทุกอย่างท่เี กิดข่ ึน
oDataSources: กำาหนดแหล่งข้อมูลท่ีอ่านเข้าผัง
oDataSinks:
กำาหนดการบันทึกข้อมูลหรือจุดสุดท้ายของกระบวนการ
oFilters: ขัน
้ ตอนการจัดการเตรียมข้อมูล
oClassifiers:
การสร้างตัวแบบและวิธีการในการจัดจำาแนดประเภท
oClusterers: การใช้ขัน้ ตอนวิธีการวิเคราะห์การเกาะกลุ่ม
oAssociations: การใช้ขัน ้ ตอนวิธกี ารหากฎเช่ ือมโยง
oEvaluation: ประเมินและแบ่งเซตข้อมูลออกเป็ นส่วนๆ
oVisualization: สำาหรับแสดงผลลัพธ์ด้วยภาพนามธรรม
oเร่ิมจากเลือกแถบ
DataSources
oเลือกสัญลักษณ์
ArffLoader
เมาส์เปล่ียนเป็ นเครื
่องหมายกากบาท
oกดเมาท์ในบริเวณ
Knowledge
Flow Layout
oกดเมาส์ปุ่มขาท่ี
ArffLoader
เลือก Configure
oเลือกแฟ้ มท่ีช่ือ
weather.arff
oเลือกแถบ
Visualization
oกดเมาท์ท่ี Text
Viewer เมาส์
เปล่ียนเป็ นเคร่ ืองหม
ายกากบาท
oกดเมาท์ปุ่มขวาเพ่ ือ
เช่ ือม ArffLoader
ไปยัง
TextViewer
โดยเลือก dataset
บนเมนูของ
weather.arff
oกดเมาท์ปุ่มขวาท่ี
oหลังจากเลือก
Start loading
ได้รายการ Action
ของ ArffLoader
oช่ ือแฟ้ มท่ีอ่านจะปร
ากฎใต้ภาพ
ArffLoader
oแสดงข้อความโดยเ
ลือก Show
results
ภายใต้รายการใน
TextViewer
โดยกดเมาส์ปุ่มขวา
oผลลัพธ์ท่ีได้แสดงท
oเร่ิมจาก DataSources
โดยใช้ ArffLoader
oเลือก Configure..
แล้วเลือกแฟ้ ม labor.arff
oเลือกแถบ Filters
ท่ีเรียก Replace
Missing Values
เพ่ ือเติมค่าท่ีหายไป
oเลือกแถบ
Visualization แล้วเลือก
TextViewer
เพ่ ือแสดงผลลัพธ์
oเร่ิมจาก
DataSources
โดยใช้ ArffLoader
oเลือก
Configure…
แล้วเลือกแฟ้ ม
lobor.arff
oเลือกแถบ Filters
แล้วเลือก
Discretize
เพ่ ือเปล่ียนตัวแปรท่ีมีค่
าต่อเน่ ืองเป็ นตัวแปรท่ี
มีค่าไม่ต่อเน่ ือง
oเลือก TextViewer
oเร่ิมจาก
DataSources
โดยใช้ ArffLoader
oเลือก
Configure…
แล้วเลือกแฟ้ ม
labor.arff
oเลือกแถบ Filters
ท่ีเรียก Nomalize
เพ่ ือแปลงตัวแปรท่ีมีค่า
ต่อเน่ ืองให้อยู่ในช่วง
[0,1]
oเลือกแถบ
Visualization
oเร่ิมจาก
DataSources
โดยใช้ ArffLoader
oเลือก configure…
แล้วเลือกแฟ้ ม
labor.arff
oเลือกแถบ Filters
ท่ีเรียก
Standardize
เพ่ ือแปลงตัวแปรให้มีค่
าตกอยู่ในช่วงของการ
กระจายแบบปรกติมาต
รฐาน
oเลือกแถบ
oซอฟต์แวร์ WEKA
สามารถแปลงข้อมูลให้
อยู่ในรูปแบบ csv
เพ่ ือนำาไปใช้กบ
ั ซอฟต์แ
วร์อ่ืน เช่น Calc
oเร่ิมจากเลือก
ArffLoader ใน
DataSources
oแปลงข้อมูลให้เหมาะ
สม
oเลือกแถบ
DataSinks
แล้วเลือก CSV
saver
oเลือก
Configure…
ในเมนูของ CSV
saver
oเปล่ียนสถานท่ีท่ีต้อง
การเก็บไปตำาแหน่งท่ีต้
องการเก็บ โดยเพ่ิม
prefix
ให้กับช่ ือแฟ้ มท่ีต้องกา

oเก็บข้อมูลโดยเลือก
Start loading ใน
ArffLoader
oกำาหนดข้อมูลในแฟ้ ม iris.arff
ให้หาตัวต้นไม้การตัดสินใจท่ีดที ่ีสุด โดยใช้ 5 fold
cross-validation กับขัน ้ ตอนวิธี J48
แสดงผลลัพธ์ท่ีได้ในรูปแบบต้นไม้
oแนวทางวางผังการไหล:
DataSource  Evaluation  J48 
Visualization
•เร่ิมจากการอ่านแฟ้ ม iris.arff
•กำาหนดลักษณะประจำาท่ีใช้แทนคลาส
•แบ่งข้อมูลออกเป็ น 5 ส่วนเพ่ ือทำา cross-
validation
•ใช้ขัน
้ ตอนวิธี J48
•แสดงผลลัพธ์
oเลือก
ArffLoader
จากแถบ
DataSource
s
oปรับแต่งให้เลื
อกแฟ้ ม
iris.arff จาก
Configure…
เมนู
oเลือก Class
Assignment
จากแถบ
oเลือก Cross
Validation
FoldMaker
จากแถบ
Evaluation
oปรับแต่งให้มี
จำานวน fold
เท่ากับ 5
oส่งข้อมูล
DataSet จาก
Class
Assigner
o เลือก J48
จากแถบ
Classifiers
o โยงข้อมูลจาก
Cross
Validation
FoldMaker
โดยเลือก
training set
และ test set
โยงไปท่ี J48
o สัง่ให้ขอ
้ มูลนำาเ
ข้า โดยเลือก
oเลือก
Classifiers
PerformanceE
valuators
จากแถบ
Evaluation
oโยงข้อมูลจาก
J48 โดยเลือก
batchClassifie
rs โยงไปท่ี
ClassifiersPerf
ormanceEval
uators
oเลือก Start
Loading จากแถบ
ArffLoader
oรอจนจบ
แล้วเลือก Show
results จาก
TextViewer
oผลลัพธ์ท่ีได้แสดง
ดังรูปซ้ายซ่ึงให้ค่าท่ี
ถูกต้อง 96%
oใน Confusion
Matrix
แสดงผลจากการเปรี
o การออกแบบผังการไหลโดยปรกติ
 DataSource  Filter 
Classifier/Clusterers/Association 
Evaluation  Visualization  DataSinks

o Filter ใช้ในการเตรียมข้อมูล
o Classifier/Clusterers/Association
ใช้ในการสร้างตัวแบบในการทำาเหมืองข้อมูล
o Evaluation ใช้ในการเลือกตัวแบบ
o Visualization
ใช้ในการแสดงผลลัพธ์ของการทำาเหมืองข้อมูล
o DataSinks ใช้ในการเก็บผลลัพธ์

Anda mungkin juga menyukai