วิทยาลัยนานาชาตินวัตกรรมดิจิทัล มหาวิทยาลัยเชียงใหม่
13 พฤศจิกายน 2568
การจัดการข้อมูล (Data Wrangling) หรือที่เรียกว่า การทำความสะอาดข้อมูล (Data Cleaning) หรือ การปรับปรุงข้อมูล (Data Remediation) คือกระบวนการในการ แปลงและปรับแต่งข้อมูล ให้อยู่ในรูปแบบที่เหมาะสมและพร้อมสำหรับการนำไปใช้งานหรือวิเคราะห์ต่อไป
การรวมข้อมูล (Merging): รวมข้อมูลจากหลายแหล่งเข้าด้วยกันเป็นชุดข้อมูลเดียวเพื่อใช้ในการวิเคราะห์
การระบุค่าที่หายไป (Identifying Missing Values): ตรวจหาค่าที่ขาดหาย (เช่น ช่องว่างในสเปรดชีต) เพื่อเติมหรือเอาออก
การลบข้อมูลที่ไม่จำเป็น (Removing Irrelevant Data): ลบข้อมูลที่ไม่เกี่ยวข้องกับโครงการหรือวัตถุประสงค์ของการวิเคราะห์
การตรวจจับค่าผิดปกติ (Detecting Outliers): ค้นหาค่าที่สุดโต่งเกินไปในข้อมูล และอธิบายหรือเอาออกเพื่อให้การวิเคราะห์ถูกต้องมากขึ้น
Data Frame คือชุดข้อมูลที่แสดงในรูปแบบ ตาราง (Tabular Format) โดยที่แต่ละคอลัมน์สามารถเก็บข้อมูลได้หลายประเภท เช่น
การปรับรูปแบบข้อมูล (Reshaping Data) หมายถึงการปรับเปลี่ยนหรือแปลงโครงสร้างของชุดข้อมูล เพื่อให้เหมาะสมยิ่งขึ้นสำหรับการวิเคราะห์หรือการนำเสนอ
แนวคิดสำคัญของการปรับรูปแบบข้อมูล
การปรับรูปแบบมักเกี่ยวข้องกับการแปลงข้อมูลจากรูปแบบหนึ่งไปสู่อีกรูปแบบหนึ่ง เช่น:
Wide format → Long format (แปลงข้อมูลจากรูปแบบแนวนอนให้เป็นแนวตั้ง)
Long format → Wide format (แปลงข้อมูลจากแนวตั้งให้เป็นแนวนอน)
คอลัมน์ lifeExp, pop และ gdpPercap ซึ่งเดิมแยกกันอยู่ จะถูกรวมให้อยู่ในคอลัมน์เดียว ที่ชื่อว่า metric
ค่าของตัวแปรเหล่านี้จะถูกย้ายไปอยู่ในคอลัมน์ใหม่ที่ชื่อว่า value
ค่าที่เคยถูกเก็บไว้ในคอลัมน์ metric ตอนนี้จะถูก แยกกลับออกมาเป็นคอลัมน์แยกต่างหาก ได้แก่ lifeExp, pop, และ gdpPercap
ค่าจากคอลัมน์ value จะถูก กระจายกลับไปยังตัวแปรที่สอดคล้องกัน
คุณสามารถเรียงลำดับข้อมูลตามคอลัมน์ เช่น year, lifeExp, หรือ pop ได้ (คลิกที่หัวคอลัมน์เพื่อจัดเรียงข้อมูล)
เลือกแถวที่ตรงตามเงื่อนไขทางตรรกะเช่น: จากปี
ขึ้นไป(จากจำนวนทั้งหมด แถว)
สุ่มเลือกตัวอย่างข้อมูลเป็นสัดส่วนจากทั้งชุดข้อมูล เช่น ของข้อมูลทั้งหมด (จากจำนวนทั้งหมด แถว)
เลือกคอลัมน์ตามชื่อตัวแปรที่ระบุ
เลือกคอลัมน์ที่มีข้อความบางส่วนอยู่ในชื่อคอลัมน์
เลือกคอลัมน์ที่ลงท้ายด้วยอักขระหรือข้อความที่กำหนด
เลือกทุกคอลัมน์
เลือกคอลัมน์ที่ตรงกับรูปแบบที่กำหนด (Regular Expression)
เลือกคอลัมน์จากรายการชื่อที่ระบุไว้
เลือกทุกคอลัมน์ ยกเว้นบางคอลัมน์ที่กำหนดไว้
1. Total GDP of a Country (gdpTotal)
\[\tiny \text{gdpTotal} = \text{gdpPercap} \times \text{pop}\]
ความหมาย: คำนวณ GDP รวมของประเทศ โดยใช้สูตร gdpPercap × pop
2. Convert Population to Millions (pop_million)
\[\tiny \text{pop_million} = \dfrac{\text{pop}}{1,000,000}\]
ความหมาย: แปลงหน่วยประชากรจาก “คน” เป็น “ล้านคน” โดยหารค่า pop ด้วย 1,000,000
Data Set A
Data Set B
กำหนดให้:
ชุดข้อมูล A มีตัวแปร x1 และ x2
ชุดข้อมูล B มีตัวแปร x1 และ x3
Left join: ใช้สำหรับรวมข้อมูลจากสองตาราง (data frames) โดยจะเก็บทุกแถวจากตารางหลัก (ด้านซ้าย) และนำแถวที่ตรงกันจากตารางรอง (ด้านขวา) มารวมกัน โดยอ้างอิงจาก คีย์ร่วม (shared key)
Right join: ใช้สำหรับรวมข้อมูลจากสองตาราง (data frames) โดยจะเก็บทุกแถวจากตารางรอง (ด้านขวา) และนำแถวที่ตรงกันจากตารางหลัก (ด้านซ้าย) มารวมกัน โดยอ้างอิงจาก คีย์ร่วม (shared key)
Inner join: ใช้สำหรับรวมข้อมูลจากสองตาราง (data frames) โดยจะเก็บเฉพาะแถวที่มีค่าของคีย์ตรงกันในคอลัมน์ที่ใช้ในการเชื่อมต่อเท่านั้น
Full join: ใช้สำหรับรวมข้อมูลจากสองตาราง (data frames) โดยจะเก็บทุกแถวจากทั้งสองตาราง ไม่ว่าจะมีค่าคีย์ตรงกันหรือไม่ก็ตาม หากค่าคีย์ในตารางหนึ่งไม่มีในอีกตารางหนึ่ง ระบบจะใส่ค่า NA แทนค่าที่ขาดหายไป
ปัญหาของข้อมูลเชิงประเภท (Categorical Data)
โมเดล Machine Learning ไม่สามารถตีความค่าข้อความ เช่น "Regular", "VIP", "New" ได้โดยตรง
การใช้ค่าตัวเลข เช่น 1, 2, 3 จะทำให้เกิด ลำดับที่ไม่จริง (False Ordinal Relationships) ซึ่งอาจสื่อว่า "VIP" > "Regular" ทั้งที่ในความเป็นจริงอาจไม่ถูกต้อง
แปลงค่าประเภทให้เป็น ตัวแปรแบบไบนารีอิสระ (Independent Binary Variables)
หลีกเลี่ยงการตีความว่า มีลำดับหรือระยะห่างระหว่างประเภท
ทำให้ข้อมูลสามารถใช้กับ อัลกอริทึม เช่น Logistic Regression, Decision Trees, Neural Networks ได้อย่างถูกต้อง
Example: Customer Type
Data
\(\rightarrow\)
One hot encode
การแบ่งกลุ่มลูกค้า (Customer Segmentation)
การพยากรณ์การยกเลิกบริการหรือพฤติกรรมการซื้อ (Predicting Churn or Purchase Behavior)
การจำแนกประเภทของธุรกรรมหรือการร้องเรียน (Classifying Transactions or Complaints by Category)
1. เพื่อให้การเปรียบเทียบเป็นธรรม (Ensures Fair Comparison)
ตัวแปรเช่น ยอดขาย (Sales) (หน่วยเป็นพัน) และ อายุของลูกค้า (Customer Age) (หน่วยเป็นปี) มี สเกล (Scale) ที่แตกต่างกัน
หากไม่ทำการปรับขนาดข้อมูล (Normalization) ค่าที่มีขนาดใหญ่กว่าจะมีอิทธิพลเหนือกระบวนการเรียนรู้ของโมเดล
2. ช่วยเพิ่มประสิทธิภาพของโมเดล (Improves Model Performance)
อัลกอริทึมอย่าง K-Means, K-NN, SVM, Neural Networks อาศัย ระยะทาง (Distance) หรือ ค่าความชัน (Gradients) ในการคำนวณ
การปรับขนาดข้อมูล (Normalization) ช่วยให้โมเดล เรียนรู้ได้เร็วขึ้น (Faster Convergence) และให้ผลลัพธ์ที่ แม่นยำมากขึ้น (More Accurate Results)
3. ป้องกันอคติจากขนาดของตัวแปร (Prevents Bias from Feature Magnitude)
ตัวแปรที่มีค่าตัวเลขขนาดใหญ่ (เช่น รายได้) อาจ มีอิทธิพลมากเกินไป (Overpower) ต่อตัวแปรที่มีสเกลเล็กกว่า (เช่น ความถี่ในการซื้อสินค้า)
การทำ Normalization ช่วยให้ตัวแปรแต่ละตัว มีน้ำหนักเท่าเทียมกัน (Equal Weight)
1. การปรับขนาดแบบมิน-แมกซ์ (Min-Max Normalization)
ปรับค่าข้อมูลให้อยู่ในช่วงคงที่ โดยทั่วไปคือ \([0, 1]\):
\[ x' = \frac{x - \min(x)}{\max(x) - \min(x)} \]
เหมาะสำหรับกรณีที่ ช่วงของค่า (Range) มีความสำคัญ เช่น ในโมเดล Neural Networks
Data
\(\rightarrow\)
Min-Max Normalization:
2. การปรับมาตรฐานแบบ Z-Score (Z-Score Standardization)
หรือเรียกว่า การปรับขนาดแบบมาตรฐาน (Standard Scaling):
\[ x' = \frac{x - \mu}{\sigma} \]
โดยที่:
เหมาะสำหรับกรณีที่ข้อมูลมี หน่วยที่แตกต่างกัน หรือมี ค่าผิดปกติ (Outliers)
Data
\(\rightarrow\)
Standardization:
Wickham, H., François, R., Henry, L., Müller, K., & Vaughan, D. (2023). dplyr: A Grammar of Data Manipulation (เวอร์ชัน 1.1.4) [ซอฟต์แวร์คอมพิวเตอร์]. สืบค้นจาก https://dplyr.tidyverse.org
Wickham, H., Vaughan, D., & Girlich, M. (2024). tidyr: Tidy Messy Data (เวอร์ชัน 1.3.1) [ซอฟต์แวร์คอมพิวเตอร์]. สืบค้นจาก https://tidyr.tidyverse.org