ปรึกษา Data Mining
Data Mining 4124305 • Chapter 2

บทที่ 2 ความรู้พื้นฐานของเหมืองข้อมูล

เรียนรู้ภาพรวมของ Data Mining ตั้งแต่ความหมาย วัตถุประสงค์ องค์ประกอบ เทคนิคที่ใช้ ระบบคลังข้อมูล การเตรียมข้อมูล และตัวอย่าง Data Cleaning ด้วย Python สำหรับผู้เริ่มต้น

Data Warehouse Supervised / Unsupervised Python Pandas Data Cleaning

เนื้อหาในบทนี้

  • ความหมาย วัตถุประสงค์ และประโยชน์ของ Data Mining
  • Data Warehouse, Database และปัญหาการ Query
  • Techniques, Algorithms, Supervised และ Unsupervised Learning
  • การเตรียมข้อมูลและ Data Cleaning ด้วย Python Pandas
บทเรียนอ่านตามลำดับ
มีตัวอย่าง Python
เชื่อมโยง CRISP-DM
ต่อยอดสู่งานจริง

ภาพรวมบทที่ 2

บทที่ 2 เรื่อง ความรู้พื้นฐานของเหมืองข้อมูล เป็นบทที่เชื่อมจากแนวคิดเบื้องต้นไปสู่การลงมือวิเคราะห์ข้อมูลจริง โดยครอบคลุมหัวข้อสำคัญตั้งแต่ความหมาย วัตถุประสงค์ องค์ประกอบ เทคนิค ประโยชน์ ประเภทของเหมืองข้อมูล การประยุกต์ใช้งาน ขั้นตอนการทำเหมืองข้อมูล การรู้จักข้อมูล การเตรียมข้อมูล และการเตรียมข้อมูลด้วยภาษา Python

เป้าหมายของบทนี้

ให้นักศึกษาเข้าใจว่า Data Mining ไม่ใช่แค่การเลือกโมเดล แต่เป็นกระบวนการตั้งแต่เข้าใจข้อมูล เตรียมข้อมูล เลือกเทคนิค วิเคราะห์ ประเมินผล และนำความรู้ที่ค้นพบไปใช้ตัดสินใจ

หลังเรียนบทนี้ควรทำอะไรได้บ้าง

  • อธิบายบทบาทของข้อมูลต่อการตัดสินใจได้
  • เลือกเทคนิค Data Mining ตามโจทย์ได้
  • เข้าใจความต่างของ Database และ Data Warehouse
  • เตรียมข้อมูลเบื้องต้นด้วย Python Pandas ได้

ภาพรวมการเปลี่ยนข้อมูลเป็นความรู้

Data ข้อมูลดิบ Preparation Cleaning / Integration Selection / Transform Mining Pattern / Model Rules / Prediction Knowledge ใช้ตัดสินใจ บทที่ 2 ช่วยให้เห็นภาพรวมองค์ประกอบ เทคนิค และขั้นตอนสำคัญของการทำเหมืองข้อมูล

ภาพประกอบ: Data Mining คือกระบวนการเปลี่ยนข้อมูลดิบให้เป็นรูปแบบ ความรู้ และข้อเสนอแนะที่นำไปใช้ได้จริง

ผลลัพธ์การเรียนรู้ของบทที่ 2

อธิบายความหมายและวัตถุประสงค์ของ Data Mining ได้
แยกความแตกต่างระหว่าง Database และ Data Warehouse ได้
จำแนกเทคนิค Supervised และ Unsupervised Learning ได้
เข้าใจขั้นตอน Data Cleaning และการเตรียมข้อมูลด้วย Python ได้

2.1 เหมืองข้อมูลคืออะไร

เหมืองข้อมูล (Data Mining) คือกระบวนการวิเคราะห์ข้อมูลจำนวนมาก เพื่อค้นหารูปแบบ ความสัมพันธ์ แนวโน้ม หรือความรู้ที่ซ่อนอยู่ภายในข้อมูล โดยอาศัยเทคนิคจากหลายสาขา เช่น สถิติ การเรียนรู้ของเครื่อง การรู้จำแบบ และระบบฐานข้อมูล

