ภาพรวมบทที่ 2
บทที่ 2 เรื่อง ความรู้พื้นฐานของเหมืองข้อมูล เป็นบทที่เชื่อมจากแนวคิดเบื้องต้นไปสู่การลงมือวิเคราะห์ข้อมูลจริง โดยครอบคลุมหัวข้อสำคัญตั้งแต่ความหมาย วัตถุประสงค์ องค์ประกอบ เทคนิค ประโยชน์ ประเภทของเหมืองข้อมูล การประยุกต์ใช้งาน ขั้นตอนการทำเหมืองข้อมูล การรู้จักข้อมูล การเตรียมข้อมูล และการเตรียมข้อมูลด้วยภาษา Python
เป้าหมายของบทนี้
ให้นักศึกษาเข้าใจว่า Data Mining ไม่ใช่แค่การเลือกโมเดล แต่เป็นกระบวนการตั้งแต่เข้าใจข้อมูล เตรียมข้อมูล เลือกเทคนิค วิเคราะห์ ประเมินผล และนำความรู้ที่ค้นพบไปใช้ตัดสินใจ
2.1 เหมืองข้อมูลคืออะไร
เหมืองข้อมูล (Data Mining) คือกระบวนการวิเคราะห์ข้อมูลจำนวนมาก เพื่อค้นหารูปแบบ ความสัมพันธ์ แนวโน้ม หรือความรู้ที่ซ่อนอยู่ภายในข้อมูล โดยอาศัยเทคนิคจากหลายสาขา เช่น สถิติ การเรียนรู้ของเครื่อง การรู้จำแบบ และระบบฐานข้อมูล
แนวคิดสำคัญคือการเปลี่ยนข้อมูลดิบให้เป็นสารสนเทศหรือความรู้ที่นำไปใช้ได้จริง เช่น การพยากรณ์ การจำแนกประเภท การจัดกลุ่มข้อมูล และการค้นหากฎความสัมพันธ์
ค้นหารูปแบบ
ค้นหา Pattern หรือแนวโน้มที่ซ่อนอยู่ในข้อมูลจำนวนมากซึ่งอาจมองไม่เห็นด้วยตาเปล่า
ใช้ตัดสินใจ
นำผลลัพธ์ไปใช้ช่วยตัดสินใจ เช่น วิเคราะห์ลูกค้า ประเมินความเสี่ยง หรือวางแผนเชิงกลยุทธ์
2.2 วัตถุประสงค์ของเหมืองข้อมูล
วัตถุประสงค์ของ Data Mining คือการใช้ข้อมูลเชิงลึกเพื่อแก้ปัญหา สนับสนุนการตัดสินใจ และสร้างมูลค่าจากข้อมูล โดยมีเป้าหมายสำคัญหลายด้าน
- Discover Hidden Patterns: ค้นหารูปแบบ แนวโน้ม หรือความสัมพันธ์ที่ซ่อนอยู่ในข้อมูล
- Prediction: ใช้ข้อมูลในอดีตเพื่อคาดการณ์อนาคต เช่น ยอดขาย ความเสี่ยง หรือพฤติกรรมลูกค้า
- Clustering: จัดกลุ่มข้อมูลตามความคล้ายคลึง เช่น กลุ่มลูกค้าหรือกลุ่มผู้เรียน
- Classification: จำแนกข้อมูลใหม่ให้อยู่ในประเภทที่เหมาะสม เช่น ลูกค้าดี/ลูกค้าเสี่ยง
- Association Rule Discovery: ค้นหาความสัมพันธ์ เช่น สินค้าที่มักถูกซื้อร่วมกัน
- Anomaly Detection: ตรวจจับความผิดปกติ เช่น ธุรกรรมทุจริตหรือข้อมูลเซ็นเซอร์ที่ผิดปกติ
2.3 องค์ประกอบของเหมืองข้อมูล
ระบบเหมืองข้อมูลประกอบด้วยหลายส่วนที่ทำงานร่วมกัน ตั้งแต่แหล่งข้อมูลไปจนถึงการแสดงผลและการนำไปใช้จริง
1. Data Sources
ฐานข้อมูล คลังข้อมูล เว็บ เซ็นเซอร์ ข้อความ รูปภาพ หรือข้อมูลจากระบบต่าง ๆ
2. Data Preparation
ทำความสะอาด รวม เลือก และลดมิติข้อมูลให้เหมาะกับการวิเคราะห์
3. Mining Techniques
Classification, Clustering, Association Rule, Prediction และเทคนิคอื่น ๆ
4. Algorithms
Decision Tree, Neural Networks, SVM, K-Means และอัลกอริทึมที่ใช้สร้างโมเดล
5. Tools
Weka, RapidMiner, Python, pandas, scikit-learn และ R
6. Evaluation & Visualization
ประเมินผลโมเดลและนำเสนอผลด้วยกราฟ แผนภูมิ หรือ Dashboard
2.4 ระบบคลังข้อมูลและปัญหาของ Database
Data Warehouse คือระบบจัดเก็บและรวบรวมข้อมูลจากระบบปฏิบัติการต่าง ๆ ขององค์กรให้มาอยู่ในศูนย์กลางเดียว สามารถเก็บข้อมูลย้อนหลังหลายปี เพื่อใช้สนับสนุนการตัดสินใจ วิเคราะห์ข้อมูลหลายมิติ และทำ Data Mining
ทำไม Database ทั่วไปอาจไม่เหมาะกับการวิเคราะห์?
ฐานข้อมูลเชิงสัมพันธ์ที่ออกแบบแบบ Normalization เหมาะกับการบันทึกและแก้ไขข้อมูล แต่เมื่อนำมา Query เพื่อตอบคำถามผู้บริหาร เช่น ยอดขายย้อนหลังหลายปี อาจต้องใช้ SQL ที่ยาว ซับซ้อน มี JOIN หลายครั้ง และปรับคำสั่งมากเมื่อคำถามเปลี่ยน
Data Warehouse จึงมักออกแบบด้วย Dimensional Modeling เช่น Star Schema เพื่อให้ Query ง่ายขึ้น ลดความซับซ้อน และเหมาะสำหรับการวิเคราะห์ข้อมูลเพื่อการตัดสินใจ
Database
เน้นบันทึก แก้ไข ลบ และจัดการธุรกรรม เช่น ระบบขายสินค้า ระบบสมาชิก
Data Warehouse
เน้นรวบรวมข้อมูลเพื่อรายงาน วิเคราะห์ เปรียบเทียบ และสนับสนุนการตัดสินใจ
2.5 เทคนิคและอัลกอริทึมที่ใช้ในเหมืองข้อมูล
เทคนิค Data Mining สามารถแบ่งได้หลายกลุ่มตามวัตถุประสงค์การวิเคราะห์ เช่น การจำแนก การจัดกลุ่ม การหาความสัมพันธ์ การทำนาย การตรวจจับความผิดปกติ และการลดมิติข้อมูล
Classification
ใช้ทำนายว่าข้อมูลใหม่อยู่ในกลุ่มใด เช่น ทำนายการยกเลิกบริการของลูกค้า
Clustering
จัดกลุ่มข้อมูลที่คล้ายกันโดยไม่รู้กลุ่มล่วงหน้า เช่น แบ่งกลุ่มลูกค้า
Association Rule
ค้นหาความสัมพันธ์ เช่น ขนมปังมักถูกซื้อพร้อมนม
Prediction
ทำนายค่าตัวเลขในอนาคต เช่น ยอดขายเดือนถัดไป
Anomaly Detection
ค้นหาข้อมูลผิดปกติ เช่น ธุรกรรมที่น่าสงสัย
Dimensionality Reduction
ลดจำนวนตัวแปรให้วิเคราะห์ง่ายขึ้น เช่น PCA หรือ t-SNE
Descriptive Modeling: Unsupervised Learning
เป็นการเรียนรู้แบบไม่มี Label หรือไม่มีคำตอบที่ถูกกำหนดไว้ล่วงหน้า เหมาะกับงานค้นหารูปแบบ เช่น Association Algorithm, Clustering Algorithm และ Time Series Algorithm
- Association Algorithm: ใช้กับ Market Basket Analysis เพื่อค้นหาว่าสินค้าใดมักถูกซื้อคู่กัน
- Clustering Algorithm: จัดกลุ่มข้อมูลตามความคล้ายคลึง เช่น รายได้ อายุ พฤติกรรมการซื้อ
- Time Series Algorithm: วิเคราะห์ข้อมูลตามเวลา เช่น การพยากรณ์ยอดขาย
Predictive Modeling: Supervised Learning
เป็นการเรียนรู้แบบมีผู้สอน โดยใช้ข้อมูลฝึกที่มีคำตอบหรือ Label อยู่แล้ว จากนั้นสร้างโมเดลเพื่อทำนายข้อมูลใหม่ที่ไม่เคยเห็นมาก่อน
- Classification: Decision Tree, Naïve Bayes, Neural Network
- Regression: Linear Regression, Logistic Regression
2.6 การประยุกต์ใช้งานเหมืองข้อมูล
Data Mining ถูกนำไปใช้ในหลายอุตสาหกรรมเพื่อสร้างความได้เปรียบในการแข่งขัน ช่วยเข้าใจลูกค้า ลดความเสี่ยง และเพิ่มประสิทธิภาพการตัดสินใจ
การตลาด
ทำนายการตอบสนองต่อสินค้าใหม่ ทำนายยอดขาย และหากลุ่มลูกค้าเป้าหมาย
การเงินการธนาคาร
คาดการณ์ความเสี่ยงสินเชื่อ ตรวจจับทุจริต และวิเคราะห์พฤติกรรมบัตรเครดิต
ค้าปลีกและ E-Commerce
แนะนำสินค้า จัดวางสินค้า วิเคราะห์ลำดับการเข้าชมเว็บ และปรับปรุงเว็บไซต์
โทรคมนาคม
วิเคราะห์รูปแบบการใช้งาน ตรวจสอบการโกง และคาดการณ์ลูกค้าที่อาจเลิกใช้บริการ
ตัวอย่างเชิงธุรกิจ
ระบบแนะนำสินค้า เช่น ร้านค้าออนไลน์ สามารถใช้ข้อมูลการซื้อในอดีตเพื่อแนะนำสินค้าที่ลูกค้าน่าจะสนใจ เพิ่มโอกาสการขายและสร้างประสบการณ์ที่ตรงกับผู้ใช้แต่ละคน
2.7 ขั้นตอนในการทำเหมืองข้อมูล
กระบวนการทำเหมืองข้อมูลมักประกอบด้วยขั้นตอนที่ต่อเนื่องกัน ตั้งแต่เตรียมข้อมูลจนถึงนำเสนอความรู้ที่ค้นพบ
Data Cleaning
คัดข้อมูลที่ไม่เกี่ยวข้อง แก้ไขข้อมูลหาย ข้อมูลซ้ำ และข้อมูลผิดรูปแบบ
Data Integration
รวมข้อมูลจากหลายแหล่งให้เป็นชุดเดียวกัน
Data Selection
เลือกข้อมูลหรือคอลัมน์ที่เกี่ยวข้องกับโจทย์วิเคราะห์
Data Transformation
แปลงข้อมูลให้อยู่ในรูปแบบที่เหมาะสม เช่น แปลงเพศ ช่วงอายุ หรือจัดกลุ่มคะแนน
Data Mining
ค้นหารูปแบบ ความสัมพันธ์ หรือโมเดลจากข้อมูล
Pattern Evaluation
ประเมินว่ารูปแบบที่พบมีความถูกต้อง น่าสนใจ และใช้งานได้จริงหรือไม่
Knowledge Representation
นำเสนอความรู้ด้วยกราฟ ตาราง รายงาน หรือ Dashboard ให้เข้าใจง่าย
2.8 รู้จักข้อมูล: Structured และ Unstructured Data
ข้อมูลมีได้หลายรูปแบบ เช่น ตัวเลข ข้อความ รูปภาพ เสียง หรือข้อมูลจากระบบต่าง ๆ ในงาน Data Mining เรามักต้องเข้าใจชนิดและรูปแบบของข้อมูลก่อนเลือกวิธีเตรียมและวิเคราะห์
Structured Data
ข้อมูลที่อยู่ในรูปแบบตาราง เช่น Excel, CSV, ฐานข้อมูล, ข้อมูลยอดขาย, ข้อมูลนักศึกษา
Unstructured Data
ข้อมูลที่ไม่มีโครงสร้างชัดเจน เช่น ข้อความ อีเมล โพสต์โซเชียล รูปภาพ หรือเสียง
ข้อมูลแบบไม่มีโครงสร้างอาจต้องแปลงให้อยู่ในรูปแบบตารางก่อน เช่น แปลงข้อความเป็นคำสำคัญ แล้วสร้างคอลัมน์เพื่อระบุว่าเอกสารนั้นมีคำใดปรากฏหรือไม่
2.9 การเตรียมข้อมูลและ Data Cleaning ด้วย Python
ก่อนสร้างโมเดลต้องทำให้ข้อมูลสมบูรณ์มากที่สุด เช่น เลือกคอลัมน์ที่เกี่ยวข้อง ตัดคอลัมน์ที่ไม่มีประโยชน์ แก้ไขค่าว่าง ลดการกระจายของข้อมูล และแปลงข้อมูลให้อยู่ในรูปแบบที่โมเดลใช้งานได้
ตัวอย่างปัญหาที่ต้องแก้ก่อน Mining
- ค่าว่าง เช่น เกรดหาย รายได้หาย อายุหาย
- ข้อมูลซ้ำซ้อน เช่น รายการลูกค้าซ้ำ
- ข้อมูลรูปแบบไม่สอดคล้อง เช่น Male, Female, M, F, ชาย, หญิง
- คอลัมน์ที่ไม่ช่วยวิเคราะห์ เช่น ชื่อ เบอร์โทร หรือข้อมูลที่ไม่ซ้ำกันเลย
ตัวอย่างโค้ด Data Cleaning ด้วย Pandas
import pandas as pd
import numpy as np
data = {
'ชื่อ': ['John', 'Jane', 'Bob', 'Alice', 'Charlie'],
'อายุ': [25, 28, np.nan, 22, 30],
'เงินเดือน': [50000, 60000, 75000, np.nan, 90000],
'เพศ': ['ชาย', 'หญิง', 'ชาย', 'หญิง', 'ชาย']
}
df = pd.DataFrame(data)
# ตรวจสอบข้อมูลที่หายไป
print(df.isnull())
# เติมค่าเฉลี่ยให้ข้อมูลตัวเลขที่หายไป
df['อายุ'] = df['อายุ'].fillna(df['อายุ'].mean())
df['เงินเดือน'] = df['เงินเดือน'].fillna(df['เงินเดือน'].mean())
# ตรวจสอบและลบข้อมูลซ้ำ
print(df.duplicated())
df.drop_duplicates(inplace=True)
print(df)ตัวอย่างนี้ใช้ Pandas ซึ่งเป็นไลบรารีสำคัญของ Python สำหรับจัดการข้อมูลแบบตาราง โดยสามารถอ่านไฟล์ CSV, Excel, SQL, JSON จัดการ Missing Data ลบข้อมูลซ้ำ และคำนวณสถิติพื้นฐานได้
2.10 แบบฝึกหัดท้ายบท
แบบฝึกหัดนี้เหมาะสำหรับฝึกทบทวน SQL และการคิดเชิงข้อมูลก่อนเข้าสู่การทำ Data Mining จริง
- แสดงข้อมูลทั้งหมดของนักศึกษาจากตาราง Student
- แสดงข้อมูลชื่อ First ของนักศึกษาจากตาราง Student
- แสดงข้อมูลนามสกุล Last ของนักศึกษาจากตาราง Student
- แสดงข้อมูลชื่อ First และนามสกุล Last ของนักศึกษาจากตาราง Student
- แสดงข้อมูลนามสกุล Last ของนักศึกษาที่แตกต่างกัน
- แสดงข้อมูลนักศึกษาที่มีชื่อว่า John
- แสดงข้อมูลนักศึกษาทั้งหมด ยกเว้นนักศึกษาที่ชื่อ John
- แสดงข้อมูลจากตาราง Grade ที่มีคะแนนมากกว่าหรือเท่ากับ 60 คะแนน
- แสดงข้อมูล First, Last และ Mark จากตาราง Grade ที่มีคะแนนน้อยกว่าหรือเท่ากับ 60 คะแนน
สรุปบทที่ 2
พื้นฐานของเหมืองข้อมูลประกอบด้วยการเข้าใจข้อมูล วัตถุประสงค์ เทคนิค เครื่องมือ และการเตรียมข้อมูล การทำ Data Mining ที่ดีควรเริ่มจากโจทย์ที่ชัดเจน ข้อมูลที่มีคุณภาพ และการประเมินผลที่สอดคล้องกับการใช้งานจริง