🧼 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 💪
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ặcSELECT 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ý:
-
Chuẩn hóa schema (tên cột, kiểu dữ liệu)
-
Convert date về ISO, parse datetime
-
Drop duplicates theo order_id
-
Impute giá trị thiếu bằng median
-
Map tên tỉnh về chuẩn
-
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

Các khóa học
- Mastering AWS : From Basics to Applications Specialized
- Data Engineer Track Specialized
- Combo Data Engineering Professional Hot
- AI & DASHBOARD – CHỈ 990K Hot
- Combo Python Level 1 & Level 2 Bestseller
- Business Intelligence Track Hot
- Data Science Track Bestseller
- Data Analyst Professional (Data Analyst with Python Track) Bestseller
- RPA UiPath Nâng Cao: Chiến Thuật Automation Cho Chuyên Gia Specialized
- RPA UiPath cho Người Mới Bắt Đầu: Thành Thạo Automation Chỉ Trong 1 Ngày Specialized
- Business Analyst Fast Track Bestseller
- Business Analyst Bestseller
Đă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 giới tính
*Vui lòng chọn 1 trường