แนวคิดสำคัญคือการเปลี่ยนข้อมูลดิบให้เป็นสารสนเทศหรือความรู้ที่นำไปใช้ได้จริง เช่น การพยากรณ์ การจำแนกประเภท การจัดกลุ่มข้อมูล และการค้นหากฎความสัมพันธ์

ค้นหารูปแบบ

ค้นหา Pattern หรือแนวโน้มที่ซ่อนอยู่ในข้อมูลจำนวนมากซึ่งอาจมองไม่เห็นด้วยตาเปล่า

ใช้ตัดสินใจ

นำผลลัพธ์ไปใช้ช่วยตัดสินใจ เช่น วิเคราะห์ลูกค้า ประเมินความเสี่ยง หรือวางแผนเชิงกลยุทธ์

ความสัมพันธ์ระหว่าง Data, Information และ Knowledge

Knowledge Information Data ตัวเลข / ข้อความ / ภาพ สรุป / รูปแบบ / แนวโน้ม ข้อเสนอแนะ / การตัดสินใจ

Data Mining ช่วยยกระดับข้อมูลไปสู่สารสนเทศและความรู้ที่ใช้แก้ปัญหาได้

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

องค์ประกอบของระบบเหมืองข้อมูล

Data Sources DB / Web / IoT Preparation Clean Integrate Transform Mining Classification Clustering Association Evaluation Visualization / Report ทุกองค์ประกอบต้องเชื่อมโยงกัน เพื่อให้ผลลัพธ์จาก Data Mining น่าเชื่อถือและนำไปใช้ได้จริง

2.4 ระบบคลังข้อมูลและปัญหาของ Database

Data Warehouse คือระบบจัดเก็บและรวบรวมข้อมูลจากระบบปฏิบัติการต่าง ๆ ขององค์กรให้มาอยู่ในศูนย์กลางเดียว สามารถเก็บข้อมูลย้อนหลังหลายปี เพื่อใช้สนับสนุนการตัดสินใจ วิเคราะห์ข้อมูลหลายมิติ และทำ Data Mining

ทำไม Database ทั่วไปอาจไม่เหมาะกับการวิเคราะห์?

ฐานข้อมูลเชิงสัมพันธ์ที่ออกแบบแบบ Normalization เหมาะกับการบันทึกและแก้ไขข้อมูล แต่เมื่อนำมา Query เพื่อตอบคำถามผู้บริหาร เช่น ยอดขายย้อนหลังหลายปี อาจต้องใช้ SQL ที่ยาว ซับซ้อน มี JOIN หลายครั้ง และปรับคำสั่งมากเมื่อคำถามเปลี่ยน

Data Warehouse จึงมักออกแบบด้วย Dimensional Modeling เช่น Star Schema เพื่อให้ Query ง่ายขึ้น ลดความซับซ้อน และเหมาะสำหรับการวิเคราะห์ข้อมูลเพื่อการตัดสินใจ

Database

เน้นบันทึก แก้ไข ลบ และจัดการธุรกรรม เช่น ระบบขายสินค้า ระบบสมาชิก

Data Warehouse

เน้นรวบรวมข้อมูลเพื่อรายงาน วิเคราะห์ เปรียบเทียบ และสนับสนุนการตัดสินใจ

Database vs Data Warehouse

Operational Database บันทึกธุรกรรมรายวัน INSERT / UPDATE / DELETE เหมาะกับระบบงานประจำ Data Warehouse Fact Time Product Customer Store ETL / Integration

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

แผนผังเทคนิค Data Mining

Data Mining Techniques Classification Decision Tree / SVM Clustering K-Means Association Apriori / FP-Growth Prediction Regression / Forecast Anomaly Fraud / Outlier เลือกเทคนิคตามชนิดของปัญหา: ต้องการทำนาย จัดกลุ่ม หาความสัมพันธ์ หรือตรวจจับความผิดปกติ

2.6 การประยุกต์ใช้งานเหมืองข้อมูล

