Data Preprocessing - ผศ.วิวัฒน์ ชินนาทศิริกุล

Download Report

Transcript Data Preprocessing - ผศ.วิวัฒน์ ชินนาทศิริกุล

Data Preprocessing
อ.วิวฒั น์ ชินนาทศิริกลุ
Why Data Preprocessing ?
การเตรียมข้ อมูล
เป็ นขั้นตอนก่อนทาเหมืองข้อมูล เนื่องจากข้อมูลในความเป็ นจริ งมีความ
สกปรก คือ
- ข้อมูลไม่สมบูรณ์ (incomplete data) เช่น
ค่าของคุณลักษณะขาดหาย (missing value) ขาดคุณลักษณะที่น่าสนใจ
หรื อขาดรายละเอียดของข้อมูล
- ข้อมูลรบกวน (noisy data) เช่น ข้อมูลมีค่าผิดพลาด (error) หรื อมีค่าผิดปกติ
(Outliers)

การเตรียมข้ อมูล (ต่ อ)
- ข้อมูลไม่สอดคล้อง (Inconsistent data) เช่น ข้อมูลเดียวกัน แต่ต้ งั ชื่อต่างกัน
หรื อใช้ค่าแทนข้อมูลที่ต่างกัน
Data Preprocessing Technique




Data Cleaning
Data Integration
Data Transformation
Data Reduction
Data Cleaning
Real-world data tend to be incomplete, noisy and incosistent.
 Data cleaning(or data cleansing) routines attempt to fill in missing
values, smooth out noise while identifying outlier and correct
inconsistencies in the data.

การจัดการ missing value
ถ้านักศึกษา เป็ นผูจ้ ดั การของบริ ษทั แห่งหนึ่ ง และต้องการวิเคราะห์ขอ้ มูล
การขายสิ นค้า และข้อมูลของลูกค้า
 นักศึกษา พบว่า มีหลายๆรายการ ไม่มีการบันทึกค่าในแต่ละฟิ ลด์ หรื อ
แอททริ บิวต์ เช่น ไม่มีการบันทึกข้อมูลรายได้ของลูกค้า
 คาถาม ???
นักศึกษาจะมีวธิ ี การจัดการค่าที่ขาดหายเหล่านี้ได้อย่างไร

วิธีการจัดการค่ าทีข่ าดหาย
1.
2.
3.
4.
5.
6.
Ignore the tuple
Fill in the missing value manually
Use a global constant to fill in the missing value
Use the attribute mean to fill in the missing value
Use the attribute mean for all samples belonging to the same
class as the given tuple
Use the most propable value to fill in the missing value
Ignore the tuple

ตัดทิ้งรายการที่มีขอ้ มูลสู ญหาย นิยมใช้กบั การทาเหมืองข้อมูลแบบจาแนก
ประเภท (Classification) ในกรณี ที่ค่าคุณลักษณะขาดหายไปเป็ นจานวนมาก
Fill in the missing value manually

เติมค่าที่ขาดหายด้วยมือ วิธีน้ ีไม่เหมาะสมกรณี ที่ชุดข้อมูลมีขนาดใหญ่ และมี
ข้อมูลขาดหายจานวนมาก
Use a global constant to fill in the missing value

เติมค่าคุณลักษณะของข้อมูลที่ขาดหายทุกค่า ด้วยค่าคงที่ค่าหนึ่ง เช่น ไม่รู้ค่า
หรื อ unknown
Use the attribute mean to fill in the missing value

ใช้ค่าเฉลี่ยของคุณลักษณะ เติมค่าข้อมูลที่ขาดหาย เช่น ถ้าทราบว่าลูกค้าที่
รายได้เฉลี่ยเดือนละ 12000 บาท จะใช้ค่านี้แทนค่ารายได้ของลูกค้าที่ขาดหาย
Use the attribute mean for all samples belonging to the
same class as the given tuple

ใช้ค่าเฉลี่ยคุณลักษณะของตัวอย่างที่จดั อยูใ่ นประเภทเดียวกัน เพื่อเติมค่า
ข้อมูลที่ขาดหาย เช่น
เติมค่ารายได้ของลูกค้าที่ขาดหาย ด้วยค่าเฉลี่ยของลูกค้าที่อยูใ่ นกลุ่มอาชีพ
เดียวกัน
Use the most propable value to fill in the missing value
ใช้ค่าที่เป็ นไปได้มากที่สุด เติมแทนค่าข้อมูลที่ขาดหาย เช่น ค่าที่ได้จาก
สมการความถดถอย (Regression) ค่าที่ได้จากการอนุมาน โดยใช้สูตรของ
เบย์ (Bayesian formula) หรื อต้นไม้ตดั สิ นใจ (Decision tree) เช่น
ใช้ขอ้ มูลลูกค้า มาสร้างต้นไม้ตดั สิ นใจ เพื่อทานายรายได้ของลูกค้า แล้วนาไป
แทนค่าที่ขาดหาย
 วิธีน้ ี นิยมกันแพร่ หลาย เนื่ องจากทานายค่าข้อมูลที่ขาดหาย โดยพิจารณาจาก
