Practical Data Mining with RapidMiner Studio 7 : A Basic and Intermediate
1. Practical Data Mining
with RapidMiner Studio 7
: A Basic & Intermediate
Eakasit Pacharawongsakda, Ph.D.
13-15 March 2017
at K.U. Home Hotel, Kasetsart University
The 17th
course of
5. http://dataminingtrend.com http://facebook.com/datacube.th
About us
5
RapidMiner Analyst
Certification
This is to Certify that
Successfully passed the examination for the Certified RapidMiner Analyst.
The RapidMiner Analyst certification level is designed for individuals who wish to demonstrate
a fundamental understanding of how RapidMiner software works and is used.
Certified Analyst professionals will be able to prepare data and create predictive models in
standard data environments typically found within most analyst positions.
The candidate has proven the ability to:
Prepare data Build predictive models
Evaluate the model’s quality Score new data sets
Deploy data mining models
With:
RapidMiner Studio RapidMiner Server
Date:
Eakasit Pacharawongsakda
12. http://dataminingtrend.com http://facebook.com/datacube.th
facebook.com/datacube.th
BI & Data Mining
12
Business
Intelligence
Data
Mining
Time
Analytical
Approach
Past Future
Explanatory
Exploratory
source:Data Science and Big Data Analytics: Discovering, analyzing, visualizing and presenting data
BI questions
• What happened last
quarter?
• How many unit sold?
• Where is the problem? In
which situations
Data Mining questions
• What if … ?
• What will happen next?
• Why is this happen?
13. http://dataminingtrend.com http://facebook.com/datacube.th
What is data mining
13
ข้อมูล' เทคนิคการทำ data mining' รูปแบบที่มีประโยชน์'
image source:http://www.computerrepairanaheim.net
https://sites.google.com/a/whps.org/diamond-teamkp/
http://meetings2.informs.org/wordpress/analytics2014/2014/04/01/why-oranalytics-people-need-to-know-about-database-technology/
facebook.com/datacube.th
41. http://dataminingtrend.com http://facebook.com/datacube.th
CRISP-DM Example 1
4. Modeling
41
Computer
= HIGH = LOW
Physics
Good
Good
= LOW = HIGH
Mathematics
Good Bad
= HIGH = LOW
• IF Computer is HIGH THEN
Graduate is Good
• IF Computer is LOW AND
Mathematics is HIGH THEN
Graduate is Good
• IF Computer is LOW AND
Mathematics is LOW AND
Physics is HIGH THEN
Graduate is Good
• IF Computer is LOW AND
Mathematics is LOW AND
Physics is LOW THEN
Graduate is Bad
โมเดลของภาควิชาวิศวกรรมคอมพิวเตอร์
เงื่อนไขที่สร้างได้จากโมเดล
42. http://dataminingtrend.com http://facebook.com/datacube.th
CRISP-DM Example 1
5. Evaluation
• ทดสอบด้วยข้อมูล 30% ที่แบ่งไว้
• คำนวณค่าความถูกต้อง
6. Deployment
• นำไปแนะนำนิสิตชั้นปีที่ 1 ที่กำลัง
จะเลือกภาควิชา
• พิจารณาจากเกรดตามโมเดล
ที่สร้างได้
42
Computer
= HIGH = LOW
Physics
Good
Good
= LOW = HIGH
Mathematics
Good Bad
= HIGH = LOW
โมเดลของภาควิชาวิศวกรรมคอมพิวเตอร์
รหัสนิสิต เพศ คอมพิวเตอร์ คณิตศาสตร์ … Com Eng
5700123 ชาย LOW HIGH … ??
ข้อมูลของนักศึกษาปีที่ 1 ที่ต้องการได้รับคำแนะนำ
43. http://dataminingtrend.com http://facebook.com/datacube.th
CRISP-DM Example 1
5. Evaluation
• ทดสอบด้วยข้อมูล 30% ที่แบ่งไว้
• คำนวณค่าความถูกต้อง
6. Deployment
• นำไปแนะนำนิสิตชั้นปีที่ 1 ที่กำลัง
จะเลือกภาควิชา
• พิจารณาจากเกรดตามโมเดล
ที่สร้างได้
43
Computer
= HIGH = LOW
Physics
Good
Good
= LOW = HIGH
Mathematics
Good Bad
= HIGH = LOW
โมเดลของภาควิชาวิศวกรรมคอมพิวเตอร์
รหัสนิสิต เพศ คอมพิวเตอร์ คณิตศาสตร์ … Com Eng
5700123 ชาย LOW HIGH … ??
ข้อมูลของนักศึกษาปีที่ 1 ที่ต้องการได้รับคำแนะนำ
44. http://dataminingtrend.com http://facebook.com/datacube.th
CRISP-DM Example 1
5. Evaluation
• ทดสอบด้วยข้อมูล 30% ที่แบ่งไว้
• คำนวณค่าความถูกต้อง
6. Deployment
• นำไปแนะนำนิสิตชั้นปีที่ 1 ที่กำลัง
จะเลือกภาควิชา
• พิจารณาจากเกรดตามโมเดล
ที่สร้างได้
44
Computer
= HIGH = LOW
Physics
Good
Good
= LOW = HIGH
Mathematics
Good Bad
= HIGH = LOW
โมเดลของภาควิชาวิศวกรรมคอมพิวเตอร์
รหัสนิสิต เพศ คอมพิวเตอร์ คณิตศาสตร์ … Com Eng
5700123 ชาย LOW HIGH … ??
ข้อมูลของนักศึกษาปีที่ 1 ที่ต้องการได้รับคำแนะนำ
45. http://dataminingtrend.com http://facebook.com/datacube.th
CRISP-DM Example 1
5. Evaluation
• ทดสอบด้วยข้อมูล 30% ที่แบ่งไว้
• คำนวณค่าความถูกต้อง
6. Deployment
• นำไปแนะนำนิสิตชั้นปีที่ 1 ที่กำลัง
จะเลือกภาควิชา
• พิจารณาจากเกรดตามโมเดล
ที่สร้างได้
45
Computer
= HIGH = LOW
Physics
Good
Good
= LOW = HIGH
Mathematics
Good Bad
= HIGH = LOW
โมเดลของภาควิชาวิศวกรรมคอมพิวเตอร์
รหัสนิสิต เพศ คอมพิวเตอร์ คณิตศาสตร์ … Com Eng
5700123 ชาย LOW HIGH … Good
ข้อมูลของนักศึกษาปีที่ 1 ที่ต้องการได้รับคำแนะนำ
58. http://dataminingtrend.com http://facebook.com/datacube.th
RapidMiner Studio 7
• เมนูใน RapidMiner Studio 7
58
ใช้สร้าง process ใหม่
โหลด process เดิม
บันทึก process
undo หรือ redo
สั่งให้ process ทำงาน (run)
ยกเลิก process (stop)
เมนูสำหรับปรับเปลี่ยนมุมมองของ
RapidMiner Studio 7
เมนูสำหรับแสดงวิธีการใช้งานในรูปแบบต่างๆ
ba
a
b
หน้า Design แสดงหน้าสำหรับการสร้างโพรเซส
หน้า Results แสดงหน้าผลลัพธ์การทำงาน
60. http://dataminingtrend.com http://facebook.com/datacube.th
Data
• ข้อมูลแสดงในรูปแบบของตาราง
• แถว เรียกว่า ตัวอย่าง (example)
• คอลัมน์ เรียกว่า แอตทริบิวต์ (attribute) ซึ่มีหน้าที่ (role) ที่ใช้งานบ่อย 3 แบบ
• ไอดี (ID) เป็นแอตทริบิวต์ที่แสดงหมายเลขของข้อมูล หรือ primary key ในฐานข้อมูล
• แอตทริบิวต์ทั่วไป (attribute) เป็นแอตทริบิวต์ปกติที่จะใช้ในการสร้างโมเดลหรือเรียกว่า
เป็น ฟีเจอร์ (feature) หรือตัวแปรต้น (independent variable)
• ลาเบล (label) เป็นแอตทริบิวต์ขนิดพิเศษที่มักจะใช้แสดงคำตอบของสิ่งที่เราต้องการจะ
สร้างโมเดลมาทำนาย หรือ เรียกว่า คลาส (class) หรือตัวแปรตาม (dependent
variable)
60
customer_id age gender region income married children car response
ID12101 48 FEMALE INNER_CITY 17546.0 NO 1 NO NO
ID12102 40 MALE TOWN 30085.1 YES 3 YES NO
ID12103 51 FEMALE INNER_CITY 16575.4 YES 0 YES YES
ID12104 23 FEMALE TOWN 20375.4 YES 3 NO NO
attribute labelID
61. http://dataminingtrend.com http://facebook.com/datacube.th
Value type
• ค่าของข้อมูลที่เก็บในแต่ละแอตทริบิวต์
• Polynominal ข้อมูลประเภท category (ข้อมูลที่ไม่ใช่ตัวเลข) มีค่ามากกว่า 2 ค่าขึ้น
ไป
• Binominal ข้อมูลประเภท category (ข้อมูลที่ไม่ใช่ตัวเลข) มีค่าเพียง 2 ค่าเท่านั้น
• Numeric หรือ Integer ข้อมูลประเภทตัวเลข
• Text ข้อมูลประเภทข้อความ
61
numericpolynominal
customer_id age gender region income married children car response
ID12101 48 FEMALE INNER_CITY 17546.0 NO 1 NO NO
ID12102 40 MALE TOWN 30085.1 YES 3 YES NO
ID12103 51 FEMALE INNER_CITY 16575.4 YES 0 YES YES
ID12104 23 FEMALE TOWN 20375.4 YES 3 NO NO
numeric numeric binominalbinominal binominal
62. http://dataminingtrend.com http://facebook.com/datacube.th
Data management
• Repository
• เป็นที่เก็บข้อมูลและ process เพื่อใช้งานใน RapidMiner
Studio 7
• ทำให้ไม่ต้องโหลดข้อมูลจากไฟล์ใหม่ทุกครั้ง
• องค์ประกอบในส่วน Repository
• ส่วนที่
• สำหรับสร้าง Repository ใหม่
• โหลดไฟล์ประเภทต่างๆ เข้าไปไว้ใน Repository
• สร้างโฟลเดอร์ใหม่
• ส่วนที่
• ข้อมูลและ process Sample ที่ RapidMiner Studio 7 เตรียมไว้ให้
• ข้อมูลที่เก็บอยู่ในแต่ละ Repository
62
1
2
1
2
69. http://dataminingtrend.com http://facebook.com/datacube.th
• ไฟล์ประเภท csv ย่อมาจาก Comma Separated Value
• ใช้เครื่องหมาย , (comma) คั่นระหว่างแอตทริบิวต์
customer_id age gender region income married children car response
ID12101 48 FEMALE INNER_CITY 17546.0 NO 1 NO NO
ID12102 40 MALE TOWN 30085.1 YES 3 YES NO
ID12103 51 FEMALE INNER_CITY 16575.4 YES 0 YES YES
ID12104 23 FEMALE TOWN 20375.4 YES 3 NO NO
CSV File
69
customer_id,age,gender,region,income,married,children,ca,response
ID12101,48,FEMALE,INNER_CITY,17546.0,NO,1,NO,NO
ID12102,40,MALE,TOWN,30085.1,YES,3,YES,NO
ID12103,51,FEMALE,INNER_CITY,16575.4,YES,0,YES,YES
ID12104,23,FEMALE,TOWN,20375.4,YES,3,NO,NO
แถวแรกคือ header
89. http://dataminingtrend.com http://facebook.com/datacube.th
Market Basket Analysis
• เทคนิคการหากฏความสัมพันธ์ (Association Rules)
• Apriori (Agrawal and Srikant, 1994)
• สร้างรูปแบบของสินค้า (itemset) ที่มีจำนวนเพิ่มขึ้นทีละ 1
• คำนวณค่า support จากในฐานข้อมูล
• ข้อเสียคือต้องดึงข้อมูลจากฐานข้อมูลหลายรอบทำให้ทำงานช้า
• FP-Growth (Han, Pei and Yin, 2000)
• อ่านข้อมูลในฐานข้อมูลและสร้าง FP-tree
• คำนวณค่า support จาก FP-tree
• ทำงานได้เร็วกว่าวิธี Apriori
89
• J. Han, H. Pei, and Y. Yin. Mining Frequent Patterns without Candidate Generation. In: Proc. Conf. on the Management of Data
(SIGMOD’00, Dallas, TX). ACM Press, New York, NY, USA 2000
• R. Agrawal and R. Srikant, Fast algorithms for mining association rules in large databases, Proceedings of the 20th International
Conference on Very Large Data Bases, VLDB, pages 487-499, Santiago, Chile, September 1994
90. http://dataminingtrend.com http://facebook.com/datacube.th
• รูปแบบ (pattern) ที่มีสินค้า 2 ชนิด
• รูปแบบที่มี Apple อยู่
Apriori
90
Apple
{Apple, Beer}
Beer
Cereal
Eggs
Items
Transaction ID
Support
1 2 3 4
Apple 1 0 1 0 2/4 = 50%
Beer 0 1 1 1 3/4 = 75%
Itemset
Transaction ID
Support
1 2 3 4
{Apple, Beer} 0 0 1 0 1/4 = 25%
140. http://dataminingtrend.com http://facebook.com/datacube.th
Classification example
• ตัวอย่าง spam e-mail classification
• ระบุว่า e-mail ไหนบ้างที่เป็น spam e-mail
140
ID Text Type
1
Please call our customer service representative on FREE PHONE 0808 145 4742 between
9am-11pm as you have WON a guaranteed £1000 cash
2 You have won $1,000 cash or a $2,000 prize! To claim, call 09050000327
3 I'm gonna be home soon and I don't want to talk about this stuff anymore tonight
4 Is that seriously how you spell his name?
5
Double mins and txts 4 6months FREE Bluetooth on Orange. Available on Sony, Nokia Motorola
phones.
6 FREE RINGTONE text FIRST to 87131 for a poly or text GET to 87131 for a true tone!
7 Sorry, I'll you call later in meeting.
8
Congratulations - in this week's competition draw u have won the £1450 prize to claim just call
09050002311
9 Thanks a lot for your wishes on my birthday. Thanks you for making my birthday truly memorable.
10 Hello, What are you doing? Did you attend the training course today?
spam
spam
normal
normal
normal
normal
spam
spam
spam
normal
141. http://dataminingtrend.com http://facebook.com/datacube.th
Classification example
• ตัวอย่าง spam e-mail classification
• ระบุว่า e-mail ไหนบ้างที่เป็น spam e-mail
141
ID Text Type
1
Please call our customer service representative on FREE PHONE 0808 145 4742 between
9am-11pm as you have WON a guaranteed £1000 cash
spam
2 You have won $1,000 cash or a $2,000 prize! To claim, call 09050000327 spam
3 I'm gonna be home soon and I don't want to talk about this stuff anymore tonight normal
4 Is that seriously how you spell his name? normal
5
Double mins and txts 4 6months FREE Bluetooth on Orange. Available on Sony, Nokia Motorola
phones.
spam
6 FREE RINGTONE text FIRST to 87131 for a poly or text GET to 87131 for a true tone! spam
7 Sorry, I'll you call later in meeting. normal
8
Congratulations - in this week's competition draw u have won the £1450 prize to claim just call
09050002311
spam
9 Thanks a lot for your wishes on my birthday. Thanks you for making my birthday truly memorable. normal
10 Hello, What are you doing? Did you attend the training course today? normal
142. http://dataminingtrend.com http://facebook.com/datacube.th
Classification example
• ตัวอย่าง spam e-mail classification
• หา keyword ที่ใช้บ่งบอกว่าเป็น spam e-mail
142
ID Free Won Cash Type
1 Y Y Y spam
2 N Y Y spam
3 N N N normal
4 N N N normal
5 Y N N spam
6 Y N N spam
7 N N N normal
8 N Y N spam
9 N N N normal
10 N N N normal
ID Text Type
1
Please call our customer service
representative on FREE PHONE 0808
145 4742 between 9am-11pm as you
have WON a guaranteed £1000 cash
spam
2
You have won $1,000 cash or a $2,000
prize! To claim, call 09050000327
spam
3
I'm gonna be home soon and I don't
want to talk about this stuff anymore
tonight
normal
4
Is that seriously how you spell his
name?
normal
5
Double mins and txts 4 6months FREE
Bluetooth on Orange. Available on
Sony, Nokia Motorola phones.
spam
… … …
keywords
143. http://dataminingtrend.com http://facebook.com/datacube.th
Classification example
• ตัวอย่าง spam e-mail classification
• สร้างโมเดล (classification model) จากข้อมูล training data ซึ่งมีลาเบล (label)
143
ID Free Won Cash Type
1 Y Y Y spam
2 N Y Y spam
3 N N N normal
4 N N N normal
5 Y N N spam
6 Y N N spam
7 N N N normal
8 N Y N spam
9 N N N normal
10 N N N normal
attribute label
Free
Won
Normal Spam
Spam
classification model
= N = Y
= N = Y
training data
147. http://dataminingtrend.com http://facebook.com/datacube.th
• ตัวอย่าง spam e-mail classification
ID Free Won Cash Type
1 Y Y Y spam
2 N Y Y spam
3 N N N normal
4 N N N normal
5 Y N N spam
Classification example
147
attribute labelID
training data
สร้าง classification model
ID Free Won Cash Type
11 Y Y N ?
12 N Y N ?
unseen data
classification model
ID Type
11 spam
12 spam
1
2
3 4
149. http://dataminingtrend.com http://facebook.com/datacube.th
• การสร้างโมเดลและการทดสอบประสิทธิภาพ
Classification & Regression task
149
สร้าง
classification model
prediction results
classification model
ID Type Predicted
1 spam spam
2 spam spam
3 normal normal
1
training data
testing data
ID Free Won Cash Type
1 Y Y Y spam
2 N Y Y spam
3 N N N normal
ID Free Won Cash Type
1 Y Y Y spam
2 N Y Y spam
3 N N N normal
2
3 4
facebook.com/datacube.th
facebook.com/datacube.th
151. http://dataminingtrend.com http://facebook.com/datacube.th
Performance (classification)
• พิจารณาคลาส normal
• True Positive (TP)
• True Negative (TN)
• False Positive (FP)
• False Negative (FN)
151
ID Type Predicted
1 spam spam
2 spam spam
3 normal normal
4 normal spam
5 spam spam
6 spam spam
7 normal spam
8 spam normal
9 normal normal
10 normal normal
11 spam spam
12 spam spam
13 spam normal
14 spam normal
15 normal normal
ID Type Predicted
1 spam spam
2 spam spam
3 normal normal
4 normal spam
5 spam spam
6 spam spam
7 normal spam
8 spam normal
9 normal normal
10 normal normal
11 spam spam
12 spam spam
13 spam normal
14 spam normal
15 normal normal
pred.true. normal spam
normal TP FP
spam FN TN
dataminingtrend.com
152. http://dataminingtrend.com http://facebook.com/datacube.th
Performance (classification)
• พิจารณาคลาส normal
• True Positive (TP)
• จำนวนที่ทำนายตรงกับข้อมูลจริงใน
คลาสที่กำลังพิจารณา
• True Negative (TN)
• False Positive (FP)
• False Negative (FN)
152
ID Type Predicted
1 spam spam
2 spam spam
3 normal normal
4 normal spam
5 spam spam
6 spam spam
7 normal spam
8 spam normal
9 normal normal
10 normal normal
11 spam spam
12 spam spam
13 spam normal
14 spam normal
15 normal normal
ID Type Predicted
1 spam spam
2 spam spam
3 normal normal
4 normal spam
5 spam spam
6 spam spam
7 normal spam
8 spam normal
9 normal normal
10 normal normal
11 spam spam
12 spam spam
13 spam normal
14 spam normal
15 normal normal
pred.true. normal spam
normal 4 FP
spam FN TN
dataminingtrend.com
153. http://dataminingtrend.com http://facebook.com/datacube.th
Performance (classification)
• พิจารณาคลาส normal
• True Positive (TP)
• True Negative (TN)
• จำนวนที่ทำนายตรงกับข้อมูลจริงใน
คลาสที่ไม่ได้กำลังพิจารณา
• False Positive (FP)
• False Negative (FN)
153
ID Type Predicted
1 spam spam
2 spam spam
3 normal normal
4 normal spam
5 spam spam
6 spam spam
7 normal spam
8 spam normal
9 normal normal
10 normal normal
11 spam spam
12 spam spam
13 spam normal
14 spam normal
15 normal normal
ID Type Predicted
1 spam spam
2 spam spam
3 normal normal
4 normal spam
5 spam spam
6 spam spam
7 normal spam
8 spam normal
9 normal normal
10 normal normal
11 spam spam
12 spam spam
13 spam normal
14 spam normal
15 normal normal
pred.true. normal spam
normal 4 FP
spam FN 6
dataminingtrend.com
154. http://dataminingtrend.com http://facebook.com/datacube.th
Performance (classification)
• พิจารณาคลาส normal
• True Positive (TP)
• True Negative (TN)
• False Positive (FP)
• จำนวนที่ทำนายผิดเป็นคลาสที่กำลัง
พิจารณา
• False Negative (FN)
154
ID Type Predicted
1 spam spam
2 spam spam
3 normal normal
4 normal spam
5 spam spam
6 spam spam
7 normal spam
8 spam normal
9 normal normal
10 normal normal
11 spam spam
12 spam spam
13 spam normal
14 spam normal
15 normal normal
ID Type Predicted
1 spam spam
2 spam spam
3 normal normal
4 normal spam
5 spam spam
6 spam spam
7 normal spam
8 spam normal
9 normal normal
10 normal normal
11 spam spam
12 spam spam
13 spam normal
14 spam normal
15 normal normal
pred.true. normal spam
normal 4 3
spam FN 6
dataminingtrend.com
155. http://dataminingtrend.com http://facebook.com/datacube.th
Performance (classification)
• พิจารณาคลาส normal
• True Positive (TP)
• True Negative (TN)
• False Positive (FP)
• False Negative (FN)
• จำนวนที่ทำนายผิดเป็นคลาสที่ไม่ได้
กำลังพิจารณา
155
ID Type Predicted
1 spam spam
2 spam spam
3 normal normal
4 normal spam
5 spam spam
6 spam spam
7 normal spam
8 spam normal
9 normal normal
10 normal normal
11 spam spam
12 spam spam
13 spam normal
14 spam normal
15 normal normal
ID Type Predicted
1 spam spam
2 spam spam
3 normal normal
4 normal spam
5 spam spam
6 spam spam
7 normal spam
8 spam normal
9 normal normal
10 normal normal
11 spam spam
12 spam spam
13 spam normal
14 spam normal
15 normal normal
pred.true. normal spam
normal 4 3
spam 2 6
dataminingtrend.com
157. http://dataminingtrend.com http://facebook.com/datacube.th
Performance (classification)
• Precision
• จำนวนที่ทำนายถูกจากข้อมูลที่
ทำนายว่าเป็นคลาสที่พิจารณาอยู่
• Precision สำหรับ normal
• True Positive
True Positive + False Positive
• 4/7 x 100 = 57.12%
• Precision สำหรับ spam
• 6/8 x 100 = 75%
157
ID Type Predicted
3 normal normal
8 spam normal
9 normal normal
10 normal normal
13 spam normal
14 spam normal
15 normal normal
pred.true. normal spam
normal TP FP
spam FN TN
Precision
ID Type Predicted
1 spam spam
2 spam spam
4 normal spam
5 spam spam
6 spam spam
7 normal spam
11 spam spam
12 spam spam
predict เป็นคลาส spam
predict เป็นคลาส normal
confusion matrix ของคลาส normal
158. http://dataminingtrend.com http://facebook.com/datacube.th
Performance (classification)
• Recall
• จำนวนข้อมูลที่ทำนายถูก
• Recall สำหรับ normal
• True Positive
True Positive + False Negative
• 4/6 x 100 = 66.67%
• Recall สำหรับ spam
• 7/9 x 100 = 77.78%
158
pred.true. normal spam
normal TP FP
spam FN TN
คลาส spam
คลาส normal
confusion matrix ของคลาส normal
Recall
ID Type Predicted
3 normal normal
4 normal spam
7 normal spam
9 normal normal
10 normal normal
15 normal normal
ID Type Predicted
1 spam spam
2 spam spam
5 spam spam
6 spam spam
8 spam normal
11 spam spam
12 spam spam
13 spam normal
14 spam spam
160. http://dataminingtrend.com http://facebook.com/datacube.th
Performance (classification)
• F-Measure
• ค่าเฉลี่ยของ Precision และ Recall
• 2 x Precision x Recall
Precision + Recall
• F-Measure สำหรับ normal
• 2 x 57.12 x 66.67 = 61.53%
57.12 + 66.67
• F-Measure สำหรับ spam
• 2 x 75 x 77.8 = 76.37%
75 + 77.8
160
ID Type Predicted
3 normal normal
8 spam normal
9 normal normal
10 normal normal
13 spam normal
14 spam normal
15 normal normal
Precision = 4/7 x 100 = 57.12%
Recall = 4/6 x 100 = 66.67%
ID Type Predicted
3 normal normal
4 normal spam
7 normal spam
9 normal normal
10 normal normal
15 normal normal