SlideShare a Scribd company logo
1 of 40
(data)3

base|warehouse|mining
http://www.dataminingtrend.com

http://facebook.com/datacube.th
การเตรียมข้อมูล

(preprocess)
บทที่ 2
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Sales database
• ซุเปอร์มาร์เก็ตแห่งหนึ่งมีร้านอยู่หลายสาขา (Store) แต่การเก็บข้อมูลจะ

เก็บไว้ในฐานข้อมูลกลาง ซึ่งมีรายละเอียดดังในตารางด้านล่าง
• trans_id แสดงหมายเลขการซื้อสินค้า (transaction)
• store_id แสดงหมายเลขของสาขา
• customer_id แสดงหมายเลขของลูกค้า
• product_id แสดงหมายเลขของสินค้า
• product_cat แสดงประเภทของสินค้า (category)
• date แสดงวันและเวลาที่ซื้อสินค้า
• amount แสดงจำนวนสินค้าชนิดนั้นที่ซื้อ
• single_price แสดงราคาสินค้า/หน่วย
27
trans_id store_id customer_id product_id product_cat date amount single_price
1 Store 01 Customer 1508 53642 Toys Sun Apr 01 08:09:06
2007
3.0 90.24
2 Store 15 Customer 169 90945 Movies Tue Feb 15 10:47:27
2005
2.0 60.58
3 Store 12 Customer 124 18548 Movies Thu Sep 27 05:38:56
2007
5.0 96.61
4 Store 01 Customer 1508 53642 Toys Sun Apr 01 08:09:06
2007
3.0 90.24
A B C D E F G H
A
B
C
D
E
F
G
H
Note:
• ข้อมูลที่ใช้ในหนังสือเล่มนี้เป็นข้อมูลตัวอย่างที่สร้างขึ้นมาจาก RapidMiner Studio 6 ดูวิธีการสร้าง
ชุดข้อมูลตัวอย่างนี้ได้จาก Appendix A ครับ
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Data
• RapidMiner จะมีชื่อเรียกข้อมูลที่แสดงในรูปแบบของตาราง ดังนี้
• แถว เรียกว่า ตัวอย่าง (example)
• คอลัมน์ เรียกว่า แอตทริบิวต์ (attribute) ซึ่งมี 2 หน้าที่ที่ใช้งานบ่อย
• ไอดี (ID) เป็นแอตทริบิวต์ที่แสดงหมายเลขของข้อมูล หรือ primary key ในฐานข้อมูล
• แอตทริบิวต์ที่มีหน้าที่เป็นแอตทริบิวต์ไอดีจะแสดงด้วยสีฟ้า
• แอตทริบิวต์ทั่วไป (attribute) เป็นแอตทริบิวต์ปกติที่ใช้ในการประมวลผลหรือ
คำนวณต่างๆ
• แอตทริบิวต์ที่มีหน้าที่เป็นแอตทริบิวต์ทั่วไปจะแสดงด้วยสีเทา
• ประเภทของข้อมูลที่เก็บในแต่ละแอตทริบิวต์
• Polynominal คือ ข้อมูลประเภท category (ข้อมูลที่ไม่ใช่ตัวเลข) มีค่ามากกว่า 2 ค่า
ขึ้นไป
• Integer/Real คือ ข้อมูลประเภทตัวเลขจำนวนเต็ม หรือ จำนวนที่มีทศนิยม
• Date time คือ ข้อมูลประเภทวันที่และเวลา
28
attributeID
trans_id store_id customer_id product_id product_cat date amount single_price
1 Store 01 Customer 1508 53642 Toys Sun Apr 01 08:09:06
2007
3.0 90.24
2 Store 15 Customer 169 90945 Movies Tue Feb 15 10:47:27
2005
2.0 60.58
3 Store 12 Customer 124 18548 Movies Thu Sep 27 05:38:56
2007
5.0 96.61
4 Store 01 Customer 1508 53642 Toys Sun Apr 01 08:09:06
2007
3.0 90.24
polynominal data time realinteger
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• Repository
• เป็นที่เก็บข้อมูลและโพรเซสเพื่อใช้งานใน RapidMiner Studio 6 ทำให้ไม่ต้อง
โหลดข้อมูลจากไฟล์ใหม่ทุกครั้ง
• ส่วน Repository ประกอบด้วย 2 ส่วน คือ
• เมนูสำหรับการจัดการ Repository
• สำหรับสร้าง Repository ใหม่
• โหลดไฟล์ประเภทต่างๆ เข้าไปไว้ใน Repository
• สร้างโฟลเดอร์ใหม่
• Repository ที่มีอยู่ใน RapidMiner Studio 6
• Samples เป็นข้อมูลและโพรเซส ตัวอย่างที่ RapidMiner Studio 6 เตรียมไว้ให้
• Local Repository เป็น Repository ที่เก็บข้อมูลและโพรเซสในเครื่องคอมพิวเตอร์

ของเราเอง (local)
• Cloud Repository เป็น Repository ที่เก็บข้อมูลและโพรเซสบน Cloud
Data management
29
A
B
A
B
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• ในหนังสือเล่มนี้เราจะสร้าง Repository ใหม่เพื่อเก็บข้อมูลและโพรเซส
• คลิกที่ไอคอน
• เลือก New local repository
• กดปุ่ม Next
• เปลี่ยนชื่อ Alias เป็น GettingStartedWithRapidMiner
• คลิกที่ Use standard location เพื่อไม่เลือก option นี้
• คลิกที่ไอคอน เพื่อเลือก Root directory (ซึ่งเป็นโฟลเดอร์สำหรับเก็บข้อมูล)
ใหม่
Create Repository
30
2
1
3
1
2
3
4
5
6
6
4
5
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• สร้าง Repository ใหม่ (ต่อ)
• คลิกที่ไอคอน เพื่อสร้างโฟลเดอร์สำหรับ Repository ใหม่ ในตัวอย่างนี้เลือกที่
Desktop (แต่ท่านผู้อ่านสามารถเลือกที่ไดรฟ์ C: หรือ D: ก็ได้ครับ)
• สร้างโฟลเดอร์ชื่อ GettingStartedWithRapidMiner
• กดปุ่ม OK
• เลือกโฟลเดอร์ที่สร้างขึ้น
• กดปุ่ม Open
Create Repository
31
7
7
8
9
10
11
8 10
11
9
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Create Repository
• สร้าง Repository ใหม่ (ต่อ)
• กดปุ่ม Finish
• จะได้ Repository ใหม่แสดงขึ้นมา
32
12
13
12
13
ขยายส่วน Repositories ให้
เต็มหน้าจอ
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Import Sale data
• import ไฟล์ Excel เข้าไปไว้้ใน Repository
• ในส่วน Repositories คลิกที่ไอคอน เลือก Import Excel Sheet…
• เลือกไฟล์ sale_data.xlsx ที่สร้างขึ้น (ดูวิธีการสร้างไฟล์ประเภท Excel ได้จาก
Appendix A ครับ)
• ขั้นตอนที่ 2 ของการ Import ไฟล์ คือ การเลือก Worksheet ที่ต้องการ import
• ในไฟล์ตัวอย่างมีแค่ Worksheet เดียวจึงมีเพียงแท็บเดียวให้เลือก
33
3
4
เลือกไฟล์ sales_data.xlsx
5
เลือก Worksheet นี้
1
2
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Import Sale data
• import ไฟล์ Excel เข้าไปไว้้ใน Repository (ต่อ)
• ขั้นตอนที่ 3 กำหนดให้แถวแรกของไฟล์เป็นชื่อแอตทริบิวต์ และคลิก Next
• ขั้นตอนที่ 4 เปลี่ยน Date format ให้เป็นแบบ yyyy-MM-dd HH:mm:ss
• เปลี่ยนแอตทริบิวต์ transaction_id ให้มีหน้าที่ (role) เป็น ID และ product_id
ให้เป็นประเภท Polynominal
34
7
6
กำหนดให้แถวแรกเป็น
ชื่อแอตทริบิวต์
10
8
9
11
เปลี่ยนรูปแบบของวันที่
และเวลา
เปลี่ยนหน้าที่ของ
แอตทริบิวต์ให้เป็น ID
เปลี่ยนประเภทให้เป็น Polynominal แทน Integer
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• import ไฟล์ Excel เข้าไปไว้้ใน Repository (ต่อ)
• ขั้นตอนที่ 5 ซึ่งเป็นขั้นตอนสุดท้ายคือกำหนดว่าจะเก็บข้อมูลไว้ที่ Repository ที่
สร้างขึ้นมาใหม่ (GettingStartedWithRapidMiner) และตั้งชื่อไฟล์เป็น sales_data
• ข้อมูลที่ import เข้ามาใน RapidMiner Studio 6 จะแสดงเป็นรูปแบบ

ของตาราง แต่ก็สามารถเปลี่ยนไปดูในรูปแบบอื่นๆ ได้ เช่น กราฟ
Import Sale data
35
13
12
14
เลือกไฟล์ Repository ที่สร้างขึ้นใหม่
ตั้งชื่อข้อมูลเป็น sales_data
แสดงรายละเอียดของข้อมูล
คลิกที่ชื่อแอตทริบิวต์เพื่อ sort
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• แสดงข้อมูลที่โหลดเข้ามาได้หลายรูปแบบ เช่น
• แสดงข้อมูลในรูปแบบตาราง (Data) และถูกกำหนดเป็นค่าเริ่มต้น (default)
• แสดงค่าสรุปทางสถิติ (Statistics) เช่น ค่า Min, Max, Average, Deviation
• แสดงกราฟรูปแบบต่างๆ (Charts) เช่น กราฟแท่ง กราฟวงกลม
• แสดงข้อมูลในรูปแบบตาราง
• ExampleSet แสดงจำนวนข้อมูลทั้งหมดในไฟล์
• Filter แสดงจำนวนข้อมูลจากการกรอง (filter) ทำได้ 5 แบบ
• all แสดงข้อมูลทั้งหมด (ทั้งที่มีค่าว่างและไม่ว่าง)
• no_missing_attributes แสดงเฉพาะข้อมูลที่ไม่มีค่าว่างในแอตทริบิวต์
• missing_attributes แสดงเฉพาะข้อมูลที่มีค่าว่างในแอตทริบิวต์
• no_missing_labels แสดงเฉพาะข้อมูลที่ไม่มีค่าว่างในแอตทริบิวต์ประเภทลาเบล
• missing_labels แสดงเฉพาะข้อมูลที่มีค่าว่างในแอตทริบิวต์ประเภทลาเบล
• ตารางแสดงข้อมูลในแต่ละแอตทริิบิวต์ คลิกที่ชื่อแอตทริบิวต์เพื่อทำการเรียงลำดับ
• กดปุ่ม Ctrl ค้างไว้ และคลิกที่ชื่อแอตทริบิวต์จะเป็นการเรียงลำดับมากกว่า 1
แอตทริบิวต์ (สำหรับระบบปฏิบัติการ OS X ให้กดปุ่ม command แทน)
Data exploration
36
A
B
C
A
B
C
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Data exploration
• คลิกที่เมนู Statistics จะแสดงค่าสรุปทางสถิติ มีคอลัมน์ต่างๆ ดังนี้
• Name แสดงชื่อแอตทริบิวต์
• Type แสดงประเภทของข้อมูลในแต่ละแอตทริบิวต์ เช่น Integer, Polynominal
• Miss. จำนวนข้อมูลที่มีค่าว่าง
• Statistics ค่าทางสถิติต่างๆ เช่น Min, Max, Average, Deviation, Least, Most,
Values
37
A
B
C
D
A B C D
• ข้อมูล sales_data ที่ import เข้ามาจะแสดงไว้
ใน Repository
• สัญลักษณ์ แสดงข้อมูล (data)
• ถ้าต้องการเรียกดูข้อมูลให้ double click ที่ชื่อ
ของข้อมูล
• ถ้าต้องการนำไปใช้ในโพรเซส ให้คลิกที่ชื่อ
ข้อมูลและลากไปวางไว้ใน main process
ข้อมูลที่ import เข้ามา
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Data exploration
• ข้อมูล sales ที่ import เข้ามามีจำนวนการซื้อขายทั้งหมด 100,000 ตัวอย่าง
(examples)
• ระยะเวลาการซื้อขายตั้งแต่ วันที่ 1 กุมภาพันธ์ 2005 (Feb 1, 2005) จนถึง
วันที่ 29 พฤศจิกายน 2008 (Nov 29, 2008)
• มีการซื้อจากร้านค้าทั้งหมด 15 สาขา (Store)
• มีลูกค้า (customers) ทั้งหมด 2,000 คน
• มีสินค้าทั้งหมด 8 ประเภท คือ
• Books, Clothing, Electronics, Health, Home/Garden, Movies, Sports
และ Toys
• ในบทนี้จะแนะนำการเตรียมข้อมูล (preprocessing) เพื่อใช้ในการแบ่งกลุ่ม
ลูกค้า (รายละเอียดอยู่ในบทที่ 3) โดยมีขั้นตอนดังนี้
• เลือกเฉพาะสาขาที่สนใจ เช่น สาขาที่ 1 (Store 01)
• คำนวณราคารวมสำหรับการซื้อสินค้าแต่ละครั้ง
• สรุปค่าต่างๆ ได้แก่
• จำนวนครั้งในการซื้อสินค้าของลูกค้าแต่ละราย (Frequency)
• จำนวนเงินที่ใช้จ่ายรวมของลูกค้าแต่ละราย (Monetary)
• วันที่ซื้อสินค้าล่าสุดของลูกค้าแต่ละราย
38
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Preprocessing: Operators
• โอเปอเรเตอร์ที่ใช้ในบทนี้มีดังต่อไปนี้
39
โอเปอเรเตอร์ คำอธิบาย
Retrieve
ใช้สำหรับดึงข้อมูลที่เก็บไว้ใน Repository มาใช้งานใน

