Trang chủ>  Blog >  Chia sẻ kinh nghiệm >  🧼 Data Cleaning & Preparation – Module “Xương Sống” Trong Quy Trình Data Science

🧼 Data Cleaning & Preparation – Module “Xương Sống” Trong Quy Trình Data Science


“Garbage in → Garbage out” — dữ liệu bẩn thì mô hình tốt đến mấy cũng vô dụng 😵‍💫 Trong bất kỳ dự án Data Science nào, việc làm sạch và chuẩn bị dữ liệu là bước bắt buộc nếu bạn muốn có insight và mô hình đáng tin cậy. Bài viết này sẽ đi sâu vào Module Data Cleaning & Preparation — bao gồm quy trình, kỹ thuật cốt lõi và best practice chuyên nghiệp mà Data Scientist cần nắm vững 💪

  305 lượt xem

Nội dung bài viết

1️⃣ Vai Trò Của Data Cleaning Trong Data Science 🔑

Trước khi bước vào model, bạn cần biến “raw data” thành “analysis-ready data”:

  • Loại bỏ các lỗi hệ thống (null, duplicate, format sai)

  • Chuẩn hóa cấu trúc dữ liệu từ nhiều nguồn

  • Xử lý các điểm bất thường để tránh “lệch” mô hình

  • Tạo pipeline chuẩn để đảm bảo quy trình có thể lặp lại (reproducible)

📌 Nếu không xử lý tốt giai đoạn này → model dễ bị bias, giảm accuracy, không deploy được thực tế.

2️⃣ Quy Trình 5 Bước Data Cleaning 🧭

2.1 Xác định cấu trúc & chất lượng dữ liệu 🕵️

  • Kiểm tra schema: tên cột, kiểu dữ liệu (date, number, string), tính đầy đủ.

  • Thống kê mô tả sơ bộ: dùng .describe() hoặc SQL aggregate để hiểu phân bố, phát hiện cột có vấn đề.

  • Phân loại lỗi: missing, duplicated, inconsistent, outlier, type error…

👉 Đây là bước “khám sức khỏe” cho dataset trước khi xử lý.

2.2 Xử lý Missing Values 🧱

Thiếu dữ liệu là vấn đề cực kỳ phổ biến. Có 3 hướng xử lý chính:

  • Loại bỏ (Drop):

    • Loại bỏ dòng hoặc cột có tỷ lệ missing quá cao (thường > 60%).

    • Dùng khi dữ liệu thiếu không có quy luật.

  • Điền giá trị (Imputation):

    • Đơn giản: mean, median, mode (phù hợp với dữ liệu numeric/categorical cơ bản).

    • Nâng cao: KNN imputation, regression imputation, hoặc sử dụng mô hình ML để dự đoán giá trị thiếu.

    • Với time series → dùng forward fill/backward fill.

  • Gắn cờ Missing:

    • Thêm biến “is_missing” để mô hình có thể học được quy luật từ missing data.

📌 Best practice: Không điền đại mean cho tất cả → hãy cân nhắc bản chất dữ liệu & mô hình sẽ dùng.

2.3 Loại bỏ Duplicate & Xử lý Inconsistent Data 🔁

  • Duplicate Rows: dùng drop_duplicates() (Python) hoặc SELECT DISTINCT (SQL).

  • Duplicate ID: kiểm tra cột khóa chính bị trùng, xác định dòng nào đúng → merge logic.

  • Inconsistent Format: ví dụ:

    • “Hà Nội” vs “Ha Noi” → chuẩn hóa không dấu

    • “male/female” vs “M/F” → map về chung format

    • “01/02/2023” vs “2023-02-01” → chuyển về chuẩn ISO

📌 Dữ liệu từ nhiều nguồn CRM, web log, ERP thường dính lỗi inconsistent → đây là chỗ rất nhiều junior hay bỏ sót 😬

2.4 Xử lý Outliers & Noise 📊

Outlier không phải lúc nào cũng là lỗi — đôi khi là insight. Cần phân tích bản chất trước khi xử lý.

  • Phát hiện outlier:

    • IQR method (Q1 - 1.5IQR, Q3 + 1.5IQR)

    • Z-score (|z| > 3)

    • Visualization: boxplot, scatter plot

  • Xử lý:

    • Loại bỏ nếu là dữ liệu lỗi rõ ràng (VD: giá âm, tuổi = 999).

    • Winsorize (cắt ngưỡng max/min) để giảm ảnh hưởng.

    • Biến đổi log để giảm độ lệch.

    • Đưa vào xử lý riêng (ví dụ tạo nhóm “VIP customers” nếu là extreme high value).

📌 Trong mô hình, outlier có thể làm skew distribution → model học sai pattern, đặc biệt với Linear Regression.

2.5 Chuẩn hóa Dữ Liệu (Normalization & Encoding) ✍️

  • Numeric Features:

    • StandardScaler (mean=0, std=1) cho model tuyến tính

    • MinMaxScaler cho mô hình nhạy khoảng giá trị (neural net)

  • Categorical Features:

    • One-hot encoding cho biến ít categories

    • Label encoding cho tree-based models

    • Target encoding hoặc embeddings cho biến nhiều category

  • Date & Time:

    • Parse về đúng định dạng datetime

    • Tách thành nhiều biến: ngày, tháng, năm, weekday, is_holiday, season…