ค่าของข้อมูลชุดปั จจุบนั และความสัมพันธ์ระหว่างคุณลักษณะในชุดข้อมูล

ข้ อมูลรบกวน (Noisy data)

ข้อมูลรบกวน เป็ นข้อมูลที่มีความผิดพลาดแบบสุ่ ม หรื อคลาดเคลื่อนจากการ
วัด สาเหตุของความผิดพลาด อาจสื บเนื่องมาจาก
- อุปกรณ์เก็บรวบรวมข้อมูลทาหน้าที่ผิดพลาด
- ปั ญหาการบันทึกหรื อป้ อนค่าข้อมูล
- ปั ญหาการส่ งข้อมูล (data transmission)ผิดพลาด
- ข้อจากัดทางเทคโนโลยี เช่น ข้อจากัดของขนาดบัฟเฟอร์
การจัดการข้ อมูลรบกวน
ทาได้หลายวิธี เช่น
 Binning Methods
 Regression
 Clustering
Binning Methods

การปรับข้อมูลให้เรี ยบด้วยวิธีการแบบ binning ทาโดย
-เรี ยงลาดับข้อมูล แล้วใช้หลักการตัดแบ่ง (partition) แบ่งข้อมูลออกเป็ นส่ วน
แต่ละส่ วนเรี ยกว่า bin แล้วทาการปรับเรี ยบข้อมูลในแต่ละ bin โดยใช้การ
ปรับเรี ยบข้อมูลแบบท้องถิ่น (local smoothing) โดยใช้ค่าที่ได้จากเพื่อนบ้าน
ใกล้เคียง (neighborhood) ใน bin หรื อ bucket เดียวกันเช่น ค่าเฉลี่ยของ bin
(bin means) ค่ากลางของ bin (bin medians) หรื อค่าขอบของ bin (bin
boundaries)
Regression

วิธีความถดถอย ใช้การทานายค่าของตัวแปรจากสมการความถดถอยที่หาได้
ด้วยวิธีความผิดพลาดน้อยที่สุด (Least-square error) จากชุดตัวอย่างตัวแปร
สมการความถดถอยแบ่งเป็ นความสัมพันธ์ระหว่าง 2 ตัวแปร หรื อมากกว่า
ได้แก่
- ความถดถอยเชิงเส้น (Linear Regression)
- ความถดถอยพหุเชิงเส้น (Multiple Linear Regression)
ความถดถอยเชิงเส้ น (Linear Regression)
Regression method เป นวิธีการอธิบาย (explanatory) โดยมีตวั
แปรอื่นที่สัมพันธ กับตัวแปรที่เราต องการพยากรณ และ
สามารถสร าง model เพื่อแสดงความสัมพันธ นั้นได้
สมการความถดถอยเชิงเส้น เขียนในรู ปสมการ
1
ถ้ากาหนด D แทนเซตของข้อมูลที่ประกอบด้วยค่าตัวแปร x ที่สัมพันธ์กบั
ค่าตัวแปร y ซึ่ งแทนด้วยคู่ลาดับ (x1,y1),(x2,y2),..,(xD,yD)
ค่าสัมประสิ ทธิ์ ความถดถอย หาได้จากสมการ
2
3
Clustering

การวิเคราะห์การจัดกลุ่ม จะช่วยตรวจหา และกาจัดค่าที่ผดิ ปกติ เช่น ค่าที่
สู งหรื อต่ากว่าปกติ จะไม่สามารถจัดอยูใ่ นกลุ่มใดๆ และตกอยูน่ อกกลุ่ม

Outliers may be detected by clustering, where similar values are
organized into groups, or “clusters.” Intuitively, values that fall
outside of the set of clusters may be considered outliers
(Figure 2.12)
การผสานข้ อมูล (Data Integration)
เป็ นการรวบรวมข้อมูลจากแหล่งที่เก็บต่างๆมาไว้ที่เดียวกัน การผสานข้อมูล
จากแหล่งต่างๆ เพื่อช่วย
1. ลดหรื อหลีกเลี่ยงความซ้ าซ้อนของข้อมูล (Data Redundancies) ซึ่ งจะ
นาไปสู่ ปัญหาความไม่สอดคล้องกันของข้อมูล (Data inconsistencies)
2. เพิ่มความเร็ วและคุณภาพในการทาเหมืองข้อมูล

งานทีต่ ้ องทาในการผสานข้ อมูล