โพรเซส (Process)
Filter Example
ใช้สำหรับเลือก (filter) ข้อมูลที่สนใจออกมาแสดงผล
สำหรับในตัวอย่างนี้ใช้เพื่อเลือกเฉพาะข้อมูลที่ขายในสาขา
ที่ 1 (Store 01)
Generate Attribute
ใช้สำหรับสร้างแอตทริบิวต์ใหม่ขึ้นมา สำหรับในตัวอย่างนี้
ใช้เพื่อคำนวณค่า total_price และค่า Recency
Aggregate
ใช้สำหรับสรุปค่าต่างๆ สำหรับในตัวอย่างนี้ใช้เพื่อคำนวณ
จำนวนครั้งในการซื้อสินค้า และค่าใช้จ่ายของลูกค้า

แต่ละราย
Rename
ใช้สำหรับเปลี่ยนชื่อแอตทริบิวต์ต่างๆ สำหรับตัวอย่างนี้ใช้
เพื่อเปลี่ยนชื่อแอตทริบิวต์ที่มีวงเล็บ ( และ )
Subprocess
ใช้สำหรับรวบรวมโพรเซสที่สร้างขึ้นมาไว้ภายใน

โอเปอเรเตอร์ สำหรับตัวอย่างนี้จะนำโพรเซสที่สร้างได้
จากบทที่ 2 ไว้ในโอเปอเรเตอร์ Subprocess นี้
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Preprocessing: Filter Examples
• ในบทนี้จะแนะนำการเตรียมข้อมูล (preprocessing) เพื่อใช้ในการแบ่งกลุ่ม
ลูกค้า (รายละเอียดอยู่ในบทที่ 3) โดยมีขั้นตอนดังนี้
• เลือกเฉพาะสาขาที่สนใจ เช่น สาขาที่ 1 (Store 01)
• ใช้โอเปอเรเตอร์ Filter Examples
• คำนวณราคารวมสำหรับการซื้อสินค้าแต่ละครั้ง
• สรุปค่าต่างๆ ได้แก่
• จำนวนครั้งในการซื้อสินค้าของลูกค้าแต่ละราย (Frequency)
• จำนวนเงินที่ใช้จ่ายรวมของลูกค้าแต่ละราย (Monetary)
• วันที่ซื้อสินค้าล่าสุดของลูกค้าแต่ละราย
• ดึงข้อมูล (retrieve) จาก Repository มาใช้งานในโพรเซส โดยลาก (drag)
ข้อมูล sales_data มาไว้ในส่วน Main Process
40
1
2
คลิกที่ sales_data
ลากมาวางไว้ที่
Main Process
Note:
• โอเปอเรเตอร์ที่เลือกจะมีเส้นกรอบสีส้มล้อมรอบโอเปอเรเตอร์นั้นอยู่
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Preprocessing: Filter Examples
• เลือกโอเปอเรเตอร์ Filter Examples เพื่อเลือกเฉพาะข้อมูลของ

สาขาที่ 1 (Store 1)
• ค้นหาโอเปอเรเตอร์ Filter Examples ในส่วน Operators หลังจากนั้นโอเปอ

เรเตอร์จะแสดงออกมา (สามารถพิมพ์บางส่วนของชื่อโอเปอเรเตอร์ได้)
• ลากโอเปอเรเตอร์ไปวางไว้ใน Main Process
• ลากเส้นเชื่อมจากพอร์ต out ของโอเปอเรเตอร์ Retrieve Sales_data ไปต่อกับ
พอร์ต exa ของโอเปอเรเตอร์ Filter Examples เพื่อส่งข้อมูลที่ดึงมาจาก
Repository ไปใช้งานต่อในโอเปอเรเตอร์ Filter Examples
41
3
4 คลิกที่โอเปอเรเตอร์
ใส่คำที่ต้องการค้นหา
5ลากมาวางไว้ที่ Main Process
6
ลากเส้นเชื่อมระหว่าง 2 โอเปอเรเตอร์

เพื่อส่งข้อมูลไปใช้งานต่อ
Note:
• พอร์ตที่มีชื่อว่า exa จะเป็นข้อมูลที่อยู่
ในรูปแบบของตาราง (table)
• เอาท์พุตพอร์ตของ Filter Examples จะ
มี 3 พอร์ต คือ
• exa แสดงข้อมูลที่ผ่านเงื่อนไขการ
filter แล้ว
• ori แสดงข้อมูลทั้งหมด
• unm แสดงข้อมูลที่ไม่ผ่านเงื่อนไข
• รายละเอียดของพอร์ตดูได้จากส่วน
Help ในตัวซอฟต์แวร์
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Preprocessing: Filter Examples
• คลิกที่โอเปอเรเตอร์ Filter Examples (ซึ่งจะมีกรอบสีส้มล้อมรอบอยู่) และส่วน
พารามิเตอร์จะแสดงพารามิเตอร์ของโอเปอเรเตอร์ Filter Examples
• คลิกที่ปุ่ม Add Filters... จะแสดงหน้าต่าง Create Filters ขึ้นมา
• ใส่เงื่อนไขเพื่อเลือกเฉพาะสาขาที่ 1 (Store 01)
• เลือกแอตทริบิวต์ store_id
• เลือกเงื่อนไขเป็น equals
• คลิกที่ไอคอน และเลือก Store 01 ในส่วนเงื่อนไข
42
7
คลิกที่ปุ่ม Add Filters...
หน้าต่างสำหรับการใส่เงื่อนไขจะแสดงขึ้นมา
8 9
10คลิกเพื่อให้แสดงค่าต่างๆ ในแอตทริบิวต์ store_id
11
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Preprocessing: Filter Examples
• ลากเส้นต่อจากพอร์ต exa ของโอเปอเรเตอร์ Filter Examples ไป

ยังพอร์ต res (พอร์ตด้านขวามือเพื่อแสดงข้อมูลในหน้าต่าง Results)
• คลิกที่ปุ่ม (Run process) เพื่อให้โพรเซสทำงาน
• หลังจากที่โพรเซสทำงานเสร็จเรียบร้อยจะเปลี่ยนมายังหน้าต่าง Results
• แสดงข้อมูลการซื้อขายเฉพาะของสาขาที่ 1 (Store 01) ซึ่งมีจำนวน 6,636
ตัวอย่าง
43
12
13
ลากเส้นเชื่อมระหว่างโอเปอเรเตอร์และพอร์ต res
คลิกที่ปุ่ม Run เพื่อให้โพรเซสทำงาน
แสดงเฉพาะข้อมูลที่เป็น Store 01
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Preprocessing: Filter Examples
• คลิกที่ เพื่อสลับมาที่หน้าจอ Design
• คลิกที่ปุ่ม เพื่อบันทึก (Save) โพรเซส
• เลือกบันทึกโพรเซสใน Repository ที่สร้างขึ้นมาใหม่โดยตั้งชื่อว่า

segmentation_and_association
44
14 คลิกเพื่อบันทึกโพรเซสที่สร้างขึ้น
15
16
17
เลือก Repository ที่สร้างไว้
ตั้งขื่อโพรเซสที่กำลังใข้งาน โพรเซสที่บันทึกไว้ซึ่งแสดง
ด้วยไอคอนรูปเฟือง
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Preprocessing: Generate Attributes
• ในบทนี้จะแนะนำการเตรียมข้อมูล (preprocessing) เพื่อใช้ในการแบ่งกลุ่ม
ลูกค้า (รายละเอียดอยู่ในบทที่ 3) โดยมีขั้นตอนดังนี้
• เลือกเฉพาะสาขาที่สนใจ เช่น สาขาที่ 1 (Store 01)
• คำนวณราคารวมสำหรับการซื้อสินค้าแต่ละครั้ง
• ใช้โอเปอเรเตอร์ Generate Attributes
• สรุปค่าต่างๆ ได้แก่
• จำนวนครั้งในการซื้อสินค้าของลูกค้าแต่ละราย (Frequency)
• จำนวนเงินที่ใช้จ่ายรวมของลูกค้าแต่ละราย (Monetary)
• วันที่ซื้อสินค้าล่าสุดของลูกค้าแต่ละราย
• คลิกที่ เพื่อสลับมาที่หน้าจอ Design
• เนื่องจากข้อมูล sales_data มีเฉพาะราคาต่อหน่วย (แอตทริบิวต์ที่ชื่อว่า
single_price) แต่ในการแบ่งกลุ่มลูกค้าจำเป็นต้องใช้ราคารวมแต่ละครั้งที่ซื้อ
สินค้า (total price = amount x single_price)
• ใช้โอเปอเรเตอร์ Generate Attributes เพื่อสร้างแอตทริบิวต์ใหม่และให้ชื่อว่า
total_price
45
1
2 คลิกที่โอเปอเรเตอร์
ใส่คำที่ต้องการค้นหา
3
ลากมาวางต่อกับโพรเซสเดิมที่มีอยู่โดยให้
เส้นหนาขึ้นเล็กน้อยแล้วค่อยปล่อย
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• คลิกที่โอเปอเรเตอร์ Generate Attributes ซึ่งจะมีพารามิเตอร์ต่างๆ ที่เกี่ยวข้อง
แสดงขึ้นมาทางด้านขวามือ
• คลิกที่ปุ่ม Edit list (0) ... จะแสดงหน้าต่าง functional descriptors ขึ้นมา
• สร้างแอตทริบิวต์ใหม่โดยมีรายละเอียดดังนี้
• กำหนดให้ attribute name เป็น total_price
• และ function expression เป็น amount * single_price
Preprocessing: Generate Attributes
46
4
คลิกที่ปุ่ม Edit List (0)...
หน้าต่างสำหรับการใส่เงื่อนไขจะแสดงขึ้นมา
5 6
7
ใส่ช่ือแอตทริบิวต์ใหม่
ใส่ค่า amount * single_price
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• คลิกที่ปุ่ม (Run process) เพื่อให้โพรเซสทำงาน
• หลังจากที่โพรเซสทำงานเสร็จเรียบร้อยจะเปลี่ยนมายังหน้าต่าง Results
• แสดงข้อมูลที่มีแอตทริบิวต์ total_price เพิ่มขึ้นมาด้วย
Preprocessing: Generate Attributes
47
8 คลิกที่ปุ่ม Run เพื่อให้โพรเซสทำงาน
มีแอตทริบิวต์ total_price เพิ่มขึ้นมา
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Preprocessing: Aggregate
• ในบทนี้จะแนะนำการเตรียมข้อมูล (preprocessing) เพื่อใช้ในการแบ่งกลุ่ม
ลูกค้า (รายละเอียดอยู่ในบทที่ 3) โดยมีขั้นตอนดังนี้
• เลือกเฉพาะสาขาที่สนใจ เช่น สาขาที่ 1 (Store 01)
• คำนวณราคารวมสำหรับการซื้อสินค้าแต่ละครั้ง
• สรุปค่าต่างๆ ได้แก่
• จำนวนครั้งในการซื้อสินค้าของลูกค้าแต่ละราย (Frequency)
• จำนวนเงินที่ใช้จ่ายรวมของลูกค้าแต่ละราย (Monetary)
• วันที่ซื้อสินค้าล่าสุดของลูกค้าแต่ละราย
• ใช้โอเปอเรเตอร์ Aggregate, Rename และ Generate Attributes
• เนื่องจากมีลูกค้าเป็นจำนวนมากทำให้ไม่สามารถมองรายละเอียดการซื้อสินค้า
ของลูกค้าแต่ละรายได้ เราจึงสนใจค่าสรุปต่างๆ ได้แก่
• จำนวนครั้งในการซื้อสินค้าของลูกค้าแต่ละราย
• ค่าใช้จ่ายรวมของลูกค้าแต่ละราย
• วันที่ลูกค้าซื้อสินค้าครั้งล่าสุด
• ค่าต่างๆ เหล่านี้จะนำไปใช้ในเรื่องการแบ่งกลุ่มลูกค้าที่เรียกว่าวิธี RFM [2] ซึ่งย่อ
มาจาก Recency, Frequency และ Monetary ซึ่งจะแสดงตัวอย่างการคำนวณ
ในหน้าถัดไป
48
Note:
• ในหนังสือเล่มนี้นอกจากการแสดงขั้นตอนการใช้งาน RapidMiner Studio 6 แล้วจะมีการอธิบาย
concept ที่เกี่ยวข้องด้วยครับ
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
RFM: Recency, Frequency, Monetary
• RFM เป็นการแบ่งกลุ่มลูกค้าตามพฤติกรรมการซื้อสินค้าของลูกค้า โดยดูจาก
• ระยะเวลา (จำนวนวัน) จากการซื้อล่าสุดที่ผ่านมา (Recency)
• ความถี่ของการซื้อสินค้า (Frequency)
• การใช้จ่ายของลูกค้า (Monetary)
• ข้อมูลคำนวณได้จากตาราง Order Detail ที่เก็บไว้ (หรือในหนังสือเล่มนี้ใช้ข้อมูล
จาก sales data ที่ import เข้าไปแล้วครับ)
• จากตารางจะเห็นว่ามีลูกค้าทั้งหมด 3 คน คือ Customer 1, 2 และ 3 เราจะ
พิจารณาลูกค้าคนที่ 1 ก่อนครับ
• ลูกค้า Customer 1 ซื้อไปล่าสุดเมื่อวันที่ 7 เมษายน 2007 (Apr 7, 2007) เมื่อ
คำนวณเทียบกับวันที่ 1 สิงหาคม 2015 แล้วลูกค้าซื้อไปล่าสุดเมื่อ 3037.431 วัน
• ลูกค้า Customer 1 ซื้อไปจำนวน 3 ครั้งคือ transaction id = 58909, 35366 