Data Mining ถูกนำไปใช้ในหลายอุตสาหกรรมเพื่อสร้างความได้เปรียบในการแข่งขัน ช่วยเข้าใจลูกค้า ลดความเสี่ยง และเพิ่มประสิทธิภาพการตัดสินใจ

การตลาด

ทำนายการตอบสนองต่อสินค้าใหม่ ทำนายยอดขาย และหากลุ่มลูกค้าเป้าหมาย

การเงินการธนาคาร

คาดการณ์ความเสี่ยงสินเชื่อ ตรวจจับทุจริต และวิเคราะห์พฤติกรรมบัตรเครดิต

ค้าปลีกและ E-Commerce

แนะนำสินค้า จัดวางสินค้า วิเคราะห์ลำดับการเข้าชมเว็บ และปรับปรุงเว็บไซต์

โทรคมนาคม

วิเคราะห์รูปแบบการใช้งาน ตรวจสอบการโกง และคาดการณ์ลูกค้าที่อาจเลิกใช้บริการ

ตัวอย่างเชิงธุรกิจ

ระบบแนะนำสินค้า เช่น ร้านค้าออนไลน์ สามารถใช้ข้อมูลการซื้อในอดีตเพื่อแนะนำสินค้าที่ลูกค้าน่าจะสนใจ เพิ่มโอกาสการขายและสร้างประสบการณ์ที่ตรงกับผู้ใช้แต่ละคน

2.7 ขั้นตอนในการทำเหมืองข้อมูล

กระบวนการทำเหมืองข้อมูลมักประกอบด้วยขั้นตอนที่ต่อเนื่องกัน ตั้งแต่เตรียมข้อมูลจนถึงนำเสนอความรู้ที่ค้นพบ

Data Cleaning

คัดข้อมูลที่ไม่เกี่ยวข้อง แก้ไขข้อมูลหาย ข้อมูลซ้ำ และข้อมูลผิดรูปแบบ

Data Integration

รวมข้อมูลจากหลายแหล่งให้เป็นชุดเดียวกัน

Data Selection

เลือกข้อมูลหรือคอลัมน์ที่เกี่ยวข้องกับโจทย์วิเคราะห์

Data Transformation

แปลงข้อมูลให้อยู่ในรูปแบบที่เหมาะสม เช่น แปลงเพศ ช่วงอายุ หรือจัดกลุ่มคะแนน

Data Mining

ค้นหารูปแบบ ความสัมพันธ์ หรือโมเดลจากข้อมูล

Pattern Evaluation

ประเมินว่ารูปแบบที่พบมีความถูกต้อง น่าสนใจ และใช้งานได้จริงหรือไม่

Knowledge Representation

นำเสนอความรู้ด้วยกราฟ ตาราง รายงาน หรือ Dashboard ให้เข้าใจง่าย

Data Mining Process

Clean แก้ข้อมูล Integrate รวมข้อมูล Select เลือกข้อมูล Transform แปลงข้อมูล Mining หา Pattern Use ใช้งาน

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 Pipeline ด้วย Python

Raw Data missing / duplicate Pandas isnull() fillna() drop_duplicates() Transform encoding scaling feature select Ready Data for model ก่อนทำ Mining ควรตรวจ Missing Value, Duplicate, Outlier และแปลงข้อมูลให้อยู่ในรูปแบบที่โมเดลเข้าใจได้

ตัวอย่างโค้ด 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 Checklist ก่อนเข้าสู่บทที่ 3

หลังจากเรียนบทที่ 2 ผู้เรียนควรมองเห็นความเชื่อมโยงระหว่างโจทย์ ข้อมูล เทคนิค และเครื่องมือ เพราะบทที่ 3 จะลงลึกเรื่องการเตรียมข้อมูล ซึ่งเป็นขั้นตอนที่ใช้เวลามากและมีผลโดยตรงต่อคุณภาพของโมเดล

