Post on 13-Mar-2020
CLASSIFICATION STEPS (1)
ขอมลการเรยนร(Train data)
ขอมลการเรยนร(Train data)
เทคนคClassification
ขอมลทดสอบ(Evaluation)
โมเดลModel
แอทรบวต 1 แอทรบวต 1 แอทรบวต 1
1 0 A
0 1 B
ขนตอนการสรางโมเดล(Classification modelbuilding)
1
แอทรบวต 1 แอทรบวต 2
1 0
คลาสทท านาย
A
คลาสทท านาย
A
ขนตอนการวดประสทธภาพ(Evaluation)
2
เปรยบเทยบผลทไดจากโมเดลและค าตอบจรง
CLASSIFICATION STEPS (2)ขอมลการเรยนร(Trainy data)ขอมลการเรยนร(Trainy data)
เทคนคClassification
ขอมลทดสอบ(Evaluation)
โมเดลModel
แอทรบวต 1 แอทรบวต 1 แอทรบวต 1
1 0 A
0 1 B
ขนตอนการสรางโมเดล(Classification modelbuilding)
1
แอทรบวต 1 แอทรบวต 2
1 0
คลาสทท านาย
A
คลาสทท านาย
A
ขนตอนการวดประสทธภาพ(Evaluation)
2
โมเดลModel
แอทรบวต 1 แอทรบวต 2
1 0
คลาส
Aการใชงานจรง
3 Unseen data
EVALUATION MODEL :SELF CONSISTENCY TEST
การวดประสทธภาพของโมเดลโดยใชขอมลเรยนร training data ใชขอมลเรยนรทงหมดเพอ Evaluate โมเดล (Self Consistency Test) ควรจะไดคาความถกตองทสงหรอเทากบ 100 %
1 2 76
4 35
89 10
Training data
1 2 76
4 35
89 10
Evaluation Data
EVALUATION MODEL :CROSS VALIDATION
การวดประสทธภาพของโมเดลแบบ cross-validation
แบงขอมลเรยนรออกเปน k ชดเทา ๆ กน ใชขอมลสวนทเหลอ (k ‟ 1 ชด) เพอท า การสรางโมเดล เกบขอมลทแบงไว 1 ชด เพอท าการ
Evaluate วนท าซ าจนขอมลทกสวนถกน ามา
ทดสอบ
1 5
2 7
6 8
9
4 3
10
ขอมลชดท 1 ขอมลชดท 2
ขอมลชดท 4ขอมลชดท 3
ขอมลชดท 5
Training data
EVALUATION MODEL :CROSS VALIDATION(2) การวดประสทธภาพของโมเดลแบบ cross ‟ validation ทนยมไดแก
1. 5-fold cross-validation2. 10-fold cross-validation3. Leave ‟ One ‟ Out cross-validation
EVALUATION MODEL :CROSS VALIDATION (3) 5 ‟ fold cross -validation
2 7
9
4 3
10
ขอมลชดท 2
ขอมลชดท 4
ขอมลชดท 3
Training data
1 5
ขอมลชดท 1
Evaluate data
6 8
ขอมลชดท 5
รอบท 1 Accuracy %Accuracy รอบท 1 = 80.74 %
EVALUATION MODEL :CROSS VALIDATION (4) 5 ‟ fold cross -validation
2 7
9
1 5
10
ขอมลชดท 1
ขอมลชดท 4
ขอมลชดท 3
Training data
4 3
ขอมลชดท 2
Evaluate data
6 8
ขอมลชดท 5
รอบท 2 Accuracy %Accuracy รอบท 2 = 82.39 %
EVALUATION MODEL :CROSS VALIDATION (5) 5 ‟ fold cross -validation
4 3
9
1 5
10
ขอมลชดท 1
ขอมลชดท 4
ขอมลชดท 2
Training data
2 7
ขอมลชดท 3
Evaluate data
6 8
ขอมลชดท 5
รอบท 3 Accuracy %Accuracy รอบท 3 = 80.69 %
EVALUATION MODEL :CROSS VALIDATION (6) 5 ‟ fold cross -validation
4 3
2 7
1 5
ขอมลชดท 1
ขอมลชดท 3
ขอมลชดท 2
Training data
9
ขอมลชดท 4
Evaluate data
6 8
ขอมลชดท 5
รอบท 4 Accuracy %Accuracy รอบท 4 = 81.24 %
10
EVALUATION MODEL :CROSS VALIDATION (7) 5 ‟ fold cross -validation
4 3
2 7
1 5
ขอมลชดท 1
ขอมลชดท 3
ขอมลชดท 2
Training data
6 8
ขอมลชดท 5
Evaluate data
9
ขอมลชดท 4
รอบท 5 Accuracy %Accuracy รอบท 5 = 80.72 %
10
EVALUATION MODEL :CROSS VALIDATION (8) คาความถกตองของ Model
overall accuracy = Average(∑ Accuracy)k
i=1 i
EVALUATION MODEL :CROSS VALIDATION (9) Leave-One-Out cross-validation
Training data
1
Evaluate data
รอบท 1
2 76
4 35
89 10
EVALUATION MODEL :CROSS VALIDATION (10) Leave-One-Out cross-validation
Training data
2
Evaluate data
รอบท 2
1 76
4 35
89 10
EVALUATION MODEL :CROSS VALIDATION (11) Leave-One-Out cross-validation
Training data
3
Evaluate data
รอบท 3
1 2 76
45
89 10
EVALUATION MODEL :CROSS VALIDATION (12) Leave-One-Out cross-validation
Training data Evaluate data
รอบท N (N = 10)
1 2 76
4 35 8
9
10
EVALUATION MODEL :SPLIT DATA
การวดประสทธภาพของโมเดลการใชขอมลเรยนรบางสวน แบงขอมลออกเปน 2 สวน สวนท 1 ส าหรบใชในการเรยนร
(training) เปนขอมลสวนใหญ ประมาณ 2 ใน 3 หรอ 66 % ของขอมล เรยนรสวนท 1 ส าหรบใชในการทดสอล(testing) เปนขอมลสวนนอยทเหลอในขอมลเรยนร ประมาณ 1 ใน 3 หรอ 33 % ของขอมล เรยนร
Training data
Evaluate data
1
2
7
64 35
89
1033 %
67 %
EVALUATE STEP 2 (2) ตววดประสทธภาพโมเดล
คาความถกตอง (Accuracy) ส าหรบขอมลประเภท (nominal) คาความคลาดเคลอน(Error) ส าหรบขอมลตวเลข (numeric)
EVALUATE STEP 2 (3) คาความถกตอง (accuracy)
% ของจ านวนขอมลทตอบถก คาทตรงกนระหวางขอมลจรงและขอมลท ท านายได
คาความคลาดเคลอน (error) คาทแตกตางจากคาจรง
คาทคาดเดาได (predicted)- คาจรง
ขอมลจรง ขอมลทท านายได
A A
D D
A D
D A
A A
D D
ขอมลจรง ขอมลทท านายได
10 10
15 16
17 17.1
20 19.8
25 25
30 30
คาความถกตอง = (4/6)x100=66.67%คาความผดพลาดรวม=|15-16|+ |17.1-17|+|20-19.8|=1.3
CLASSIFICATION IN WEKA
เปด Weka > เลอก Explorer > กดปม Open file…. > เลอกไฟล data\weather.arff
CLASSIFICATION IN WEKA (CONT’) คลกท tab Classify
12
3
4
1: CLASSIFIER
เทคนคในการท า classification แบบตาง ๆ Bayes
สรางโมเดลโดยอาศยการค านวณความนาจะเปนของขอมลตาง ๆ
Functions สรางโมเดลโดยอาศยการค านวณทางคณตศาสตร โมเดลเปนรปแบบของสมการ
Lazy ตางจากเทคนค classification แบบอน ๆ ไมมการสรางโมเดลไวกอน ใชขอมลเรยนรเพอจ าแนกประเภทขอมลของขอมลใหมไดเลย
1: CLASSIFIER (CONT’)
เทคนคในการท า classification แบบตาง ๆ Meta
เปนการสรางโมเดลโดยอาศยเทคนคของ Classifications หลาย ๆ เทคนค เพอเพมความถกตองในการจ าแนกประเภทขอมล(classification)หรอคาดเดา (prediction)
Trees สรางโมเดลแบบตนไม (tree) ในการจ าแนกขอมล
(classify) Rules
สรางโมเดลในรปแบบของกฏ
1: CLASSIFIER (CONT’)
คลกทบรเวณชอของเทคนค ปรากฏหนาตางใหก าหนดคา พารามเตอร
ตาง ๆ More เพอดรายละเอยดของพารามเตอร
ตาง ๆ Save...บนทกคาพารามเตอรทเซตไว Open...เปดไฟลทเกบคาพารามเตอรทเซตไว
1: CLASSIFIER (CONT’) เลอกขอมลเพอใชทดสอบ
Use training set ใชขอมลเรยนรทงหมดเพอเปนตวทดสอบ
ประสทธภาพ Supplied test set
ใชขอมลใหม (unseen data) เพอท าการทดสอบโมเดลทสรางขน
Cross-validation ( default 10 folds ) แบงขอมลเรยนรออกเปน k สวนเทา ๆ กน (folds)
เพอใชในการทดสอบ ระบจ านวน k ในชอง Folds
Percentage split แบงขอมลเรยนรออกเปน x % เพอใชในการสราง
โมเดล สวนทเหลอใชเปนขอมลทดสอบ ก าหนดในชอง %
แอตทรบวตทจะใชเปนคลาส(class)ในการจ าแนกประเภทขอมล(ปกตจะเปนแอตทรบวตสดทาย)
3: RESULT LIST
แสดงผลการท างานครงกอน ๆ แสดงเวลา เทคนคทใช คลกขวาทผลจะแสดง option เพมเตม
Load model เปดโมเดลทไดเคยเกบไว Save model บนทกโมเดลไวใชในคราวตอไป
Visualize tree (มเฉพาะเทคนค J48)ใชแสดงโมเดล (decision tree) ในรปแบบตนไม
4: CLASSIFIER OUTPUT (2)แสดงผลการจ าแนกประเภทขอมล (classify)Run information
แสดงรายละเอยดของขอมลทใช เทคนคและพารามเตอรทเลอก การทดสอบประสทธภาพ
Classifier model (full training set) สรางโมเดล เชน tree ทสรางไดจากขอมลเรยนรทงหมด
Summary คาความถกตอง (Accuracy)
„ กรณทคลาสเปนขอมลแบบประเภท Nominal
คาความคลาดเคลอน (error)„ กรณทคลาสเปนขอมลแบบตวเลข (numeric)
4: CLASSIFIER OUTPUTแสดงผลการจ าแนกประเภทขอมล (classify)Detailed accuracy By Class คาทางสถตของเมอแยกตามคลาส TP Rate (True Positive) คาททายถก FP Rate (False Positive) คาททายผด
Confusion Matrix คอลมน : คาทท านายได แถว : คาจรง
ขอมล 2 สวนทายนจะไมมเมอคลาสเปนตวเลข !!!
4: CLASSIFIER OUTPUT (3)
CONFUSION MATRIX
พจารณาท class A True Positive (TP)คอจ านวนท classifyถกวาเปน class A
Class A B
A 8 2
B 3 4
8
True Positive
{Actual
Predicted
CONFUSION MATRIX (2) พจารณาท class A
True Positive (TP) คอจ านวนท classify ถกวาเปน class A
False Positive (FP) คอ จ านวนท classify ผดวาเปน class A (ซงจรง ๆ แลวเปน class B)
Class A B
A 8 2
B 3 43
False Positive
{Actual
Predicted
CONFUSION MATRIX (3)
Class A B
A 8 2
B 3 4
8
True Positive
{Actual
Predicted พจารณาท class A
True Positive (TP) คอจ านวนท classify ถกวาเปน class A
False Positive (FP) คอ จ านวนท classify ผดวาเปน class A (ซงจรง ๆ แลวเปน class B)
TP Rate = 8/10 = 0.8
TP Rate = TP/#data in class X
CONFUSION MATRIX (4) พจารณาท class A
True Positive (TP) คอจ านวนท classify ถกวาเปน class A
False Positive (FP) คอ จ านวนท classify ผดวาเปน class A (ซงจรง ๆ แลวเปน class B)
TP Rate = 8/10 = 0.8 FP Rate = 3/10 = 0.428
Class A B
A 8 2
B 3 43
False Positive
{Actual
Predicted
FP Rate = TP/#data in class X
TP Rate = TP/#data in class X
CONFUSION MATRIX (5)
Class A B
A 8 2
B 3 4{Actual
Predicted พจารณาท class A
True Positive (TP) คอจ านวนท classify ถกวาเปน class A
False Positive (FP) คอ จ านวนท classify ผดวาเปน class A (ซงจรง ๆ แลวเปน class B)
TP Rate = 8/10 = 0.8 FP Rate = 3/10 = 0.428 Precision = 8/(8+3) = 0.727
TP Rate = TP/#data in class X
FP Rate = FP/#data in class ~X
Precision = TP/(TP+FP)
CONFUSION MATRIX (6)
Class A B
A 8 2
B 3 4{Actual
Predicted พจารณาท class A
True Positive (TP) คอจ านวนท classify ถกวาเปน class A
False Positive (FP) คอ จ านวนท classify ผดวาเปน class A (ซงจรง ๆ แลวเปน class B)
TP Rate = 8/10 = 0.8 FP Rate = 3/10 = 0.428 Precision = 8/(8+3) = 0.727 Recall = 8/(8+2) = 0.8 = TP Rate
TP Rate = TP/#data in class X
FP Rate = FP/#data in class ~X
Precision = TP/(TP+FP)
Recall = TP Rate
CONFUSION MATRIX (7)
Class A B
A 8 2
B 3 4{Actual
Predicted พจารณาท class A
True Positive (TP) คอจ านวนท classify ถกวาเปน class A
False Positive (FP) คอ จ านวนท classify ผดวาเปน class A (ซงจรง ๆ แลวเปน class B)
TP Rate = 8/10 = 0.8 FP Rate = 3/10 = 0.428 Precision = 8/(8+3) = 0.727 Recall = 8/(8+2) = 0.8 = TP Rate Accuracy = (8+4)/(8+2+3+4) = 0.706
=70.6 %
TP Rate = TP/#data in class X
FP Rate = FP/#data in class ~X
Precision = TP/(TP+FP)
Recall = TP Rate Accuracy = #correctly classified instancesAccuracy = #correctly classified instances#instances
PRECISION & RECALL
A
A
A
A
A
X
X
Y
Z
A
PRECISION & RECALL(2)
A
X
A
A
Z
A
X
Y
Z
A= 6 ฉบบ
= 2 ฉบบ
= 1 ฉบบ
= 1 ฉบบ
PRECISION & RECALL(3)
A
X
A
A
Z
A
X
Y
Z
A= 6 ฉบบ
= 2 ฉบบ
= 1 ฉบบ
= 1 ฉบบ
•Precision = จ านวนเอกสารทคนเจอและมเนอหาสมพนธกบค าคนจ านวนเอกสารทงหมดทสบคนได
PRECISION & RECALL(4)
A
X
A
A
Z
A
X
Y
Z
A= 6 ฉบบ
= 2 ฉบบ
= 1 ฉบบ
= 1 ฉบบ• Recall= จ านวนเอกสารทคนเจอและมเนอหาสมพนธกบค าคน
จ านวนเอกสารทงหมดทมเนอหาสมพนธกบค าคนได=3/6=0.5
4 : CLASSIFIER OUTPUT(3)
KAPPA STATISTIC - MEASURE OF AGREEMENT
KAPPA STATISTIC (2) สมาชกบาน AF 12 คน Raters ม 2 คน คอ ครเงาะ และครเมย คณครท าแบบสอบถามเพอพจารณาวา AF ไหนควรอยในบานตอหรอควรออกจากบาน
Yes = ควรอยในบานตอ No = ควรออกจากบาน
พจารณาวาความเหนของครทงสองสอดคลองกนหรอไม
6 1
2 3ครเงาะ Yes
No
NoYesครเมย
KAPPA STATISTIC (3)
Pr(a) = observed percentage agreement= (6+3)/12 = 0.75
Pr(e) = obed percentage agreement = (0.3889 + 0.1389) = 0.5278 ค านวณจาก ครเมย vote “Yes” = 8 , Vote “No” = 4 ดงนน โอกาสตอบ Yes คดเปน 8/12 = 0.6667 ครเงาะ vote “Yes” = 7 , Vote “No” = 5 ดงนน โอกาสตอบ Yes คดเปน 7/12 = 0.5833 โอกาสทครทงสอง Vote “Yes” เหมอนกน = 0.6667 x 0.5833 = 0.3889 โอกาสทครทงสอง Vote “No” เหมอนกน =(1 - 0.6667) x (1 - 0.5833) = 0.1389
6 1
2 3ครเงาะ Yes
No
NoYesครเมย
Total 8 4
KAPPA STATISTIC (4)
K = Pr(a)-Pr(e)1-Pr(e)
= ( 0.75 - 0.5278 ) / ( 1 ‟ 0.5278)= 0.4706
6 1
2 3ครเงาะ Yes
No
NoYesครเมย
Total 8 4
Note : Fleiss’s guidelines characterize kappas over .75 as excellent, .40 to .75 as fair to good, and below .40 as poor.
4: CLASSIFIER OUTPUT (4)
ROC CURVE Class ทก าลงพจารณา (Positive Class) คอ Class “Yes”
Rank PredictedProbability
Rank Rank PredictedProbability
Rank
1 0.95 Yes 11 0.77 No
2 0.93 Yes 12 0.76 Yes
3 0.93 No 13 0.73 Yes
4 0.88 Yes 14 0.65 No
5 0.86 Yes 15 0.63 Yes
6 0.85 Yes 16 0.58 No
7 0.82 Yes 17 0.56 Yes
8 0.80 Yes 18 0.49 No
9 0.80 No 19 0.48 Yes
10 0.79 Yes … … …
ROC CURVE
Plot คา TP vs FP
ROC CURVE
พนทใตกราฟ ROC (AUC-Area Under Curve) แสดง performance ในการจ าแนกคลาสของ Model
DECISION TREE APPLICATIONS
ตอบค าถามทตองากรจดจ าแนกประเภทขอมล (classification) ทตองการเขาใจประกอบ ใชในการพจารณาใหสนเชอแกบคคลตาง ๆ ใชในการท านายวาลกคาคนไหนบางทมโอกาสจะยกเลกการใชบรการและเหตผลเพราะอะไร
EXAMPLE 2 : DECISION TREE
Weather.arff
ขอมลทใชในการวเคราะห คาทตองการคาดเดา (class)
EXAMPLE 2 : DECISION TREE (2) เปด Weka > เลอก Explorer > กดปม Open file… > เลอกไฟล data\weather.arff
EXAMPLE 2 : DECISION TREE (3) คลกท tab Classify กดปม Choose
เลอก Classifiers เลอก trees เลอก J48
กดปม Start
EXAMPLE 2 : DECISION TREE (4) ผลทได
EXAMPLE 2 : DECISION TREE (5) คลกขวาทโมเดลในชอง Result list เลอก Visualize tree
EXAMPLE 2 : DECISION TREE (6) กฎการตดสนใจจาก decision tree
IF outlook = sunny AND humidity < 75 Then playIF outlook = sunny AND humidity < 75 Then play
IF outlook = sunny AND humidity > 75 Then no play
IF outlook = overcast Then play IF outlook = rainy AND windy = TRUE
Then play IF outlook = rainy AND windy = FALSE
Then no play
EXAMPLE 2 : DECISION TREE (7) บนทกโมเดลทไดสรางไว
คลกขวาเลอก Save model
EXAMPLE 2 : DECISION TREE (8) Testing file Weather-test.arff
Play
?
?
?
?
?
?
EXAMPLE 2 : DECISION TREE (9) เปดโมเดลทสรางไว
คลกขวาเลอก Load model
EXAMPLE 2 : DECISION TREE (11) เลอก Supplied test set กดปม Set… เลอกไฟลWeather-test.arff
EXAMPLE 2 : DECISION TREE (11) เลอก Supplied test set กดปม Set… เลอกไฟลWeather-test.arff• กดปม More options…
• เลอก output predictions
EXAMPLE 2 : DECISION TREE (12) เลอก Supplied test set กดปม Set… เลอกไฟลWeather-test.arff• กดปม More options• เลอก output predictions• คลกขวาทโมเดลเลอก Re-
evaluate model on current test set
EXAMPLE 3 : CUSTOMERS
ผลทไดผลทท านายได
EXAMPLE 3 : CUSTOMERS
แกไขไฟล customer_wmissing.arff ทเคยสรางไวใน Lab 4-3%costomers_wmissing.arff@relation customers_wmissing%The following is attributes@attribute member_id real@attribute sex{male, female} @attribute age real@attribute Income numeric@attribute A0001 {0,1}@attribute A0002 {0,1}@attribute A0003 {0,1}@attribute level {A,D}%The following is attributes@data1,male,20,12000,0,0,0,D2,female,18,7000,1,1,1,A3,female,35,35000,0,0,0,D4,?,16,4000,1,1,0,A5,female,?,20000,0,0,0,D
หมายเลขสมาชก
เพศ อาย รายได สนคา A สนคา B สนคา C ระดบของสมาชก
1 ชาย 20 12,000 0 0 0 D
2 หญง 18 7,000 1 1 1 A
3 หญง 35 35,000 0 0 0 D
4 เดก 16 4,000 1 1 0 A
5 หญง 300 20,000 0 0 0 D
EXAMPLE 3 : CUSTOMERS (2) เปด Weka > เลอก Explorer > กดปม Open file…> เลอกไฟล customers_wmissing.arff
EXAMPLE 3 : CUSTOMERS (3) กดปม Choose > เลอก filters > เลอก unsupervised > เลอก attribute > เลอก
ReplaceMissingValues กดปม Apply ดขอมลทแกไขโดยการกดปม Edit…
EXAMPLE 3 : CUSTOMERS (4) น าขอมลทไดมการแกไขดวย วธ
Replace missing value แลวสราง Decision tree Remove แอตทรบวตทไมจ าเปน
เชน member_id ทง คลกทชองหนาชอแอตทรบวต กดปม Remove
EXAMPLE 3 : CUSTOMERS (5) คลกท tab Classify กดปม Choose
เลอก Classifiers เลอก trees เลอก J48 เลอก Folds เปน 2
กดปม Start
EXAMPLE 3 : CUSTOMERS (6) ผลทได
EXAMPLE 3 : CUSTOMERS (7) คลกขวาทโมเดลในชอง Result list เลอก Visualize tree
LAB 5-2 : GERMAN CREDIT CARD
Business Understanding การอนมตบตรเครดตของธนาคารตาง ๆ จ าเปนจะตองพจารณาปจจยหลายๆ ดานของลกคาผ
ขออนมตทงนเพราะความเลยงทอาจจะเกดขนจากการใชบตรเครดตของลกคาอาจจะท าใหธนาคารสญเสยเงนเปนจ านวนมาก
การสรางระบบชวยการตดสนใจ (decision support system) ในการอนมตบตรเครดตแบบอตโนมตจะชวยใหธนาคารสามารถท างานไดเรวขน
Data Understanding ธนาคารไดเกบรวบรวมขอมลการขออนมตบตรเครดตจากลกคาเกาจ านวน 600 คน โดยธนาคารจะเกบคณลกษณาของลกคาแตละคนไว เชน จ านวนเงนในบญช เปนตน รวบรวมเกบไวในไฟล GermanCreditBalance.arff ซงอยในแผน CD โฟลเดอร
dataset/GermanCredit รายละเอยดของแอตทรบวตตาง ๆ ดไดจากไฟล GermanCredit.pdf
LAB 5-2 : GERMAN CREDIT CARD
Data Understanding ตวอยางของบางแอตทรบวต
ล าดบ แอตทรบวต ชอยอ ประเภท
1 Observation No. OBS# Categorical
2 Checking Account Status
CHK_ACCT Categorical
3 Duration on credit in months
DURATION Numerical
4 Credit history HISTORY Categorical
5 Purpose of credit NEW_CAR Binary
6 Purpose of credit USED_CAR Binary
7 Purpose of credit FURNITURE Binary
……….
32 Credit rating is good RESPONSE Binary
LAB 5-2 : GERMAN CREDIT CARD
Data Preparation …………………………………………………………………………………………….
Modeling ใชเทคนคการสราง Decision Tree เพอชวยในการอนมต/ไมอนมตเครดตแบบอตโนมต
Evaluation ทดสอบประสทธภาพของโมเดลดวยวธ 10 ‟ folds cross ‟ validation ทดสอบดวยขอมลของลกคาคนใหมโดยใชไฟล
LAB 5-3 : CHURN
Business understanding การยกเลกการใชบรการโทรศพทเคลอนท (Churn ) เปนปญหาส าคญส าหรบบรษทผใหบรการ
เครอขายโทรคมนาคมในประเทศตาง ๆ การทสามารถคาดการณไดวาลกคาคนใดมแนวโนมทจะยกเลกบรการและทราบถงปญหาทท า
ใหลกคาไมพอใจไดกอนทจะเสยลกคาคนนนไปจะชวยใหบรษทไมตองสญเสยรายได
Data Understanding บรษทโทรคมนาคมแหงหนงในประเทศสหรฐอเมรกาไดเกบขอมลการใชบรการ
โทรศพทเคลอนทของลกคาจ านวน 3,333 คน ขอมลของลกคานแบงออกเปน 2 กลม
กลมทยกเลกการใชบรการ (Churn) จ านวน 483 คน กลมทไมยกเลกการใชบรการ (No Churn) จ านวน 2,850 คน
LAB 5-3 : CHURN (2) Data Understanding
มแอตทรบวตทงหมด .... แอตทรบวต ............................................................................................................................. .. ............................................................................................................................. .. ............................................................................................................................. .. ............................................................................................................................. .. ขอมลรวบรวมไวในไฟล churn.csv ในแผน CD โฟลเดอร dataset/churn
Data Preparation ............................................................................................................................. ..
LAB 5-3 : CHURN (3) Modeling
ใชเทคนคการสราง Decision Tree เพอชวยในการหาคาดการณวาลกคาคนไหนมโอกาสยกเลการใชบรการและเพราะเหตใด
Evaluation ทดสอบประสทธภาพของโมเดลดวยวธ 10 ‟ folds cross - validation
COST SENSITIVE
เปนคา Cost ทเกดขน ส าหรบแตละคลาสค าตอบ ตวอยาง ปญหาการยกเลกบรการการใชโทรศพทมอถอของลกคา (Churn) พบวา คลาสท
ตองการพจารณาม 2 class คอ ยกเลกบรการ (churn) ไมยกเลกบรการ (no churn)
การพจารณา Cost Sensitivity ใหพจารณาดงน กรณยกเลกบรการ (churn)-Cost ของการทลกคายกเลกบรการ คอการพจารณาวาบรษทจะ
สญเสยรายไดเทาไรหากลกคา 1 คนท าการยกเลกบรการ กรณไมยกเลกบรการ(No churn) ‟ Cost ในกรณนจะเกดขนกตอเมอระบบท านายวาลกคาจะม
การยกเลกแตความเปนจรงแลวลกคาไมตองการยกเลกบรการ ดงนนจะเสยคาใชจายสวนหนงในการท า Campaign กบลกคาคนน
LAB 5-3 : CHURN WITH COST SENSITIVE
ใชขอมล Churn จาก LAB 5-3 ส าหรบคา cost นน สมมตบรษทไดมการค านวณแลวดงน
คา cost ทเกดจากการทลกคา 1 คนยกเลกบรการมคาเทากบ 180 บาท คา cost ทบรษทตองใชในการจด Campaign ใหกบกลมลกคาทถกท านายวาจะยกเลกบรการ คด
เปน 18 บาทตอคน
ใหท าการสราง Model โดยใชเทคนค Decision tree ตามขนตอนดงน Tab Classify> คลก Choose เลอก weka > classifiers > meta > CostSensitiveClassifier คลกท
LAB 5-4 : CHURN WITH COST SENSITIVE(2) Classifier เลอก J48 CostMatrix
classes = 2 คา Cost ของการท านายผดวา
ลกคาจะยกเลกบรการแตความจรงลกคาไมตองการยกเลก = 1
คา Cost ของการท านายผดวาลกคาจะไมยกเลกบรการแตความจรงลกคาตองการยกเลก = 10
EXAMPLE 4 : K-NEAREST NEIGHTBORS
เปด Weka > เลอก Explorer > กดปม Open file… > เลอกไฟล data\weather.arff
EXAMPLE 4 : K-NEAREST NEIGHTBORS(2) คลกท tab classify กดปม choose
เลอก classifiers เลอก lazy เลอก ibk
กดปม Start
EXAMPLE 4 : K-NEAREST NEIGHTBORS(3) ผลทได
LAB 5-5 : BMW PROMOTION CAMPAIGN
Business Understanding ตวแทนจ าหนายรถยนต BMW ไดจะท าการออกโปรโมชนเพอขายประกนเพม
อก 2 ป ใหกบลกคาทเคยซอรถ BMW จงอยากรวาควรจะน าเสนอโปรโมชนนใหกบลกคาแบบใด
Data Understanding ตวแทนจ าหนายรถยนต BMW ไดเคยใชโปรโมชนนมากอนหนาแลวท าใหม
ลกคาเกาอย จ านวน 4,500 คน มจ านวนแอตทรบวตทงหมด 4 แอตทรบวต ขอมลรวบรวมเกบไวในไฟล bmw-training.arff ในแผน CD โฟลเดอร
dataset/BMW
LAB 5-5 : BMW PROMOTION CAMPAIGN
Data Understanding ขอมลทเกบของแตละคนมแอตทรบวตดงน
ล าดบ แอตทรบวต ชอยอ ประเภท
1 Income Bracket(0=$0-$30k, 1=$31k-$40k,2=$41k-$60k,3=$61k-$75k,4=$76-$100k,5=$101k-$150k,6=$151-$500,7=$501k+)
IncomeBraket Categorical
2 Year/month first BMW Bought FirstPurchase Numeric
3 Year/month most recent BMW bought LastPurchase Numeric
4 Responding to the extended warranty Responded Categorical
LAB 5-5 BMW PROMOTION CHAMPAIGN (3) Data Preparation
ไมมขอมลทขาดหายไป (missing Values)
Modeling ใชเทคนคการท า K-Nearest neighbors
Evaluation ทดสอบประสทธภาพของโมเดลดวยวธ Self Consistency Test ทดสอบประสทธภาพของโมเดลดวยวธ 10- folds cross-validation
REFERENCE
Discovering Spatial Relationships Between Approximately Equivalent Patterns in contact Maps, BIOKDD04
CLUSTERING AS PREPROCESSING STEP
ใชแบงขอมลกอนการวเคราะหขอมลดวยเทคนคอน ๆ Classification Association rule discovery
DBDB classification
Decision tree ของการตอบรบโปรโมชน
DBDB Clustering
classification
classification
Decision tree ของการตอบรบโปรโมชนของกลมคน
ชอบทองเทยว
Decision tree ของการตอบรบโปรโมชนของกลมคนรก
สขภาพ
กลมคนชอบทองเทยว
กลมคนรกสขภาพ
CLUSTERING APPLICATIONS
เขาใจลกษณะของลกคาในแตละกลม สงโปรโมชนหรอโฆษณาใหตรงกบกลมเปาหมายมากขน วาง positioning ของสนคาในบรษทวาควรเจาะกลมเปาหมายใด ตวอยาง : รานเชา DVD Blockbuster
แบงกลมขอมลลกคาตามพฤตกรรมการเชา DVD เพอใชในการแนะน า DVD ใหตรงกบความตองการของลกคา
ตวอยาง : การแบงกลมเอกสาร มการสรางอภธานศพท พจารณาความคลายคลงของค าในเนอหาทตรงกบอภธานศพท สามารถแบงกลมเอกสาร หรอสบคนเอกสารทมเนอหาประเภทเดยวกน
CLUSTERING IN WEKA
เปด Weka > เลอก Explorer > กดปม Open file… > เลอกไฟล data\weather.arff
CLUSTERING IN WEKA (CONT’) คลกท tab Cluster
13
2
CLUSTERER
สวนของการเลอกเทคนคในการคลสเตอร
สวนใหญจะใชเทคนค K-Means DistanceFunction ส าหรบเลอก
วธการวดระยะหางระหวางอนสแตนซ
numClusters ส าหรบเลอกจ านวนกลมทตองการ
2: RUSULT LIST
แสดงผลการท างานครงกอน ๆ แสดงเวลา เทคนคทใช คลกขวาทผลจะแสดง option เพมเตม
Save result buffer : บนทกผลการท างานทแสดงในสวน Clusterer output
Visualize cluster assignment : แสดงกราฟความสมพนธของแอตทรบวตตาง ๆ กบ คลสเตอร บนทกผลการแบงคลสเตอร
3 : CLUSTERER OUTPUT
แสดงผลการแบงกลมขอมล (clustering) Number of iterations :
จ านวนรอบการท างานของ K-Means
Within cluter sum of squared Errors : คา distance รวมเมอเทยบกบสดศนยกลางของแตละคลสเตอร
Cluster centroids : แสดงจดศนยกลางของแตละคลสเตอร
Cluster Instances : จ านวนขอมลในแตละคลสเตอร
3 : CLUSTERER OUTPUT (CONT’) แสดงความสมพนธระหวางแอตทร
บวตแบบ 3 มต แกน X แกน Y ส
เลอกแกน X เปนคลสเตอร เลอกแกน Y เปน Instance number เลอกสเปนแอตทรบวตทตองการด
ความสมพนธ
3 : CLUSTERER OUTPUT (CONT’)
• กดปม save• ในไฟล ARFF จะม ผลการแบงกลม (cluster)
EXAMPLE 1 : CLUSTERING BANK DATA
ขอมลรายละเอยดลกคาของธนาคาร (bank)
EXAMPLE 1 : CLUSTERING BANK DATA(CONT’) เปด weka > เลอก Explorer > กดปม Open file…>เลอกไฟล dataset\bank.arff
EXAMPLE 1 : CLUSTERING BANK DATA(CONT’) คลกแทบ Cluster เลอกเทคนค
SimpleKMeans เปลยนคาพารามเตอร
N เปน 6 คลกปม Start
EXAMPLE 1 : CLUSTERING BANK DATA(CONT’) ผลการแบงกลม (cluster)
EXAMPLE 1 : CLUSTERING BANK DATA(CONT’) ผลของคลสเตอรท 2
ลกคาสวนใหญในคลสเตอรน อายเฉลยประมาณ 39 ป เพศหญง อาศยอยในเมอง รายไดเฉลยประมาณ 25,148 บาท แตงงานแลวแตยงไมมบตร มบญชเงนฝากกบธนาคารเรยบรอยแลว
Age Sex Region Income Married Children Car Save_act Current_act Mortgage Pep
39.2569 FEMALE INNER_CITY
25,148.6273 YES 0 YES YES YES NO NO
EXAMPLE 1 : CLUSTERING BANK DATA(CONT’) คลกขวาทผลใน Result list
เลอก Visualize cluster assignments
คลกขวา
EXAMPLE 1 : CLUSTERING BANK DATA(CONT’) แสดงกราฟแบบ 3 มต
แกน X แกน Y ส
EXAMPLE 1 : CLUSTERING BANK DATA(CONT’) เลอกใหแกน X เปน Cluster และแกน Y เปน Instance_number เลอก Colour เปน sex
Hint!!! คลสเตอร 3 ลกคาสวน
ใหญจะเปนเพศหญง(พบวาสน าเงนมากกวา)
Cluster 2 ลกคาสวนใหญจะเปนเพศชาย (พบวาสแดงมากกวา)
EXAMPLE 1 : CLUSTERING BANK DATA(CONT’) กดปม Save ในหนาตาง Weka Clusterer Visualize Save ในชอ bank_result.arff
มคาคลสเตอร(cluster)เพมขนมา
LAB 6-1 : CUSTOMER BEHAVIORS
Business Understanding ตวแทนจ าหนายรถยนต BMW ไดท าการตดตามดพฤตกรรมของลกคาทเขามาเยยมชมรถ
ภายในโชวรมวาลกคาดรถยนตรนไหนและท าการสงซอรถหรอไม
Data Understanding ตวแทนจ าหนายรถยนตรายนไดท าการตดตามดพฤตกรรมของลกคาทงหมดจ านวน 100 คน ลกคาแตละรายจะมจ านวนแอตทรบวตทงหมด 8 แอตทรบวต ขอมลเหลานไดถกรวบรวมเกบไวในไฟล bmw_browsers.arff ในแผน CD โฟลเดอร
dataset/bmw
LAB 6-1 : CUSTOMER BEHAVIORS (CONT’) Data Understanding
ขอมลทเกบของแตละคนมแอตทรบวตดงนล าดบ แอตทรบวต ประเภท
1 Numeric
2 Dealership …………….
3 Showroom Numeric
4 Computer Search …………….
5 M5 Numeric
6 3Series Numeric
7 Z4 …………….
8 Financing
9 Puchase Numeric
LAB 6-1 : CUSTOMER BEHAVIORS (CONT’) Data Preparation
……………………………………………………………………………………………
Modeling ใชเทคนคการแบงกลมดวย K-means Clustering แบงกลมออกเปน 5 กลม
AN INTRODUCTION TO
DATA MINING WITH WEKA
Association Rules
ASSOCIATION RULES IN WEKA
เปด weka > เลอก Explorer > กดปม Open file…>เลอกไฟล dataset\Example1.arff
ASSOCIATION RULES IN WEKA
กดปม Edit QID Items
1 Apple, Ceral, Diapers
2 Beer, Cereal, Eggs
3 Apple, Beer, Cereal, Eggs
4 Beer, Eggs
ASSOCIATION RULES IN WEKA(CONT’) คลกท tab Associate
3
1
2
1 : ASSOCIATOR
เลอกเทคนคการหากฎความสมพนธ(association rules) สวนใหญใชเทคนค Apriori
เซตคาพารามเตอรตาง ๆ Delta : คาทใชในการลดคา support lowerBoundMinSupport : คา minimum
support(0.5 = 50%)
1 : ASSOCIATOR (CONT’) เซตคาพารามเตอรตาง ๆ
MetricType:score ทใชในการเรยน (rank) กฎความสมพนธ
minMetric : คา Score ทเลอกกนใน Metric Type กฎทสนใจจะตองมคามากกวาทก าหนด
numRules:จ านวนกฎความสมพนธทตองการ
outputitemSets:แสดงความถของสนคาทมการซอพรอมกน
2 : RESULT LIST
แสดงผลการท างานครงกอน ๆ แสดงเวลา เทคนคทใช คลกขวาทผลจะแสดง option เพมเตม
Save result buffer : ใชบนทกผลการท างาน
3 : ASSOCIATOR OUTPUT
แสดงผลการหากฎความสมพนธ Eggs=y==>Beer=y conf:1
“ทกครงทลกคาซอไขไกแลวจะซอเบยรดวย”
Apple Beer=y ==> Egg=y conf:1“ทกครงทลกคาซอแอปเปลและเบยรแลวจะซอไขไกดวย”
QID Items
1 Apple, Ceral, Diapers
2 Beer, Cereal, Eggs
3 Apple, Beer, Cereal, Eggs
4 Beer, Eggs
EXAMPLE : ASSOCIATION RULES
เปด weka > เลอก Explorer > กดปม Open file…>เลอกไฟล dataset\Example1.arff
EXAMPLE : ASSOCIATION RULES
Remove แอตทรบวตทไมส าคญออก คลกท order_id คลกท Remove
EXAMPLE : ASSOCIATION RULES
เปลยนคา lowerBoundMinSupport เปน 0.5
เปลยนคา minMetric เปน 0.5 เปลยนคา numRules เปน 30 เลอก OutputItemSets เปน True กดปม OK กดปม Start
EXAMPLE : ASSOCIATION RULES
LAB 7-1 : MARKET BASKET
Business Understanding ซปเปอรมารเกตแหงหนงตองการท าระบบ CRM กบลกคาทเขามาซอสนคาโดยตองการหาวาม
สนคาชนดใดบางทลกคามกจะซอพรอมกนบอย ๆ เพอน าไปจดโปรโมชน
Data Understanding ซปเปอรมารเกตแหงนไดท าการเกบประวตการซอสนคาของลกคาจ านวน 1,000 คน โดยขอมลของลกคาแตละรายจะแบงเปน 2 สวนใหญ ๆ คอ
ขอมลรายละเอยดเกยวกบลกคาแตละรายมจ านวน......แอตทรบวต ขอมลสนคาทลกคาซอแตละครงมจ านวน ......แอตทรบวต
ขอมลเหลานไดถกรวบรวมเกบไวในไฟล supermarket_basket_transactions_2005.arff ในแผน CD โฟลเดอร dataset/supermarket