และ 31907
• ลูกค้า Customer 1 ใช้จ่ายรวมทั้งหมด 72.012+601.990+279.435 = $ 953.437
• จะได้ค่า Recency = 3037.431, Frequency = 3 และ Monetary = 953.437 ดัง
แสดงในตารางด้านขวามือของหน้าถัดไป
49
Customer ID Recency Frequency Monetary
Customer 1
Customer 2
Customer 3
หมายเหตุ: คำนวณ ณ วันที่ Aug 1, 2015
trans_id customer_id date total_price
58909 Customer 1 Feb 20, 2007 72.012
35366 Customer 1 Mar 16, 2007 601.990
31907 Customer 1 Apr 7, 2007 279.435
10884 Customer 3 Mar 9, 2008 289.249
77378 Customer 2 May 4, 2008 285.063
95678 Customer 3 Nov 24, 2008 326.293
ตาราง sales data
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
RFM: Recency, Frequency, Monetary
• หลังจากนั้นมาพิจารณาลูกค้าคนที่ 2 กันครับ
• ลูกค้า Customer 2 ซื้อไปล่าสุดเมื่อวันที่ 4 พฤษภาคม 2008 (May 4, 2008)
เมื่อคำนวณเทียบกับวันที่ 1 สิงหาคม 2015 แล้วลูกค้าซื้อไปล่าสุดเมื่อ
2644.560 วัน
• ลูกค้า Customer 2 ซื้อไปจำนวน 1 ครั้งคือ transaction id = 77378
• ลูกค้า Customer 2 ใช้จ่ายรวมทั้งหมด $ 285.063
• จะได้ค่า Recency =2644.560, Frequency = 1 และ Monetary = 285.063
ดังแสดงในตารางด้านขวามือล่าง
50
Customer ID Recency Frequency Monetary
Customer 1 3037.431 3 953.437
Customer 2
Customer 3
หมายเหตุ: คำนวณ ณ วันที่ Aug 1, 2015
trans_id customer_id date total_price
58909 Customer 1 Feb 20, 2007 72.012
35366 Customer 1 Mar 16, 2007 601.990
31907 Customer 1 Apr 7, 2007 279.435
10884 Customer 3 Mar 9, 2008 289.249
77378 Customer 2 May 4, 2008 285.063
95678 Customer 3 Nov 24, 2008 326.293
ตาราง sales data
Customer ID Recency Frequency Monetary
Customer 1 3037.431 3 953.437
Customer 2 2644.560 1 285.063
Customer 3
หมายเหตุ: คำนวณ ณ วันที่ Aug 1, 2015
trans_id customer_id date total_price
58909 Customer 1 Feb 20, 2007 72.012
35366 Customer 1 Mar 16, 2007 601.990
31907 Customer 1 Apr 7, 2007 279.435
10884 Customer 3 Mar 9, 2008 289.249
77378 Customer 2 May 4, 2008 285.063
95678 Customer 3 Nov 24, 2008 326.293
ตาราง sales data
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
RFM: Recency, Frequency, Monetary
• หลังจากนั้นมาพิจารณาลูกค้าคนที่ 3 กันครับ
• ลูกค้า Customer 3 ซื้อไปล่าสุดเมื่อวันที่ 24 พฤศจิกายน 2008 (Nov 4, 2008) เมื่อคำนวณเทียบ
กับวันที่ 1 สิงหาคม 2015 แล้วลูกค้าซื้อไปล่าสุดเมื่อ 2440.380 วัน
• ลูกค้า Customer 3 ซื้อไปจำนวน 2 ครั้งคือ transaction id = 10884 และ 95678
• ลูกค้า Customer 3 ใช้จ่ายรวมทั้งหมด $ 615.542
• จะได้ค่า Recency = 2440.380 Frequency = 2 และ Monetary = 615.542 ดังแสดงในตาราง
ด้านขวามือล่าง
• จากตารางตัวอย่างจะเห็นได้ว่าลูกค้าที่มีการซื้อบ่อยที่สุด (Frequency มากสุด) และใช้จ่ายเยอะ
สุด (Monetary เยอะสุด) คือ ลูกค้าคนที่ 1 (Customer 1) แต่ว่าลูกค้าคนนี้ไม่ได้กลับมาซื้อสินค้า
อีกเลยตั้งแต่ปี 2007
• จากข้อมูลนี้ทำให้ต้องหาวิธีการที่จะให้ลูกค้ากลับมาซื้อบ่อยๆ เหมือนเดิมอีกครั้ง
• ในทางตรงข้ามลูกค้าคนที่ 3 (Customer 3) ก็น่าสนใจเนื่องจากมีการซื้อล่าสุดเมื่อไม่นานมานี้
(Recency น้อยที่สุด) และมีการซื้อบ่อยระดับหนึ่ง (Frequency = 2) และมีการใช้จ่ายเยอะระดับ
หนึ่ง (Monetary = 615.542)
• จากข้อมูลนี้ทำให้ต้องหาวิธีการที่จะให้ลูกค้าซื้อในจำนวนครั้งที่บ่อยขึ้นและซื้อสินค้าที่แพงขึ้น
• จากตัวอย่างจะเห็นว่ามีลูกค้าแค่ 3 ราย ถ้ามีลูกค้ามากขึ้นการพิจารณาทีละรายคงไม่ง่ายนักดัง
นั้นเราจึงจำเป็นต้องแบ่งกลุ่มลูกค้าออกเป็นกลุ่มต่างๆ ตามค่า RFM นี้ซึ่งจะอธิบายอีกครั้งในบท
ที่ 3 ครับ
51
Customer ID Recency Frequency Monetary
Customer 1 3037.431 3 953.437
Customer 2 2644.560 1 285.063
Customer 3 2440.380 2 615.542
หมายเหตุ: คำนวณ ณ วันที่ Aug 1, 2015
trans_id customer_id date total_price
58909 Customer 1 Feb 20, 2007 72.012
35366 Customer 1 Mar 16, 2007 601.990
31907 Customer 1 Apr 7, 2007 279.435
10884 Customer 3 Mar 9, 2008 289.249
77378 Customer 2 May 4, 2008 285.063
95678 Customer 3 Nov 24, 2008 326.293
ตาราง sales data
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• คลิกที่ เพื่อสลับมาที่หน้าจอ Design
• ใช้โอเปอเรเตอร์ Aggregate เพื่อสร้างทำการสรุปค่าต่างๆ ออกมา
• คลิกที่โอเปอเรเตอร์ Aggregate ซึ่งจะมีพารามิเตอร์ต่างๆ ที่เกี่ยวข้องแสดงขึ้นมา
• คลิกที่ปุ่ม Edit list (0) ... จะแสดงหน้าต่าง aggregation attributes ขึ้นมา
Preprocessing: Aggregate
52
1
2 คลิกที่โอเปอเรเตอร์
ใส่คำที่ต้องการค้นหา
ลากมาวางต่อกับโพรเซสเดิมที่มีอยู่โดยให้
เส้นหนาขึ้นเล็กน้อยแล้วค่อยปล่อย
3
หน้าต่างสำหรับการเลือกการสรุปค่าจะแสดงขึ้นมา
4
คลิกที่ปุ่ม Edit List (0)...
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• ใส่เงื่อนไขการสรุปค่าต่างๆ โดยมีรายละเอียดดังนี้
• กำหนดให้ aggregation attribute เป็น customer_id
• และ aggregation function เป็น count
• ใส่เงื่อนไขการสรุปค่าต่างๆ โดยมีรายละเอียดดังนี้
• กำหนดให้ aggregation attribute เป็น total_price
• และ aggregation function เป็น sum
Preprocessing: Aggregate
53
7 เพิ่มเงื่อนไขอื่นๆ
5 6
8 9
10 เพิ่มเงื่อนไขอื่นๆ
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• ใส่เงื่อนไขการสรุปค่าต่างๆ โดยมีรายละเอียดดังนี้
• กำหนดให้ aggregation attribute เป็น date
• และ aggregation function เป็น maximum
• ในส่วนของ group by attributes คลิกที่ปุ่ม Select Attributes... เลือก
แอตทริบิวต์ customer_id เนื่องจากเราต้องการสรุปค่าต่างๆ ตามลูกค้าแต่ละคน
Preprocessing: Aggregate
54
11 12
13
14
15
16คลิกเลือกแอตทริบิวต์ customer_id
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• คลิกที่ปุ่ม (Run process) เพื่อให้โพรเซสทำงาน
• หลังจากที่โพรเซสทำงานเสร็จเรียบร้อยจะเปลี่ยนมายังหน้าต่าง Results
• แสดงข้อมูลการสรุปค่าต่างๆ ตามที่กำหนดไว้
Preprocessing: Aggregate
ค่าที่สรุปตามลูกค้าแต่ละราย
55
17 คลิกที่ปุ่ม Run เพื่อให้โพรเซสทำงาน
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• คลิกที่ เพื่อสลับมาที่หน้าจอ Design
• เนื่องจากชื่อแอตทริบิวต์ที่แสดงผลที่ได้จากการทำ aggregate มีเครื่องหมาย “(" 

และ “)” ติดมาด้วยทำให้ไม่สามารถเรียกชื่อแอตทริบิวต์เหล่านี้ได้โดยตรง จึงต้อง
ใช้โอเปอเรเตอร์ Rename เพื่อเปลี่ยนชื่อแอตทริบิวต์
• คลิกที่โอเปอเรเตอร์ Rename ซึ่งจะมีพารามิเตอร์ต่างๆ ที่เกี่ยวข้องแสดงขึ้นมา
• เปลี่ยนชื่อแอตทริบิวต์จาก count(customer_id) ให้เป็น Frequency
Preprocessing: Rename
56
1
คลิกที่โอเปอเรเตอร์
ใส่คำที่ต้องการค้นหา
ลากมาวางต่อกับโพรเซสเดิมที่มีอยู่โดยให้
เส้นหนาขึ้นเล็กน้อยแล้วค่อยปล่อย
32
เปลี่ยนชื่อแอตทริบิวต์อื่นเพ่ิมเติม
4
เลือกแอตทริบิวต์ที่ต้องการ
เปลี่ยนชื่อ
5 ตั้งชื่อแอตทริบิวต์ใหม่
6
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Preprocessing: Rename
• หลังจากคลิกที่ปุ่ม Edit list (0) ... จะแสดงหน้าต่าง rename additional
attributes ขึ้นมา
• เปลี่ยนชื่อแอตทริบิวต์จาก sum(total_price) เป็น Monetary
• เปลี่ยนชื่อแอตทริบิวต์จาก maximum(date) เป็น max_date
57
7 เพิ่มเงื่อนไขอื่นๆ
5 6
10
8 9
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• คลิกที่ปุ่ม (Run process) เพื่อให้โพรเซสทำงาน
• หลังจากที่โพรเซสทำงานเสร็จเรียบร้อยจะเปลี่ยนมายังหน้าต่าง Results
• แสดงข้อมูลการสรุปค่าต่างๆ ที่ชื่อแอตทริบิวต์เปลี่ยนไป
Preprocessing: Rename
58
11 คลิกที่ปุ่ม Run เพื่อให้โพรเซสทำงาน
ชื่อแอตทริบิวต์