ระบุแหล่งข้อมูลและรูปแบบข้อมูลได้
อธิบายเทคนิค Classification, Clustering, Association และ Prediction ได้
เข้าใจบทบาทของ Data Warehouse ต่อการวิเคราะห์องค์กร
ใช้ Pandas ตรวจ Missing Value และ Duplicate เบื้องต้นได้

2.11 แบบฝึกหัดท้ายบท

แบบฝึกหัดนี้เหมาะสำหรับฝึกทบทวน SQL และการคิดเชิงข้อมูลก่อนเข้าสู่การทำ Data Mining จริง

  1. แสดงข้อมูลทั้งหมดของนักศึกษาจากตาราง Student
  2. แสดงข้อมูลชื่อ First ของนักศึกษาจากตาราง Student
  3. แสดงข้อมูลนามสกุล Last ของนักศึกษาจากตาราง Student
  4. แสดงข้อมูลชื่อ First และนามสกุล Last ของนักศึกษาจากตาราง Student
  5. แสดงข้อมูลนามสกุล Last ของนักศึกษาที่แตกต่างกัน
  6. แสดงข้อมูลนักศึกษาที่มีชื่อว่า John
  7. แสดงข้อมูลนักศึกษาทั้งหมด ยกเว้นนักศึกษาที่ชื่อ John
  8. แสดงข้อมูลจากตาราง Grade ที่มีคะแนนมากกว่าหรือเท่ากับ 60 คะแนน
  9. แสดงข้อมูล First, Last และ Mark จากตาราง Grade ที่มีคะแนนน้อยกว่าหรือเท่ากับ 60 คะแนน

สรุปบทที่ 2

พื้นฐานของเหมืองข้อมูลประกอบด้วยการเข้าใจข้อมูล วัตถุประสงค์ เทคนิค เครื่องมือ และการเตรียมข้อมูล การทำ Data Mining ที่ดีควรเริ่มจากโจทย์ที่ชัดเจน ข้อมูลที่มีคุณภาพ และการประเมินผลที่สอดคล้องกับการใช้งานจริง

ต้องการต่อยอดจากบทเรียนเป็นระบบวิเคราะห์ข้อมูลจริง?

Siam2Dev ช่วยวางแผน Data Mining, เตรียมข้อมูล, สร้างโมเดล Machine Learning และทำ Dashboard สำหรับงานวิจัย ธุรกิจ และการเรียนการสอน

อ่านต่อ

บทความและบริการที่เกี่ยวข้อง

ต่อยอดพื้นฐาน Data Mining ไปสู่การวิเคราะห์ข้อมูลด้วย Python, AI และระบบ Dashboard ใช้งานจริง

FAQ

คำถามที่พบบ่อยเกี่ยวกับบทที่ 2

สรุปคำถามสำคัญที่ช่วยให้ผู้เรียนเข้าใจภาพรวมของ Data Mining ก่อนเข้าสู่บทที่ 3 เรื่องการเตรียมข้อมูล

Data Mining ต่างจาก Query ฐานข้อมูลอย่างไร?

Query ใช้ดึงข้อมูลตามเงื่อนไขที่กำหนด ส่วน Data Mining ใช้ค้นหารูปแบบ ความสัมพันธ์ หรือโมเดลที่ซ่อนอยู่ในข้อมูล

ทำไมต้องเรียน Data Warehouse?

เพราะ Data Warehouse ช่วยรวมข้อมูลจากหลายระบบและจัดรูปแบบให้เหมาะกับการวิเคราะห์ระยะยาวและการทำรายงานผู้บริหาร

Supervised กับ Unsupervised ต่างกันอย่างไร?

Supervised มีคำตอบหรือ Label สำหรับฝึกโมเดล เช่น Classification ส่วน Unsupervised ไม่มี Label ใช้ค้นหากลุ่มหรือรูปแบบ เช่น Clustering

ทำไมต้องทำ Data Cleaning ก่อนสร้างโมเดล?

เพราะข้อมูลที่มีค่าว่าง ข้อมูลซ้ำ หรือรูปแบบไม่สอดคล้องกัน อาจทำให้ผลการวิเคราะห์ผิดพลาดและโมเดลไม่น่าเชื่อถือ