การผสานโครงสร้างการเก็บข้อมูล (Schema Integration) โดยใช้
metadata ช่วยในการบ่งชี้ entities ในแหล่งเก็บข้อมูลต่างๆ เช่น คุณลักษณะ
Cusid ในแหล่งข้อมูล A เป็ นคุณลักษณะเดียวกับ CustNumber ใน
แหล่งข้อมูล B หรื อไม่
ตรวจหาและแก้ไข ค่าข้อมูลที่ขดั แย้ง เช่น ค่าคุณลักษณะเดียวกัน แต่ใช้
หน่วยวัดต่างๆกัน ในแต่ละแหล่งข้อมูล
งานทีต่ ้ องทาในการผสานข้ อมูล (ต่ อ)

การกาจัดค่าข้อมูลซ้ าซ้อน เช่น ค่าคุณลักษณะในแหล่งข้อมูลหนึ่ง อาจเป็ น
ค่าที่ได้จากการคานวณในอีกแหล่งข้อมูลหนึ่ง อาทิ ค่ารายได้รายปี
งานทีต่ ้ องทาในการผสานข้ อมูล (ต่ อ)
- ค่าสหสัมพันธ์ เป็ น 0 หมายถึง ตัวแปรทั้งสองเป็ นอิสระ ไม่มีความสัมพันธ์
ระหว่างกัน
การแปลงข้ อมูล (Data Transformation)


การแปลงข้อมูลที่พบบ่อยในการทาเหมืองข้อมูลคือ การทานอร์ มอลไลซ์
(Normalization) โดยแปลงค่าข้อมูลให้อยูใ่ นช่วงสั้นๆ ที่อลั กอริ ทึมการทา
เหมืองข้อมูลสามารถนาไปใช้ประมวลผลได้
วิธีการทานอร์ มอลไลซ์ขอ้ มูลได้แก่
Min-Max Normalization
Decimal Scaling
Z-Score
Min-Max Nornalization

เป็ นการแปลงข้อมูลเชิงเส้นจากช่วงที่เป็ นไปได้เดิมของค่าอินพุต ให้เป็ นช่วง
ข้อมูลใหม่ที่กาหนด ปกติ ช่วง 0-1
สมมติ v คือค่าคุณลักษณะเดิม v’ คือค่าคุณลักษณะใหม่
minA , maxA คือค่าต่าสุ ดและสู งสุ ดเดิมของคุณลักษณะ A
new_nimA , new_maxA คือค่าต่าสุ ดและสู งสุ ดใหม่ของคุณลักษณะ A
จะได้วา่
Z-Score


เป็ นการปรับการกระจายของข้อมูลให้มีค่าเท่ากับ 0 และค่าเบี่ยงเบน
มาตรฐานเท่ากับ 1
หาได้จากสูตร
Decimal scaling

เป็ นการแปลงค่าข้อมูลเดิมให้เป็ นเลขทศนิยม ตาแหน่งทศนิยมกาหนดโดยค่า
สัมบูรณ์ที่มีค่ามากที่สุด เช่น ค่าที่เป็ นไปได้ของคุณลักษณะ A อยูใ่ นช่วง
ระหว่าง -999 ถึง 997 จะได้วา่ ค่าสัมบูรณ์ที่มากที่สุดคือ |-999| = 999 ดังนั้น
เราจะหารข้อมูลแต่ละค่าด้วย 1000 ผลลัพธ์คือค่า -999 จะถูกแปลงเป็ น
-0.999
การลดรู ปข้ อมูล (Data Reduction)
• คลังข้อมูลเก็บข้อมูลจานวนมาก ขนาดเป็ น เทราไบต์ ดังนั้นการวิเคราะห์
หรื อการทาเหมืองข้อมูลที่ซบั ซ้อน ต้องใช้เวลานานในการประมวลผลข้อมูล
ปริ มาณมากๆ
• การลดรู ป เป็ นการกระทาเพื่อแทนข้อมูล ด้วยรู ปแบบกะทัดรัด กินเนื้อที่
น้อยกว่า แต่สามารถนาไปใช้วิเคราะห์ แล้วเกิดผลลัพธ์ที่เท่ากันหรื อเทียบเท่า
กัน กับการวิเคราะห์จากข้อมูลทั้งหมด
วิธีการในการลดรู ปข้ อมูล
• Data Aggregation
• Dimensionality Reduction
• Numerosity Reduction
• Discretization and Concept Hierarchy Generation
ข้ อมูลรวม (Data Aggregation)
เป็ นการลดรู ปข้อมูลที่มกั พบใน Data Cube ซึ่ งเป็ นแบบจาลองข้อมูล
หลายมิติ (Multidimensional data model)