📌 Việc chuẩn hóa này giúp mô hình dễ học hơn, tránh bias do scale không đồng đều.

3️⃣ Pipeline & Automation – Bí Quyết Làm Việc “Pro” 🧠⚡

Data Cleaning không thể làm thủ công cho từng file mãi được. Senior DS thường:

  • Viết pipeline tự động bằng Python (pandas, PySpark), SQL, hoặc tool như dbt.

  • Chia pipeline thành các stage: extract → validate → clean → transform.

  • Ghi log & test schema tự động để phát hiện lỗi sớm.

  • Versioning data → dễ rollback khi upstream thay đổi.

📌 Dùng công cụ như Great Expectations hoặc Soda để thiết lập data quality checks: schema test, null threshold, distribution drift.

4️⃣ Ví Dụ Thực Tế – Cleaning Pipeline Cho Dữ Liệu E-commerce 🛍️

Bối cảnh: Dữ liệu đơn hàng từ 3 nguồn khác nhau: web app, CRM, ERP.
Vấn đề:

  • Cột ngày định dạng khác nhau (string vs datetime)

  • ID đơn hàng trùng giữa các nguồn

  • Missing giá trị ở 20% số dòng

  • “Hà Nội” ghi thành nhiều phiên bản

Pipeline xử lý:

  1. Chuẩn hóa schema (tên cột, kiểu dữ liệu)

  2. Convert date về ISO, parse datetime

  3. Drop duplicates theo order_id

  4. Impute giá trị thiếu bằng median

  5. Map tên tỉnh về chuẩn

  6. Log kết quả sau mỗi bước để kiểm tra chất lượng

Kết quả:

  • Dataset giảm từ 120k → 98k dòng sạch

  • Tăng độ chính xác mô hình dự đoán doanh thu từ 0.68 → 0.84 🎯

5️⃣ Best Practices Cho Data Cleaning ✅

  • 🧠 Hiểu bản chất dữ liệu trước khi xử lý (đừng auto drop/replace mà không phân tích)

  • 📝 Document toàn bộ quy trình cleaning → reproducible

  • 🔁 Tự động hóa pipeline càng nhiều càng tốt

  • ⚠️ Test & log chất lượng dữ liệu định kỳ

  • 📌 Xử lý upstream nếu có thể, đừng chỉ fix downstream.

📝 Kết Luận

Data Cleaning & Preparation không phải là bước “phụ”, mà chính là nền móng của mọi dự án Data Science.
Một Data Scientist giỏi là người:

  • Biết khám dữ liệu nhanh

  • Làm sạch thông minh, không máy móc

  • Biết tạo pipeline ổn định, dễ mở rộng

  • Hiểu sâu bản chất lỗi → xử lý có chiến lược

👉 Làm tốt module này, bạn đã đi được 70% chặng đường đến một mô hình mạnh mẽ & đáng tin cậy 💥

📞 Hotline: 0352.433.233
🌐 mcivietnam.com
📺 youtube.com/@HocVienMCI
👥 facebook.com/groups/dataaivn

 

Chương trình đào tạo: Phân tích dữ liệu, Khoa học dữ liệu, Kĩ sư dữ liệu, Lập trình ứng dụng.
Chất lượng nhất - Uy tín nhất - Nhiều học viên tin tưởng nhất
Hơn 8000 học viên ưu tú đã tốt nghiệp
Đăng ký tư vấn khóa học

*Vui lòng nhập số điện thoại của bạn

*Vui lòng nhập họ tên của bạn

*Vui lòng chọn địa điểm học

*Vui lòng chọn giới tính

*Vui lòng chọn 1 trường


Các bài viết liên quan


🏗️ Data Warehouse – Nền móng dữ liệu cho doanh nghiệp hiện đại

💡 Mỗi ngày, doanh nghiệp tạo ra hàng triệu dòng dữ liệu – từ CRM, Marketing, Sales đến App và IoT. Nếu không có nơi tập trung, dữ liệu sẽ rải rác như “rừng rậm không bản đồ”. Data Warehouse (Kho dữ liệu) chính là nơi gom, chuẩn hóa và lưu trữ dữ liệu doanh nghiệp, giúp mọi bộ phận truy cập một “nguồn sự thật duy nhất” để phân tích và ra quyết định.

🎨 Data Visualization – Khi con số biết kể chuyện

“Một biểu đồ tốt có thể thay thế hàng nghìn dòng báo cáo.” Visualization không chỉ là vẽ đẹp — mà là kể chuyện bằng dữ liệu.

📊 Data Quality – Khi dữ liệu “bẩn” phá hỏng mọi insight

“Garbage in, garbage out.” Dữ liệu sai → báo cáo sai → quyết định sai. Data Quality là nền móng sống còn trong mọi hệ thống dữ liệu hiện đại.

Các bài viết liên quan