ที่เปลี่ยนไป
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• คลิกที่ เพื่อสลับมาที่หน้าจอ Design
• เนื่องจากการคำนวณค่า Recency ในที่นี้จะเป็นจำนวนวันนับจากวันปัจจุบัน
(หรือวันที่กำหนด) ดังนั้นจึงต้องใช้โอเปอเรเตอร์ Generate Attributes เพื่อ
คำนวณค่า Recency
• คลิกที่โอเปอเรเตอร์ Generate Attributes ซึ่งจะมีพารามิเตอร์ต่างๆ ที่เกี่ยวข้อง
แสดงขึ้นมา
• คลิกที่ปุ่ม Edit list (0) ... จะแสดงหน้าต่าง functional descriptors ขึ้นมา
Preprocessing: Generate Attributes
59
1
คลิกที่โอเปอเรเตอร์
ใส่คำที่ต้องการค้นหา
ลากมาวางต่อกับโพรเซสเดิมที่มีอยู่โดยให้
เส้นหนาขึ้นเล็กน้อยแล้วค่อยปล่อย
32
4
คลิกที่ปุ่ม Edit List (0)...
หน้าต่างสำหรับการใส่เงื่อนไขจะแสดงขึ้นมา
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• สร้างแอตทริบิวต์ใหม่โดยมีรายละเอียดดังนี้
• กำหนดให้ attribute name เป็น Recency
• และ function expression เป็น
abs(date_diff(date_parse(“08/01/2015"),max_date)/3600/1000/24)
• คลิกที่ปุ่ม (Run process) เพื่อให้โพรเซสทำงาน
Preprocessing: Generate Attributes
60
5 6
7
Note:
• ฟังก์ชัน abs() จะได้ค่าสัมบูรณ์ (หรือค่าที่เป็น
บวกอย่างเดียว)
• ฟังก์ชัน date_diff() ใช้สำหรับคำนวณค่าผล
ต่างของวันที่และได้เป็นหน่วย milliseconds
• การแปลงผลต่างที่ได้จาก date_diff() ให้เป็น
จำนวนวันต้องหารด้วย 3600/1000/24
• ฟังก์ชัน date_parse() เป็นการแปลงวันที่ให้
เป็นประเภท date
• ฟังก์ชัน date_now() จะได้วันและเวลา ณ
ปัจจุบัน
8 คลิกที่ปุ่ม Run เพื่อให้โพรเซสทำงาน
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• หลังจากที่โพรเซสทำงานเสร็จเรียบร้อยจะเปลี่ยนมายังหน้าต่าง Results
• แสดงแอตทริบิวต์ Recency ที่คำนวณจากวันที่ 1 สิงหาคม 2015
Preprocessing: Generate Attributes
61
แอตทริบิวต์ Recency ที่คำนวณได้
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• คลิกที่ เพื่อสลับมาที่หน้าจอ Design
• เพื่อให้โพรเซสที่สร้างดูง่ายขึ้น เราจะ copy โพรเซสที่สร้างถึงขั้นตอนนี้ไปไว้ใน

โอเปอเรเตอร์ subprocess ซึ่งจะเห็นเป็นเพียงแค่โอเปอเรเตอร์เดียว
• โอเปอเรเตอร์ subprocess เป็นโอเปอเรเตอร์ที่สามารถใส่โพรเซส

ไว้ภายในตัวโอเปอเรเตอร์เองได้ และเรียกโอเปอเรเตอร์ประเภทนี้ว่า “Nested
Operator” ซึ่งจะมีสัญลักษณ์ แสดงอยู่ทางด้านขวาล่างของโอเปอเรเตอร์
• double click ที่โอเปอเรเตอร์จะแสดงโพรเซสภายในนั้น ถ้าต้องการกลับไปที่
Main Process ให้กดที่ปุ่มลูกศรขึ้น ( )
Preprocessing: Subprocess
62
1
คลิกที่โอเปอเรเตอร์
ใส่คำที่ต้องการค้นหา
3
2
ลากมาวางไว้ในโพรเซสก่อน
แสดงว่าเป็นโพรเซสที่อยู่
ภายในโอเปอเรเตอร์
double click ที่

โอเปอเรเตอร์เพิื่อดู

โพรเซสภายใน
แสดงว่าเป็น 

Nested Operator
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Preprocessing: Subprocess
• เลือกโอเปอเรเตอร์ต่างๆ ยกเว้นโอเปอเรเตอร์ Subprocess (กดปุ่ม Ctrl ค้างไว้
และเลือกโอเปอเรเตอร์ที่ต้องการ) และตัดโอเปอเรเตอร์เหล่านั้นออกมาและนำไป
ใส่ไว้ในโอเปอเรเตอร์ Subprocess
63
9
4
5
6
8
7
เลือกโอเปอเรเตอร์ทั้ง 6 ตัว
และตัด (cut) ออกมา
10
double click ที่โอเปอเรเตอร์
Subprocess
11
วางโอเปอเรเตอร์
ทั้งหมดไว้ในนี้
12
ลากเส้นเชื่อมไปยัง
พอร์ต out
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
• กดปุ่มลูกศรขึ้น ( ) เพื่อย้อนกลับไปที่ Main Process
• คลิกขวาที่โอเปอเรเตอร์ Subprocess และเลือกเมนู Rename เพื่อเปลี่ยนชื่อ

เป็น ‘Preprocessing’
• คลิกที่ปุ่ม เพื่อบันทึก (Save) โพรเซส
Preprocessing: Subprocess
64
13
คลิกขวาที่โอเปอเรเตอร์ และ
เลือกเมนู Rename
ลากเส้นเชื่อมไปยัง
พอร์ต res
14
15 คลิกเพื่อบันทึกโพรเซสที่สร้างขึ้น
(data)3

base|warehouse|mining
Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th
Introduction to Business Analytics with RapidMiner Studio 6
Exercise
1. จงสร้างโฟลเดอร์ภายใต้ Repository GettingStartedWithRapidMiner สำหรับ
การทำแบบฝึกหัดท้ายบทเหล่านี้โดยตั้งชื่อโฟลเดอร์ว่า exercise
2. จงเปลี่ยนโพรเซสที่สร้างขึ้นซึ่งเลือกเฉพาะข้อมูลสาขาที่ 1 (Store 01) เท่านั้น เพื่อ
ให้เลือกข้อมูลของสาขาต่างๆ ดังนี้
(1) สาขาที่ 2 (Store 02)
(2) สาขาที่ 3 (Store 03)
(3) สาขาที่ 10 (Store 10) และ สาขาที่ 15 (Store 15) พร้อมกัน
3. จงเปลี่ยนวันที่ที่ใช้ในการคำนวณแอตทริบิวต์ Recency จากเดิมที่เป็นวันที่ 1
สิงหาคม 2015 ให้เป็นวันต่างๆ ดังนี้
(1) วันที่ 12 สิงหาคม 2015
(2) วันที่ 31 ธันวาคม 2014
(3) วันที่ปัจจุบัน
4. จงบันทึกโพรเซสที่สร้างได้จากแบบฝึกหัดท้ายบทนี้ลงไปในโฟลเดอร์ exercise
ที่สร้างในข้อที่ 1
65

More Related Content

What's hot

มัธยฐาน F
มัธยฐาน  Fมัธยฐาน  F
มัธยฐาน F
Bangon Suyana
 
แนวข้อสอบคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
แนวข้อสอบคอมพิวเตอร์และเทคโนโลยีสารสนเทศแนวข้อสอบคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
แนวข้อสอบคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
Lupin F'n
 

What's hot (20)

Data mining and_big_data_web
Data mining and_big_data_webData mining and_big_data_web
Data mining and_big_data_web
 
การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)การวิเคราะห์อัลกอริทึม(algorithm analysis)
การวิเคราะห์อัลกอริทึม(algorithm analysis)
 
ค่าความจริงของประพจน์
ค่าความจริงของประพจน์ค่าความจริงของประพจน์
ค่าความจริงของประพจน์
 
การวิเคราะห์ข้อมูลใบเสร็จ7-eleven ด้วย Weka
การวิเคราะห์ข้อมูลใบเสร็จ7-eleven ด้วย Wekaการวิเคราะห์ข้อมูลใบเสร็จ7-eleven ด้วย Weka
การวิเคราะห์ข้อมูลใบเสร็จ7-eleven ด้วย Weka
 
09 anomaly detection
09 anomaly detection09 anomaly detection
09 anomaly detection
 
วิทยาการคำนวณ ม.5 - บทที่ 3 การวิเคราะห์ข้อมูล
วิทยาการคำนวณ ม.5 - บทที่ 3 การวิเคราะห์ข้อมูลวิทยาการคำนวณ ม.5 - บทที่ 3 การวิเคราะห์ข้อมูล
วิทยาการคำนวณ ม.5 - บทที่ 3 การวิเคราะห์ข้อมูล
 
มัธยฐาน F
มัธยฐาน  Fมัธยฐาน  F
มัธยฐาน F
 
ประวัติของถ่ายไฟฉาย แบ็ตเตอรี่ (History of dry cell by pawoot)
ประวัติของถ่ายไฟฉาย แบ็ตเตอรี่ (History of dry cell by pawoot)ประวัติของถ่ายไฟฉาย แบ็ตเตอรี่ (History of dry cell by pawoot)
ประวัติของถ่ายไฟฉาย แบ็ตเตอรี่ (History of dry cell by pawoot)
 
วิทยาการคำนวณ ม.5 - บทที่ 4 การทำข้อมูลให้เป็นภาพ และการสื่อสารด้วยข้อมูล
วิทยาการคำนวณ ม.5 - บทที่ 4 การทำข้อมูลให้เป็นภาพ และการสื่อสารด้วยข้อมูลวิทยาการคำนวณ ม.5 - บทที่ 4 การทำข้อมูลให้เป็นภาพ และการสื่อสารด้วยข้อมูล
วิทยาการคำนวณ ม.5 - บทที่ 4 การทำข้อมูลให้เป็นภาพ และการสื่อสารด้วยข้อมูล
 
บทที่ 3 ขั้นตอนการดำเนินการ
บทที่ 3 ขั้นตอนการดำเนินการบทที่ 3 ขั้นตอนการดำเนินการ
บทที่ 3 ขั้นตอนการดำเนินการ
 
ใบความรู้ ขั้นตอนการทำโครงงาน
ใบความรู้ ขั้นตอนการทำโครงงานใบความรู้ ขั้นตอนการทำโครงงาน
ใบความรู้ ขั้นตอนการทำโครงงาน
 
วิทยาการคำนวณ ม.5 - บทที่ 1 ข้อมูลมีคุณค่า
วิทยาการคำนวณ ม.5 - บทที่ 1 ข้อมูลมีคุณค่าวิทยาการคำนวณ ม.5 - บทที่ 1 ข้อมูลมีคุณค่า
วิทยาการคำนวณ ม.5 - บทที่ 1 ข้อมูลมีคุณค่า
 
การจัดเก็บข้อมูลสารสนเทศ
การจัดเก็บข้อมูลสารสนเทศการจัดเก็บข้อมูลสารสนเทศ
การจัดเก็บข้อมูลสารสนเทศ
 
82 สถิติและการวิเคราะห์ข้อมูล ตอนที่9_การกระจายสัมพัทธ์
82 สถิติและการวิเคราะห์ข้อมูล ตอนที่9_การกระจายสัมพัทธ์82 สถิติและการวิเคราะห์ข้อมูล ตอนที่9_การกระจายสัมพัทธ์
82 สถิติและการวิเคราะห์ข้อมูล ตอนที่9_การกระจายสัมพัทธ์
 
Power Point
Power PointPower Point
Power Point
 
สถิติเบื่องต้น
สถิติเบื่องต้นสถิติเบื่องต้น
สถิติเบื่องต้น
 
2.2 การวิเคราะห์และนำเสนอข้อมูลเชิงคุณภาพด้วยแผนภาพ
2.2 การวิเคราะห์และนำเสนอข้อมูลเชิงคุณภาพด้วยแผนภาพ2.2 การวิเคราะห์และนำเสนอข้อมูลเชิงคุณภาพด้วยแผนภาพ
2.2 การวิเคราะห์และนำเสนอข้อมูลเชิงคุณภาพด้วยแผนภาพ
 
แนวข้อสอบคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
แนวข้อสอบคอมพิวเตอร์และเทคโนโลยีสารสนเทศแนวข้อสอบคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
แนวข้อสอบคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
 
บทที่ 2 ทฤษฎีพื้นฐานของการจัดเก็บและค้นคืนสารสนทศ
บทที่ 2 ทฤษฎีพื้นฐานของการจัดเก็บและค้นคืนสารสนทศบทที่ 2 ทฤษฎีพื้นฐานของการจัดเก็บและค้นคืนสารสนทศ
บทที่ 2 ทฤษฎีพื้นฐานของการจัดเก็บและค้นคืนสารสนทศ
 
การจัดเรียงข้อมูล (sorting)
การจัดเรียงข้อมูล (sorting)การจัดเรียงข้อมูล (sorting)
การจัดเรียงข้อมูล (sorting)
 

Viewers also liked

Introduction to Data Analytics with RapidMiner Studio 6 (ภาษาไทย)
Introduction to Data Analytics with RapidMiner Studio 6 (ภาษาไทย)Introduction to Data Analytics with RapidMiner Studio 6 (ภาษาไทย)
Introduction to Data Analytics with RapidMiner Studio 6 (ภาษาไทย)
Big Data Engineering, Faculty of Engineering, Dhurakij Pundit University
 

Viewers also liked (7)

Introduction to Data Mining and Big Data Analytics
Introduction to Data Mining and Big Data AnalyticsIntroduction to Data Mining and Big Data Analytics
Introduction to Data Mining and Big Data Analytics
 
Building Decision Tree model with numerical attributes
Building Decision Tree model with numerical attributesBuilding Decision Tree model with numerical attributes
Building Decision Tree model with numerical attributes
 
Search Twitter with RapidMiner Studio 6
Search Twitter with RapidMiner Studio 6Search Twitter with RapidMiner Studio 6
Search Twitter with RapidMiner Studio 6
 
Introduction to Data Analytics with RapidMiner Studio 6 (ภาษาไทย)
Introduction to Data Analytics with RapidMiner Studio 6 (ภาษาไทย)Introduction to Data Analytics with RapidMiner Studio 6 (ภาษาไทย)
Introduction to Data Analytics with RapidMiner Studio 6 (ภาษาไทย)
 
Opinion Mining Tutorial (Sentiment Analysis)
Opinion Mining Tutorial (Sentiment Analysis)Opinion Mining Tutorial (Sentiment Analysis)
Opinion Mining Tutorial (Sentiment Analysis)
 
Advanced Predictive Modeling with R and RapidMiner Studio 7
Advanced Predictive Modeling with R and RapidMiner Studio 7Advanced Predictive Modeling with R and RapidMiner Studio 7
Advanced Predictive Modeling with R and RapidMiner Studio 7
 
Evaluation metrics: Precision, Recall, F-Measure, ROC
Evaluation metrics: Precision, Recall, F-Measure, ROCEvaluation metrics: Precision, Recall, F-Measure, ROC
Evaluation metrics: Precision, Recall, F-Measure, ROC
 

Similar to Preprocessing with RapidMiner Studio 6

การใช้งาน phpMyadmin
การใช้งาน phpMyadminการใช้งาน phpMyadmin
การใช้งาน phpMyadmin
skiats
 
Microsoft access
Microsoft accessMicrosoft access
Microsoft access
komolpalin
 

Similar to Preprocessing with RapidMiner Studio 6 (20)

Data manipulation with RapidMiner Studio 7
Data manipulation with RapidMiner Studio 7Data manipulation with RapidMiner Studio 7
Data manipulation with RapidMiner Studio 7
 
การติดตั้ง RapidMiner Studio 6.1
การติดตั้ง RapidMiner Studio 6.1การติดตั้ง RapidMiner Studio 6.1
การติดตั้ง RapidMiner Studio 6.1
 
My First Data Science Project (using Rapid Miner)
My First Data Science Project (using Rapid Miner)My First Data Science Project (using Rapid Miner)
My First Data Science Project (using Rapid Miner)
 
การใช้งาน phpMyadmin
การใช้งาน phpMyadminการใช้งาน phpMyadmin
การใช้งาน phpMyadmin
 
02 data werehouse
02 data werehouse02 data werehouse
02 data werehouse
 
Introduction to Feature (Attribute) Selection with RapidMiner Studio 6
Introduction to Feature (Attribute) Selection with RapidMiner Studio 6Introduction to Feature (Attribute) Selection with RapidMiner Studio 6
Introduction to Feature (Attribute) Selection with RapidMiner Studio 6
 
Practical Data Mining: FP-Growth
Practical Data Mining: FP-GrowthPractical Data Mining: FP-Growth
Practical Data Mining: FP-Growth
 
Excel pivot table
Excel pivot tableExcel pivot table
Excel pivot table
 
Install weka extension_rapidminer
Install weka extension_rapidminerInstall weka extension_rapidminer
Install weka extension_rapidminer
 
บทที่ 3
บทที่ 3 บทที่ 3
บทที่ 3
 
Unit3
Unit3Unit3
Unit3
 
บทที่ 3 บทที่ 4 และบทที่ 5
บทที่ 3 บทที่ 4 และบทที่ 5บทที่ 3 บทที่ 4 และบทที่ 5
บทที่ 3 บทที่ 4 และบทที่ 5
 
บทที่ 3 อ. รินทร์โชติ
บทที่ 3 อ. รินทร์โชติบทที่ 3 อ. รินทร์โชติ
บทที่ 3 อ. รินทร์โชติ
 
Microsoft access
Microsoft accessMicrosoft access
Microsoft access
 
หลักการเขียนโปรแกรม
หลักการเขียนโปรแกรมหลักการเขียนโปรแกรม
หลักการเขียนโปรแกรม
 
หลักการเขียนโปรแกรม
หลักการเขียนโปรแกรม หลักการเขียนโปรแกรม
หลักการเขียนโปรแกรม
 
การเขียนโปรแกรมด้วย Visual basic
การเขียนโปรแกรมด้วย Visual basicการเขียนโปรแกรมด้วย Visual basic
การเขียนโปรแกรมด้วย Visual basic
 
13
1313
13
 
Big data 101
Big data 101Big data 101
Big data 101
 
Database analysis & pivot table
Database analysis & pivot tableDatabase analysis & pivot table
Database analysis & pivot table
 

More from Big Data Engineering, Faculty of Engineering, Dhurakij Pundit University

More from Big Data Engineering, Faculty of Engineering, Dhurakij Pundit University (9)

Practical Data Science 
Use-cases in Retail & eCommerce
Practical Data Science 
Use-cases in Retail & eCommercePractical Data Science 
Use-cases in Retail & eCommerce
Practical Data Science 
Use-cases in Retail & eCommerce
 
First Step to Big Data
First Step to Big DataFirst Step to Big Data
First Step to Big Data
 
Introduction to Big Data Technologies
Introduction to Big Data TechnologiesIntroduction to Big Data Technologies
Introduction to Big Data Technologies
 
Introduction to Data Mining and Big Data Analytics
Introduction to Data Mining and Big Data AnalyticsIntroduction to Data Mining and Big Data Analytics
Introduction to Data Mining and Big Data Analytics
 
Apply (Big) Data Analytics & Predictive Analytics to Business Application
Apply (Big) Data Analytics & Predictive Analytics to Business ApplicationApply (Big) Data Analytics & Predictive Analytics to Business Application
Apply (Big) Data Analytics & Predictive Analytics to Business Application
 
Introduction to Predictive Analytics with case studies
Introduction to Predictive Analytics with case studiesIntroduction to Predictive Analytics with case studies
Introduction to Predictive Analytics with case studies
 
Predictive analytic-for-retail-business
Predictive analytic-for-retail-businessPredictive analytic-for-retail-business
Predictive analytic-for-retail-business
 
Introduction to Text Classification with RapidMiner Studio 7
Introduction to Text Classification with RapidMiner Studio 7Introduction to Text Classification with RapidMiner Studio 7
Introduction to Text Classification with RapidMiner Studio 7
 
Introduction to Weka: Application approach
Introduction to Weka: Application approachIntroduction to Weka: Application approach
Introduction to Weka: Application approach
 

Preprocessing with RapidMiner Studio 6

  • 2. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Sales database • ซุเปอร์มาร์เก็ตแห่งหนึ่งมีร้านอยู่หลายสาขา (Store) แต่การเก็บข้อมูลจะ
 เก็บไว้ในฐานข้อมูลกลาง ซึ่งมีรายละเอียดดังในตารางด้านล่าง • trans_id แสดงหมายเลขการซื้อสินค้า (transaction) • store_id แสดงหมายเลขของสาขา • customer_id แสดงหมายเลขของลูกค้า • product_id แสดงหมายเลขของสินค้า • product_cat แสดงประเภทของสินค้า (category) • date แสดงวันและเวลาที่ซื้อสินค้า • amount แสดงจำนวนสินค้าชนิดนั้นที่ซื้อ • single_price แสดงราคาสินค้า/หน่วย 27 trans_id store_id customer_id product_id product_cat date amount single_price 1 Store 01 Customer 1508 53642 Toys Sun Apr 01 08:09:06 2007 3.0 90.24 2 Store 15 Customer 169 90945 Movies Tue Feb 15 10:47:27 2005 2.0 60.58 3 Store 12 Customer 124 18548 Movies Thu Sep 27 05:38:56 2007 5.0 96.61 4 Store 01 Customer 1508 53642 Toys Sun Apr 01 08:09:06 2007 3.0 90.24 A B C D E F G H A B C D E F G H Note: • ข้อมูลที่ใช้ในหนังสือเล่มนี้เป็นข้อมูลตัวอย่างที่สร้างขึ้นมาจาก RapidMiner Studio 6 ดูวิธีการสร้าง ชุดข้อมูลตัวอย่างนี้ได้จาก Appendix A ครับ
  • 3. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Data • RapidMiner จะมีชื่อเรียกข้อมูลที่แสดงในรูปแบบของตาราง ดังนี้ • แถว เรียกว่า ตัวอย่าง (example) • คอลัมน์ เรียกว่า แอตทริบิวต์ (attribute) ซึ่งมี 2 หน้าที่ที่ใช้งานบ่อย • ไอดี (ID) เป็นแอตทริบิวต์ที่แสดงหมายเลขของข้อมูล หรือ primary key ในฐานข้อมูล • แอตทริบิวต์ที่มีหน้าที่เป็นแอตทริบิวต์ไอดีจะแสดงด้วยสีฟ้า • แอตทริบิวต์ทั่วไป (attribute) เป็นแอตทริบิวต์ปกติที่ใช้ในการประมวลผลหรือ คำนวณต่างๆ • แอตทริบิวต์ที่มีหน้าที่เป็นแอตทริบิวต์ทั่วไปจะแสดงด้วยสีเทา • ประเภทของข้อมูลที่เก็บในแต่ละแอตทริบิวต์ • Polynominal คือ ข้อมูลประเภท category (ข้อมูลที่ไม่ใช่ตัวเลข) มีค่ามากกว่า 2 ค่า ขึ้นไป • Integer/Real คือ ข้อมูลประเภทตัวเลขจำนวนเต็ม หรือ จำนวนที่มีทศนิยม • Date time คือ ข้อมูลประเภทวันที่และเวลา 28 attributeID trans_id store_id customer_id product_id product_cat date amount single_price 1 Store 01 Customer 1508 53642 Toys Sun Apr 01 08:09:06 2007 3.0 90.24 2 Store 15 Customer 169 90945 Movies Tue Feb 15 10:47:27 2005 2.0 60.58 3 Store 12 Customer 124 18548 Movies Thu Sep 27 05:38:56 2007 5.0 96.61 4 Store 01 Customer 1508 53642 Toys Sun Apr 01 08:09:06 2007 3.0 90.24 polynominal data time realinteger
  • 4. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • Repository • เป็นที่เก็บข้อมูลและโพรเซสเพื่อใช้งานใน RapidMiner Studio 6 ทำให้ไม่ต้อง โหลดข้อมูลจากไฟล์ใหม่ทุกครั้ง • ส่วน Repository ประกอบด้วย 2 ส่วน คือ • เมนูสำหรับการจัดการ Repository • สำหรับสร้าง Repository ใหม่ • โหลดไฟล์ประเภทต่างๆ เข้าไปไว้ใน Repository • สร้างโฟลเดอร์ใหม่ • Repository ที่มีอยู่ใน RapidMiner Studio 6 • Samples เป็นข้อมูลและโพรเซส ตัวอย่างที่ RapidMiner Studio 6 เตรียมไว้ให้ • Local Repository เป็น Repository ที่เก็บข้อมูลและโพรเซสในเครื่องคอมพิวเตอร์
 ของเราเอง (local) • Cloud Repository เป็น Repository ที่เก็บข้อมูลและโพรเซสบน Cloud Data management 29 A B A B
  • 5. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • ในหนังสือเล่มนี้เราจะสร้าง Repository ใหม่เพื่อเก็บข้อมูลและโพรเซส • คลิกที่ไอคอน • เลือก New local repository • กดปุ่ม Next • เปลี่ยนชื่อ Alias เป็น GettingStartedWithRapidMiner • คลิกที่ Use standard location เพื่อไม่เลือก option นี้ • คลิกที่ไอคอน เพื่อเลือก Root directory (ซึ่งเป็นโฟลเดอร์สำหรับเก็บข้อมูล) ใหม่ Create Repository 30 2 1 3 1 2 3 4 5 6 6 4 5
  • 6. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • สร้าง Repository ใหม่ (ต่อ) • คลิกที่ไอคอน เพื่อสร้างโฟลเดอร์สำหรับ Repository ใหม่ ในตัวอย่างนี้เลือกที่ Desktop (แต่ท่านผู้อ่านสามารถเลือกที่ไดรฟ์ C: หรือ D: ก็ได้ครับ) • สร้างโฟลเดอร์ชื่อ GettingStartedWithRapidMiner • กดปุ่ม OK • เลือกโฟลเดอร์ที่สร้างขึ้น • กดปุ่ม Open Create Repository 31 7 7 8 9 10 11 8 10 11 9
  • 7. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Create Repository • สร้าง Repository ใหม่ (ต่อ) • กดปุ่ม Finish • จะได้ Repository ใหม่แสดงขึ้นมา 32 12 13 12 13 ขยายส่วน Repositories ให้ เต็มหน้าจอ
  • 8. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Import Sale data • import ไฟล์ Excel เข้าไปไว้้ใน Repository • ในส่วน Repositories คลิกที่ไอคอน เลือก Import Excel Sheet… • เลือกไฟล์ sale_data.xlsx ที่สร้างขึ้น (ดูวิธีการสร้างไฟล์ประเภท Excel ได้จาก Appendix A ครับ) • ขั้นตอนที่ 2 ของการ Import ไฟล์ คือ การเลือก Worksheet ที่ต้องการ import • ในไฟล์ตัวอย่างมีแค่ Worksheet เดียวจึงมีเพียงแท็บเดียวให้เลือก 33 3 4 เลือกไฟล์ sales_data.xlsx 5 เลือก Worksheet นี้ 1 2
  • 9. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Import Sale data • import ไฟล์ Excel เข้าไปไว้้ใน Repository (ต่อ) • ขั้นตอนที่ 3 กำหนดให้แถวแรกของไฟล์เป็นชื่อแอตทริบิวต์ และคลิก Next • ขั้นตอนที่ 4 เปลี่ยน Date format ให้เป็นแบบ yyyy-MM-dd HH:mm:ss • เปลี่ยนแอตทริบิวต์ transaction_id ให้มีหน้าที่ (role) เป็น ID และ product_id ให้เป็นประเภท Polynominal 34 7 6 กำหนดให้แถวแรกเป็น ชื่อแอตทริบิวต์ 10 8 9 11 เปลี่ยนรูปแบบของวันที่ และเวลา เปลี่ยนหน้าที่ของ แอตทริบิวต์ให้เป็น ID เปลี่ยนประเภทให้เป็น Polynominal แทน Integer
  • 10. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • import ไฟล์ Excel เข้าไปไว้้ใน Repository (ต่อ) • ขั้นตอนที่ 5 ซึ่งเป็นขั้นตอนสุดท้ายคือกำหนดว่าจะเก็บข้อมูลไว้ที่ Repository ที่ สร้างขึ้นมาใหม่ (GettingStartedWithRapidMiner) และตั้งชื่อไฟล์เป็น sales_data • ข้อมูลที่ import เข้ามาใน RapidMiner Studio 6 จะแสดงเป็นรูปแบบ
 ของตาราง แต่ก็สามารถเปลี่ยนไปดูในรูปแบบอื่นๆ ได้ เช่น กราฟ Import Sale data 35 13 12 14 เลือกไฟล์ Repository ที่สร้างขึ้นใหม่ ตั้งชื่อข้อมูลเป็น sales_data แสดงรายละเอียดของข้อมูล คลิกที่ชื่อแอตทริบิวต์เพื่อ sort
  • 11. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • แสดงข้อมูลที่โหลดเข้ามาได้หลายรูปแบบ เช่น • แสดงข้อมูลในรูปแบบตาราง (Data) และถูกกำหนดเป็นค่าเริ่มต้น (default) • แสดงค่าสรุปทางสถิติ (Statistics) เช่น ค่า Min, Max, Average, Deviation • แสดงกราฟรูปแบบต่างๆ (Charts) เช่น กราฟแท่ง กราฟวงกลม • แสดงข้อมูลในรูปแบบตาราง • ExampleSet แสดงจำนวนข้อมูลทั้งหมดในไฟล์ • Filter แสดงจำนวนข้อมูลจากการกรอง (filter) ทำได้ 5 แบบ • all แสดงข้อมูลทั้งหมด (ทั้งที่มีค่าว่างและไม่ว่าง) • no_missing_attributes แสดงเฉพาะข้อมูลที่ไม่มีค่าว่างในแอตทริบิวต์ • missing_attributes แสดงเฉพาะข้อมูลที่มีค่าว่างในแอตทริบิวต์ • no_missing_labels แสดงเฉพาะข้อมูลที่ไม่มีค่าว่างในแอตทริบิวต์ประเภทลาเบล • missing_labels แสดงเฉพาะข้อมูลที่มีค่าว่างในแอตทริบิวต์ประเภทลาเบล • ตารางแสดงข้อมูลในแต่ละแอตทริิบิวต์ คลิกที่ชื่อแอตทริบิวต์เพื่อทำการเรียงลำดับ • กดปุ่ม Ctrl ค้างไว้ และคลิกที่ชื่อแอตทริบิวต์จะเป็นการเรียงลำดับมากกว่า 1 แอตทริบิวต์ (สำหรับระบบปฏิบัติการ OS X ให้กดปุ่ม command แทน) Data exploration 36 A B C A B C
  • 12. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Data exploration • คลิกที่เมนู Statistics จะแสดงค่าสรุปทางสถิติ มีคอลัมน์ต่างๆ ดังนี้ • Name แสดงชื่อแอตทริบิวต์ • Type แสดงประเภทของข้อมูลในแต่ละแอตทริบิวต์ เช่น Integer, Polynominal • Miss. จำนวนข้อมูลที่มีค่าว่าง • Statistics ค่าทางสถิติต่างๆ เช่น Min, Max, Average, Deviation, Least, Most, Values 37 A B C D A B C D • ข้อมูล sales_data ที่ import เข้ามาจะแสดงไว้ ใน Repository • สัญลักษณ์ แสดงข้อมูล (data) • ถ้าต้องการเรียกดูข้อมูลให้ double click ที่ชื่อ ของข้อมูล • ถ้าต้องการนำไปใช้ในโพรเซส ให้คลิกที่ชื่อ ข้อมูลและลากไปวางไว้ใน main process ข้อมูลที่ import เข้ามา
  • 13. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Data exploration • ข้อมูล sales ที่ import เข้ามามีจำนวนการซื้อขายทั้งหมด 100,000 ตัวอย่าง (examples) • ระยะเวลาการซื้อขายตั้งแต่ วันที่ 1 กุมภาพันธ์ 2005 (Feb 1, 2005) จนถึง วันที่ 29 พฤศจิกายน 2008 (Nov 29, 2008) • มีการซื้อจากร้านค้าทั้งหมด 15 สาขา (Store) • มีลูกค้า (customers) ทั้งหมด 2,000 คน • มีสินค้าทั้งหมด 8 ประเภท คือ • Books, Clothing, Electronics, Health, Home/Garden, Movies, Sports และ Toys • ในบทนี้จะแนะนำการเตรียมข้อมูล (preprocessing) เพื่อใช้ในการแบ่งกลุ่ม ลูกค้า (รายละเอียดอยู่ในบทที่ 3) โดยมีขั้นตอนดังนี้ • เลือกเฉพาะสาขาที่สนใจ เช่น สาขาที่ 1 (Store 01) • คำนวณราคารวมสำหรับการซื้อสินค้าแต่ละครั้ง • สรุปค่าต่างๆ ได้แก่ • จำนวนครั้งในการซื้อสินค้าของลูกค้าแต่ละราย (Frequency) • จำนวนเงินที่ใช้จ่ายรวมของลูกค้าแต่ละราย (Monetary) • วันที่ซื้อสินค้าล่าสุดของลูกค้าแต่ละราย 38
  • 14. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Preprocessing: Operators • โอเปอเรเตอร์ที่ใช้ในบทนี้มีดังต่อไปนี้ 39 โอเปอเรเตอร์ คำอธิบาย Retrieve ใช้สำหรับดึงข้อมูลที่เก็บไว้ใน Repository มาใช้งานใน
 โพรเซส (Process) Filter Example ใช้สำหรับเลือก (filter) ข้อมูลที่สนใจออกมาแสดงผล สำหรับในตัวอย่างนี้ใช้เพื่อเลือกเฉพาะข้อมูลที่ขายในสาขา ที่ 1 (Store 01) Generate Attribute ใช้สำหรับสร้างแอตทริบิวต์ใหม่ขึ้นมา สำหรับในตัวอย่างนี้ ใช้เพื่อคำนวณค่า total_price และค่า Recency Aggregate ใช้สำหรับสรุปค่าต่างๆ สำหรับในตัวอย่างนี้ใช้เพื่อคำนวณ จำนวนครั้งในการซื้อสินค้า และค่าใช้จ่ายของลูกค้า
 แต่ละราย Rename ใช้สำหรับเปลี่ยนชื่อแอตทริบิวต์ต่างๆ สำหรับตัวอย่างนี้ใช้ เพื่อเปลี่ยนชื่อแอตทริบิวต์ที่มีวงเล็บ ( และ ) Subprocess ใช้สำหรับรวบรวมโพรเซสที่สร้างขึ้นมาไว้ภายใน
 โอเปอเรเตอร์ สำหรับตัวอย่างนี้จะนำโพรเซสที่สร้างได้ จากบทที่ 2 ไว้ในโอเปอเรเตอร์ Subprocess นี้
  • 15. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Preprocessing: Filter Examples • ในบทนี้จะแนะนำการเตรียมข้อมูล (preprocessing) เพื่อใช้ในการแบ่งกลุ่ม ลูกค้า (รายละเอียดอยู่ในบทที่ 3) โดยมีขั้นตอนดังนี้ • เลือกเฉพาะสาขาที่สนใจ เช่น สาขาที่ 1 (Store 01) • ใช้โอเปอเรเตอร์ Filter Examples • คำนวณราคารวมสำหรับการซื้อสินค้าแต่ละครั้ง • สรุปค่าต่างๆ ได้แก่ • จำนวนครั้งในการซื้อสินค้าของลูกค้าแต่ละราย (Frequency) • จำนวนเงินที่ใช้จ่ายรวมของลูกค้าแต่ละราย (Monetary) • วันที่ซื้อสินค้าล่าสุดของลูกค้าแต่ละราย • ดึงข้อมูล (retrieve) จาก Repository มาใช้งานในโพรเซส โดยลาก (drag) ข้อมูล sales_data มาไว้ในส่วน Main Process 40 1 2 คลิกที่ sales_data ลากมาวางไว้ที่ Main Process Note: • โอเปอเรเตอร์ที่เลือกจะมีเส้นกรอบสีส้มล้อมรอบโอเปอเรเตอร์นั้นอยู่
  • 16. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Preprocessing: Filter Examples • เลือกโอเปอเรเตอร์ Filter Examples เพื่อเลือกเฉพาะข้อมูลของ
 สาขาที่ 1 (Store 1) • ค้นหาโอเปอเรเตอร์ Filter Examples ในส่วน Operators หลังจากนั้นโอเปอ
 เรเตอร์จะแสดงออกมา (สามารถพิมพ์บางส่วนของชื่อโอเปอเรเตอร์ได้) • ลากโอเปอเรเตอร์ไปวางไว้ใน Main Process • ลากเส้นเชื่อมจากพอร์ต out ของโอเปอเรเตอร์ Retrieve Sales_data ไปต่อกับ พอร์ต exa ของโอเปอเรเตอร์ Filter Examples เพื่อส่งข้อมูลที่ดึงมาจาก Repository ไปใช้งานต่อในโอเปอเรเตอร์ Filter Examples 41 3 4 คลิกที่โอเปอเรเตอร์ ใส่คำที่ต้องการค้นหา 5ลากมาวางไว้ที่ Main Process 6 ลากเส้นเชื่อมระหว่าง 2 โอเปอเรเตอร์
 เพื่อส่งข้อมูลไปใช้งานต่อ Note: • พอร์ตที่มีชื่อว่า exa จะเป็นข้อมูลที่อยู่ ในรูปแบบของตาราง (table) • เอาท์พุตพอร์ตของ Filter Examples จะ มี 3 พอร์ต คือ • exa แสดงข้อมูลที่ผ่านเงื่อนไขการ filter แล้ว • ori แสดงข้อมูลทั้งหมด • unm แสดงข้อมูลที่ไม่ผ่านเงื่อนไข • รายละเอียดของพอร์ตดูได้จากส่วน Help ในตัวซอฟต์แวร์
  • 17. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Preprocessing: Filter Examples • คลิกที่โอเปอเรเตอร์ Filter Examples (ซึ่งจะมีกรอบสีส้มล้อมรอบอยู่) และส่วน พารามิเตอร์จะแสดงพารามิเตอร์ของโอเปอเรเตอร์ Filter Examples • คลิกที่ปุ่ม Add Filters... จะแสดงหน้าต่าง Create Filters ขึ้นมา • ใส่เงื่อนไขเพื่อเลือกเฉพาะสาขาที่ 1 (Store 01) • เลือกแอตทริบิวต์ store_id • เลือกเงื่อนไขเป็น equals • คลิกที่ไอคอน และเลือก Store 01 ในส่วนเงื่อนไข 42 7 คลิกที่ปุ่ม Add Filters... หน้าต่างสำหรับการใส่เงื่อนไขจะแสดงขึ้นมา 8 9 10คลิกเพื่อให้แสดงค่าต่างๆ ในแอตทริบิวต์ store_id 11
  • 18. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Preprocessing: Filter Examples • ลากเส้นต่อจากพอร์ต exa ของโอเปอเรเตอร์ Filter Examples ไป
 ยังพอร์ต res (พอร์ตด้านขวามือเพื่อแสดงข้อมูลในหน้าต่าง Results) • คลิกที่ปุ่ม (Run process) เพื่อให้โพรเซสทำงาน • หลังจากที่โพรเซสทำงานเสร็จเรียบร้อยจะเปลี่ยนมายังหน้าต่าง Results • แสดงข้อมูลการซื้อขายเฉพาะของสาขาที่ 1 (Store 01) ซึ่งมีจำนวน 6,636 ตัวอย่าง 43 12 13 ลากเส้นเชื่อมระหว่างโอเปอเรเตอร์และพอร์ต res คลิกที่ปุ่ม Run เพื่อให้โพรเซสทำงาน แสดงเฉพาะข้อมูลที่เป็น Store 01
  • 19. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Preprocessing: Filter Examples • คลิกที่ เพื่อสลับมาที่หน้าจอ Design • คลิกที่ปุ่ม เพื่อบันทึก (Save) โพรเซส • เลือกบันทึกโพรเซสใน Repository ที่สร้างขึ้นมาใหม่โดยตั้งชื่อว่า
 segmentation_and_association 44 14 คลิกเพื่อบันทึกโพรเซสที่สร้างขึ้น 15 16 17 เลือก Repository ที่สร้างไว้ ตั้งขื่อโพรเซสที่กำลังใข้งาน โพรเซสที่บันทึกไว้ซึ่งแสดง ด้วยไอคอนรูปเฟือง
  • 20. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Preprocessing: Generate Attributes • ในบทนี้จะแนะนำการเตรียมข้อมูล (preprocessing) เพื่อใช้ในการแบ่งกลุ่ม ลูกค้า (รายละเอียดอยู่ในบทที่ 3) โดยมีขั้นตอนดังนี้ • เลือกเฉพาะสาขาที่สนใจ เช่น สาขาที่ 1 (Store 01) • คำนวณราคารวมสำหรับการซื้อสินค้าแต่ละครั้ง • ใช้โอเปอเรเตอร์ Generate Attributes • สรุปค่าต่างๆ ได้แก่ • จำนวนครั้งในการซื้อสินค้าของลูกค้าแต่ละราย (Frequency) • จำนวนเงินที่ใช้จ่ายรวมของลูกค้าแต่ละราย (Monetary) • วันที่ซื้อสินค้าล่าสุดของลูกค้าแต่ละราย • คลิกที่ เพื่อสลับมาที่หน้าจอ Design • เนื่องจากข้อมูล sales_data มีเฉพาะราคาต่อหน่วย (แอตทริบิวต์ที่ชื่อว่า single_price) แต่ในการแบ่งกลุ่มลูกค้าจำเป็นต้องใช้ราคารวมแต่ละครั้งที่ซื้อ สินค้า (total price = amount x single_price) • ใช้โอเปอเรเตอร์ Generate Attributes เพื่อสร้างแอตทริบิวต์ใหม่และให้ชื่อว่า total_price 45 1 2 คลิกที่โอเปอเรเตอร์ ใส่คำที่ต้องการค้นหา 3 ลากมาวางต่อกับโพรเซสเดิมที่มีอยู่โดยให้ เส้นหนาขึ้นเล็กน้อยแล้วค่อยปล่อย
  • 21. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • คลิกที่โอเปอเรเตอร์ Generate Attributes ซึ่งจะมีพารามิเตอร์ต่างๆ ที่เกี่ยวข้อง แสดงขึ้นมาทางด้านขวามือ • คลิกที่ปุ่ม Edit list (0) ... จะแสดงหน้าต่าง functional descriptors ขึ้นมา • สร้างแอตทริบิวต์ใหม่โดยมีรายละเอียดดังนี้ • กำหนดให้ attribute name เป็น total_price • และ function expression เป็น amount * single_price Preprocessing: Generate Attributes 46 4 คลิกที่ปุ่ม Edit List (0)... หน้าต่างสำหรับการใส่เงื่อนไขจะแสดงขึ้นมา 5 6 7 ใส่ช่ือแอตทริบิวต์ใหม่ ใส่ค่า amount * single_price
  • 22. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • คลิกที่ปุ่ม (Run process) เพื่อให้โพรเซสทำงาน • หลังจากที่โพรเซสทำงานเสร็จเรียบร้อยจะเปลี่ยนมายังหน้าต่าง Results • แสดงข้อมูลที่มีแอตทริบิวต์ total_price เพิ่มขึ้นมาด้วย Preprocessing: Generate Attributes 47 8 คลิกที่ปุ่ม Run เพื่อให้โพรเซสทำงาน มีแอตทริบิวต์ total_price เพิ่มขึ้นมา
  • 23. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Preprocessing: Aggregate • ในบทนี้จะแนะนำการเตรียมข้อมูล (preprocessing) เพื่อใช้ในการแบ่งกลุ่ม ลูกค้า (รายละเอียดอยู่ในบทที่ 3) โดยมีขั้นตอนดังนี้ • เลือกเฉพาะสาขาที่สนใจ เช่น สาขาที่ 1 (Store 01) • คำนวณราคารวมสำหรับการซื้อสินค้าแต่ละครั้ง • สรุปค่าต่างๆ ได้แก่ • จำนวนครั้งในการซื้อสินค้าของลูกค้าแต่ละราย (Frequency) • จำนวนเงินที่ใช้จ่ายรวมของลูกค้าแต่ละราย (Monetary) • วันที่ซื้อสินค้าล่าสุดของลูกค้าแต่ละราย • ใช้โอเปอเรเตอร์ Aggregate, Rename และ Generate Attributes • เนื่องจากมีลูกค้าเป็นจำนวนมากทำให้ไม่สามารถมองรายละเอียดการซื้อสินค้า ของลูกค้าแต่ละรายได้ เราจึงสนใจค่าสรุปต่างๆ ได้แก่ • จำนวนครั้งในการซื้อสินค้าของลูกค้าแต่ละราย • ค่าใช้จ่ายรวมของลูกค้าแต่ละราย • วันที่ลูกค้าซื้อสินค้าครั้งล่าสุด • ค่าต่างๆ เหล่านี้จะนำไปใช้ในเรื่องการแบ่งกลุ่มลูกค้าที่เรียกว่าวิธี RFM [2] ซึ่งย่อ มาจาก Recency, Frequency และ Monetary ซึ่งจะแสดงตัวอย่างการคำนวณ ในหน้าถัดไป 48 Note: • ในหนังสือเล่มนี้นอกจากการแสดงขั้นตอนการใช้งาน RapidMiner Studio 6 แล้วจะมีการอธิบาย concept ที่เกี่ยวข้องด้วยครับ
  • 24. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 RFM: Recency, Frequency, Monetary • RFM เป็นการแบ่งกลุ่มลูกค้าตามพฤติกรรมการซื้อสินค้าของลูกค้า โดยดูจาก • ระยะเวลา (จำนวนวัน) จากการซื้อล่าสุดที่ผ่านมา (Recency) • ความถี่ของการซื้อสินค้า (Frequency) • การใช้จ่ายของลูกค้า (Monetary) • ข้อมูลคำนวณได้จากตาราง Order Detail ที่เก็บไว้ (หรือในหนังสือเล่มนี้ใช้ข้อมูล จาก sales data ที่ import เข้าไปแล้วครับ) • จากตารางจะเห็นว่ามีลูกค้าทั้งหมด 3 คน คือ Customer 1, 2 และ 3 เราจะ พิจารณาลูกค้าคนที่ 1 ก่อนครับ • ลูกค้า Customer 1 ซื้อไปล่าสุดเมื่อวันที่ 7 เมษายน 2007 (Apr 7, 2007) เมื่อ คำนวณเทียบกับวันที่ 1 สิงหาคม 2015 แล้วลูกค้าซื้อไปล่าสุดเมื่อ 3037.431 วัน • ลูกค้า Customer 1 ซื้อไปจำนวน 3 ครั้งคือ transaction id = 58909, 35366 
 และ 31907 • ลูกค้า Customer 1 ใช้จ่ายรวมทั้งหมด 72.012+601.990+279.435 = $ 953.437 • จะได้ค่า Recency = 3037.431, Frequency = 3 และ Monetary = 953.437 ดัง แสดงในตารางด้านขวามือของหน้าถัดไป 49 Customer ID Recency Frequency Monetary Customer 1 Customer 2 Customer 3 หมายเหตุ: คำนวณ ณ วันที่ Aug 1, 2015 trans_id customer_id date total_price 58909 Customer 1 Feb 20, 2007 72.012 35366 Customer 1 Mar 16, 2007 601.990 31907 Customer 1 Apr 7, 2007 279.435 10884 Customer 3 Mar 9, 2008 289.249 77378 Customer 2 May 4, 2008 285.063 95678 Customer 3 Nov 24, 2008 326.293 ตาราง sales data
  • 25. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 RFM: Recency, Frequency, Monetary • หลังจากนั้นมาพิจารณาลูกค้าคนที่ 2 กันครับ • ลูกค้า Customer 2 ซื้อไปล่าสุดเมื่อวันที่ 4 พฤษภาคม 2008 (May 4, 2008) เมื่อคำนวณเทียบกับวันที่ 1 สิงหาคม 2015 แล้วลูกค้าซื้อไปล่าสุดเมื่อ 2644.560 วัน • ลูกค้า Customer 2 ซื้อไปจำนวน 1 ครั้งคือ transaction id = 77378 • ลูกค้า Customer 2 ใช้จ่ายรวมทั้งหมด $ 285.063 • จะได้ค่า Recency =2644.560, Frequency = 1 และ Monetary = 285.063 ดังแสดงในตารางด้านขวามือล่าง 50 Customer ID Recency Frequency Monetary Customer 1 3037.431 3 953.437 Customer 2 Customer 3 หมายเหตุ: คำนวณ ณ วันที่ Aug 1, 2015 trans_id customer_id date total_price 58909 Customer 1 Feb 20, 2007 72.012 35366 Customer 1 Mar 16, 2007 601.990 31907 Customer 1 Apr 7, 2007 279.435 10884 Customer 3 Mar 9, 2008 289.249 77378 Customer 2 May 4, 2008 285.063 95678 Customer 3 Nov 24, 2008 326.293 ตาราง sales data Customer ID Recency Frequency Monetary Customer 1 3037.431 3 953.437 Customer 2 2644.560 1 285.063 Customer 3 หมายเหตุ: คำนวณ ณ วันที่ Aug 1, 2015 trans_id customer_id date total_price 58909 Customer 1 Feb 20, 2007 72.012 35366 Customer 1 Mar 16, 2007 601.990 31907 Customer 1 Apr 7, 2007 279.435 10884 Customer 3 Mar 9, 2008 289.249 77378 Customer 2 May 4, 2008 285.063 95678 Customer 3 Nov 24, 2008 326.293 ตาราง sales data
  • 26. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 RFM: Recency, Frequency, Monetary • หลังจากนั้นมาพิจารณาลูกค้าคนที่ 3 กันครับ • ลูกค้า Customer 3 ซื้อไปล่าสุดเมื่อวันที่ 24 พฤศจิกายน 2008 (Nov 4, 2008) เมื่อคำนวณเทียบ กับวันที่ 1 สิงหาคม 2015 แล้วลูกค้าซื้อไปล่าสุดเมื่อ 2440.380 วัน • ลูกค้า Customer 3 ซื้อไปจำนวน 2 ครั้งคือ transaction id = 10884 และ 95678 • ลูกค้า Customer 3 ใช้จ่ายรวมทั้งหมด $ 615.542 • จะได้ค่า Recency = 2440.380 Frequency = 2 และ Monetary = 615.542 ดังแสดงในตาราง ด้านขวามือล่าง • จากตารางตัวอย่างจะเห็นได้ว่าลูกค้าที่มีการซื้อบ่อยที่สุด (Frequency มากสุด) และใช้จ่ายเยอะ สุด (Monetary เยอะสุด) คือ ลูกค้าคนที่ 1 (Customer 1) แต่ว่าลูกค้าคนนี้ไม่ได้กลับมาซื้อสินค้า อีกเลยตั้งแต่ปี 2007 • จากข้อมูลนี้ทำให้ต้องหาวิธีการที่จะให้ลูกค้ากลับมาซื้อบ่อยๆ เหมือนเดิมอีกครั้ง • ในทางตรงข้ามลูกค้าคนที่ 3 (Customer 3) ก็น่าสนใจเนื่องจากมีการซื้อล่าสุดเมื่อไม่นานมานี้ (Recency น้อยที่สุด) และมีการซื้อบ่อยระดับหนึ่ง (Frequency = 2) และมีการใช้จ่ายเยอะระดับ หนึ่ง (Monetary = 615.542) • จากข้อมูลนี้ทำให้ต้องหาวิธีการที่จะให้ลูกค้าซื้อในจำนวนครั้งที่บ่อยขึ้นและซื้อสินค้าที่แพงขึ้น • จากตัวอย่างจะเห็นว่ามีลูกค้าแค่ 3 ราย ถ้ามีลูกค้ามากขึ้นการพิจารณาทีละรายคงไม่ง่ายนักดัง นั้นเราจึงจำเป็นต้องแบ่งกลุ่มลูกค้าออกเป็นกลุ่มต่างๆ ตามค่า RFM นี้ซึ่งจะอธิบายอีกครั้งในบท ที่ 3 ครับ 51 Customer ID Recency Frequency Monetary Customer 1 3037.431 3 953.437 Customer 2 2644.560 1 285.063 Customer 3 2440.380 2 615.542 หมายเหตุ: คำนวณ ณ วันที่ Aug 1, 2015 trans_id customer_id date total_price 58909 Customer 1 Feb 20, 2007 72.012 35366 Customer 1 Mar 16, 2007 601.990 31907 Customer 1 Apr 7, 2007 279.435 10884 Customer 3 Mar 9, 2008 289.249 77378 Customer 2 May 4, 2008 285.063 95678 Customer 3 Nov 24, 2008 326.293 ตาราง sales data
  • 27. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • คลิกที่ เพื่อสลับมาที่หน้าจอ Design • ใช้โอเปอเรเตอร์ Aggregate เพื่อสร้างทำการสรุปค่าต่างๆ ออกมา • คลิกที่โอเปอเรเตอร์ Aggregate ซึ่งจะมีพารามิเตอร์ต่างๆ ที่เกี่ยวข้องแสดงขึ้นมา • คลิกที่ปุ่ม Edit list (0) ... จะแสดงหน้าต่าง aggregation attributes ขึ้นมา Preprocessing: Aggregate 52 1 2 คลิกที่โอเปอเรเตอร์ ใส่คำที่ต้องการค้นหา ลากมาวางต่อกับโพรเซสเดิมที่มีอยู่โดยให้ เส้นหนาขึ้นเล็กน้อยแล้วค่อยปล่อย 3 หน้าต่างสำหรับการเลือกการสรุปค่าจะแสดงขึ้นมา 4 คลิกที่ปุ่ม Edit List (0)...
  • 28. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • ใส่เงื่อนไขการสรุปค่าต่างๆ โดยมีรายละเอียดดังนี้ • กำหนดให้ aggregation attribute เป็น customer_id • และ aggregation function เป็น count • ใส่เงื่อนไขการสรุปค่าต่างๆ โดยมีรายละเอียดดังนี้ • กำหนดให้ aggregation attribute เป็น total_price • และ aggregation function เป็น sum Preprocessing: Aggregate 53 7 เพิ่มเงื่อนไขอื่นๆ 5 6 8 9 10 เพิ่มเงื่อนไขอื่นๆ
  • 29. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • ใส่เงื่อนไขการสรุปค่าต่างๆ โดยมีรายละเอียดดังนี้ • กำหนดให้ aggregation attribute เป็น date • และ aggregation function เป็น maximum • ในส่วนของ group by attributes คลิกที่ปุ่ม Select Attributes... เลือก แอตทริบิวต์ customer_id เนื่องจากเราต้องการสรุปค่าต่างๆ ตามลูกค้าแต่ละคน Preprocessing: Aggregate 54 11 12 13 14 15 16คลิกเลือกแอตทริบิวต์ customer_id
  • 30. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • คลิกที่ปุ่ม (Run process) เพื่อให้โพรเซสทำงาน • หลังจากที่โพรเซสทำงานเสร็จเรียบร้อยจะเปลี่ยนมายังหน้าต่าง Results • แสดงข้อมูลการสรุปค่าต่างๆ ตามที่กำหนดไว้ Preprocessing: Aggregate ค่าที่สรุปตามลูกค้าแต่ละราย 55 17 คลิกที่ปุ่ม Run เพื่อให้โพรเซสทำงาน
  • 31. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • คลิกที่ เพื่อสลับมาที่หน้าจอ Design • เนื่องจากชื่อแอตทริบิวต์ที่แสดงผลที่ได้จากการทำ aggregate มีเครื่องหมาย “(" 
 และ “)” ติดมาด้วยทำให้ไม่สามารถเรียกชื่อแอตทริบิวต์เหล่านี้ได้โดยตรง จึงต้อง ใช้โอเปอเรเตอร์ Rename เพื่อเปลี่ยนชื่อแอตทริบิวต์ • คลิกที่โอเปอเรเตอร์ Rename ซึ่งจะมีพารามิเตอร์ต่างๆ ที่เกี่ยวข้องแสดงขึ้นมา • เปลี่ยนชื่อแอตทริบิวต์จาก count(customer_id) ให้เป็น Frequency Preprocessing: Rename 56 1 คลิกที่โอเปอเรเตอร์ ใส่คำที่ต้องการค้นหา ลากมาวางต่อกับโพรเซสเดิมที่มีอยู่โดยให้ เส้นหนาขึ้นเล็กน้อยแล้วค่อยปล่อย 32 เปลี่ยนชื่อแอตทริบิวต์อื่นเพ่ิมเติม 4 เลือกแอตทริบิวต์ที่ต้องการ เปลี่ยนชื่อ 5 ตั้งชื่อแอตทริบิวต์ใหม่ 6
  • 32. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Preprocessing: Rename • หลังจากคลิกที่ปุ่ม Edit list (0) ... จะแสดงหน้าต่าง rename additional attributes ขึ้นมา • เปลี่ยนชื่อแอตทริบิวต์จาก sum(total_price) เป็น Monetary • เปลี่ยนชื่อแอตทริบิวต์จาก maximum(date) เป็น max_date 57 7 เพิ่มเงื่อนไขอื่นๆ 5 6 10 8 9
  • 33. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • คลิกที่ปุ่ม (Run process) เพื่อให้โพรเซสทำงาน • หลังจากที่โพรเซสทำงานเสร็จเรียบร้อยจะเปลี่ยนมายังหน้าต่าง Results • แสดงข้อมูลการสรุปค่าต่างๆ ที่ชื่อแอตทริบิวต์เปลี่ยนไป Preprocessing: Rename 58 11 คลิกที่ปุ่ม Run เพื่อให้โพรเซสทำงาน ชื่อแอตทริบิวต์
 ที่เปลี่ยนไป
  • 34. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • คลิกที่ เพื่อสลับมาที่หน้าจอ Design • เนื่องจากการคำนวณค่า Recency ในที่นี้จะเป็นจำนวนวันนับจากวันปัจจุบัน (หรือวันที่กำหนด) ดังนั้นจึงต้องใช้โอเปอเรเตอร์ Generate Attributes เพื่อ คำนวณค่า Recency • คลิกที่โอเปอเรเตอร์ Generate Attributes ซึ่งจะมีพารามิเตอร์ต่างๆ ที่เกี่ยวข้อง แสดงขึ้นมา • คลิกที่ปุ่ม Edit list (0) ... จะแสดงหน้าต่าง functional descriptors ขึ้นมา Preprocessing: Generate Attributes 59 1 คลิกที่โอเปอเรเตอร์ ใส่คำที่ต้องการค้นหา ลากมาวางต่อกับโพรเซสเดิมที่มีอยู่โดยให้ เส้นหนาขึ้นเล็กน้อยแล้วค่อยปล่อย 32 4 คลิกที่ปุ่ม Edit List (0)... หน้าต่างสำหรับการใส่เงื่อนไขจะแสดงขึ้นมา
  • 35. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • สร้างแอตทริบิวต์ใหม่โดยมีรายละเอียดดังนี้ • กำหนดให้ attribute name เป็น Recency • และ function expression เป็น abs(date_diff(date_parse(“08/01/2015"),max_date)/3600/1000/24) • คลิกที่ปุ่ม (Run process) เพื่อให้โพรเซสทำงาน Preprocessing: Generate Attributes 60 5 6 7 Note: • ฟังก์ชัน abs() จะได้ค่าสัมบูรณ์ (หรือค่าที่เป็น บวกอย่างเดียว) • ฟังก์ชัน date_diff() ใช้สำหรับคำนวณค่าผล ต่างของวันที่และได้เป็นหน่วย milliseconds • การแปลงผลต่างที่ได้จาก date_diff() ให้เป็น จำนวนวันต้องหารด้วย 3600/1000/24 • ฟังก์ชัน date_parse() เป็นการแปลงวันที่ให้ เป็นประเภท date • ฟังก์ชัน date_now() จะได้วันและเวลา ณ ปัจจุบัน 8 คลิกที่ปุ่ม Run เพื่อให้โพรเซสทำงาน
  • 36. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • หลังจากที่โพรเซสทำงานเสร็จเรียบร้อยจะเปลี่ยนมายังหน้าต่าง Results • แสดงแอตทริบิวต์ Recency ที่คำนวณจากวันที่ 1 สิงหาคม 2015 Preprocessing: Generate Attributes 61 แอตทริบิวต์ Recency ที่คำนวณได้
  • 37. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • คลิกที่ เพื่อสลับมาที่หน้าจอ Design • เพื่อให้โพรเซสที่สร้างดูง่ายขึ้น เราจะ copy โพรเซสที่สร้างถึงขั้นตอนนี้ไปไว้ใน
 โอเปอเรเตอร์ subprocess ซึ่งจะเห็นเป็นเพียงแค่โอเปอเรเตอร์เดียว • โอเปอเรเตอร์ subprocess เป็นโอเปอเรเตอร์ที่สามารถใส่โพรเซส
 ไว้ภายในตัวโอเปอเรเตอร์เองได้ และเรียกโอเปอเรเตอร์ประเภทนี้ว่า “Nested Operator” ซึ่งจะมีสัญลักษณ์ แสดงอยู่ทางด้านขวาล่างของโอเปอเรเตอร์ • double click ที่โอเปอเรเตอร์จะแสดงโพรเซสภายในนั้น ถ้าต้องการกลับไปที่ Main Process ให้กดที่ปุ่มลูกศรขึ้น ( ) Preprocessing: Subprocess 62 1 คลิกที่โอเปอเรเตอร์ ใส่คำที่ต้องการค้นหา 3 2 ลากมาวางไว้ในโพรเซสก่อน แสดงว่าเป็นโพรเซสที่อยู่ ภายในโอเปอเรเตอร์ double click ที่
 โอเปอเรเตอร์เพิื่อดู
 โพรเซสภายใน แสดงว่าเป็น 
 Nested Operator
  • 38. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Preprocessing: Subprocess • เลือกโอเปอเรเตอร์ต่างๆ ยกเว้นโอเปอเรเตอร์ Subprocess (กดปุ่ม Ctrl ค้างไว้ และเลือกโอเปอเรเตอร์ที่ต้องการ) และตัดโอเปอเรเตอร์เหล่านั้นออกมาและนำไป ใส่ไว้ในโอเปอเรเตอร์ Subprocess 63 9 4 5 6 8 7 เลือกโอเปอเรเตอร์ทั้ง 6 ตัว และตัด (cut) ออกมา 10 double click ที่โอเปอเรเตอร์ Subprocess 11 วางโอเปอเรเตอร์ ทั้งหมดไว้ในนี้ 12 ลากเส้นเชื่อมไปยัง พอร์ต out
  • 39. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 • กดปุ่มลูกศรขึ้น ( ) เพื่อย้อนกลับไปที่ Main Process • คลิกขวาที่โอเปอเรเตอร์ Subprocess และเลือกเมนู Rename เพื่อเปลี่ยนชื่อ
 เป็น ‘Preprocessing’ • คลิกที่ปุ่ม เพื่อบันทึก (Save) โพรเซส Preprocessing: Subprocess 64 13 คลิกขวาที่โอเปอเรเตอร์ และ เลือกเมนู Rename ลากเส้นเชื่อมไปยัง พอร์ต res 14 15 คลิกเพื่อบันทึกโพรเซสที่สร้างขึ้น
  • 40. (data)3
 base|warehouse|mining Eakasit Pacharawongsakda, Ph.D. http://facebook.com/datacube.th Introduction to Business Analytics with RapidMiner Studio 6 Exercise 1. จงสร้างโฟลเดอร์ภายใต้ Repository GettingStartedWithRapidMiner สำหรับ การทำแบบฝึกหัดท้ายบทเหล่านี้โดยตั้งชื่อโฟลเดอร์ว่า exercise 2. จงเปลี่ยนโพรเซสที่สร้างขึ้นซึ่งเลือกเฉพาะข้อมูลสาขาที่ 1 (Store 01) เท่านั้น เพื่อ ให้เลือกข้อมูลของสาขาต่างๆ ดังนี้ (1) สาขาที่ 2 (Store 02) (2) สาขาที่ 3 (Store 03) (3) สาขาที่ 10 (Store 10) และ สาขาที่ 15 (Store 15) พร้อมกัน 3. จงเปลี่ยนวันที่ที่ใช้ในการคำนวณแอตทริบิวต์ Recency จากเดิมที่เป็นวันที่ 1 สิงหาคม 2015 ให้เป็นวันต่างๆ ดังนี้ (1) วันที่ 12 สิงหาคม 2015 (2) วันที่ 31 ธันวาคม 2014 (3) วันที่ปัจจุบัน 4. จงบันทึกโพรเซสที่สร้างได้จากแบบฝึกหัดท้ายบทนี้ลงไปในโฟลเดอร์ exercise ที่สร้างในข้อที่ 1 65