Numerosity Reduction
“Can we reduce the data volume by choosing alternative,
‘smaller’ forms of data representation?” Techniques of numerosity
reduction can indeed be applied for this purpose.
การลดรู ปข้อมูลโดยใช้เทคนิคนี้ มี 2 ประเภทคือ
1. Parametic Methods
2. Non-Parametic Methods
Parametric Methods
มีสมมติฐานว่า สามารถสร้างแบบจาลองที่เหมาะเข้ากับข้อมูลได้ จะทา
การประมาณค่าพารามิเตอร์ ของแบบจาลอง จัดเก็บเฉพาะค่าพารามิเตอร์
วิธีการแบบนี้ได้แก่ การสร้างแบบจาลองข้อมูลด้วยวิธีความถดถอย
ซึ่ งใช้เทคนิคทางสถิติ ในการประมาณค่าตัวแปรตาม
Non-Parametric Methods
วิธีน้ ีไม่ได้สร้างแบบจาลองข้อมูล แต่จะใช้เครื่ องมือ เช่น แผนภาพ
ฮิสโตแกรม (Histogram) หรื อวิธีการจัดกลุ่ม (Clustering) แสดงการ
กระจายของข้อมูล และเก็บค่าตัวแทนกลุ่ม แทนค่าข้อมูลจริ ง หรื อ
อาจใช้วธิ ี ทางสถิติ เช่น การสุ่ มตัวอย่าง (Sampling)
การทาให้ ข้อมูลเป็ นแบบไม่ ต่อเนื่อง (Discretization)
ค่า Attribute ของข้อมูลสามารถแบ่งได้เป็ น 3 ประเภท ได้แก่
1. Nominal / Categorical
2. Ordinal
3. Continuous
การทาให้ขอ้ มูลเป็ นแบบไม่ต่อเนื่อง เป็ นการลดรู ปข้อมูลเลขจานวนจริ ง
โดยแบ่งค่าข้อมูลดิบออกเป็ นช่วง แล้วแทนค่าแต่ละช่วงด้วยค่า
ฉลากช่วง (Interval Label) เนื่องจากอัลกอริ ทึมการทาเหมืองข้อมูลบาง
อย่าง รับเฉพาะข้อมูลแบบ Categorical
ลาดับชั้นแนวคิด (Concept Hierarchy)
สามารถลดรู ปข้อมูล Categorical หรื อข้อมูลที่ไม่ต่อเนื่อง ด้วยการสร้าง
ลาดับชั้นแนวคิด โดยการนิยามลาดับการเทียบ (mapping) กลุ่มแนวคิดใน
ระดับล่าง ไปสู่ แนวคิดในระดับที่สูงขึ้น
แนวคิด เป็ นคาที่ใช้บรรยายลักษณะกลุ่มของข้อมูล ข้อมูลดิบ เช่น อายุ
ซึ่ งมีหลากหลายค่า อาจแทนค่าแต่ละช่วงด้วยแนวคิด เช่น วัยเยาว์
วัยกลางคน และวัยชรา
ตัวอย่ าง ลาดับชั้นแนวคิดของทีอ่ ยู่
Country
15 distinct value
State
65 distinct value
City
Street
3,567 distinct value
674,329 distinct value
แบบฝึ กหัด
1. กาหนดข้อมูลที่นามาวิเคราะห์ ประกอบด้วยแอททริ บิวต์อายุ (age) ในแต่ละ
เรคคอร์ ดประกอบด้วยค่าของแอททริ บิวต์ age ดังนี้
13, 15, 16, 16, 19, 20, 20, 21, 22, 22, 25, 25, 25, 25, 30, 33, 33, 35, 35, 35,
35, 36, 40, 45, 46, 52, 70
(a) ใช้เทคนิค min-max normalization เพื่อแปลงค่าอายุ 35 ปี ให้อยูใ่ นช่วง
ตัวเลข [0:0;1:0]
(b) ใช้เทคนิค z-score normalization เพื่อแปลงค่าอายุ 35 ปี กาหนดส่ วน
เบี่ยงเบนมาตรฐานของอายุมีค่าเท่ากับ 12.94 ปี
(c) ใช้เทคนิค decimal scaling เพื่อแปลงค่าอายุ 35 ปี เป็ นตัวเลขทศนิยม
2. ตารางที่กาหนดด้านล่าง แสดงคะแนนสอบกลางภาค และปลายภาค
ของนักศึกษากลุ่มหนึ่ง
a) ใช้วิธีการของ least squares เพื่อสร้าง
สมการสาหรับทานายคะแนนปลายภาค เมื่อ
กาหนดคะแนนกลางภาคมาให้
b) ถ้านักศึกษาคนหนึ่งได้คะแนนกลางภาค
86 คะแนน เขาจะได้คะแนนปลายภาคกี่
คะแนน