RobustX / Chương trình học / Vị trí công việc / Data Analyst / Data Preprocessing & Feature Engineering

Data Preprocessing & Feature Engineering

Trong mọi dự án dữ liệu, có một nguyên tắc vàng không bao giờ thay đổi: “Garbage In, Garbage Out”. Chất lượng của mọi phân tích hay mô hình Machine Learning đều phụ thuộc hoàn toàn vào chất lượng của dữ liệu đầu vào. Khóa học này sẽ đưa bạn vào hậu trường, nơi công việc quan trọng nhất của một chuyên gia dữ liệu diễn ra: biến những dữ liệu thô, lộn xộn và thiếu sót thành một tài sản sạch sẽ, có cấu trúc và giàu thông tin. Đây là kỹ năng nền tảng quyết định đến 80% sự thành công của một dự án.

Chương trình sẽ trang bị cho bạn một bộ công cụ và quy trình làm việc có hệ thống để đối mặt với thực tế của dữ liệu. Bạn sẽ học cách làm một “người dọn dẹp” chuyên nghiệp, tự tin xử lý các vấn đề phổ biến như giá trị thiếu, dữ liệu sai định dạng và các giá trị ngoại lệ (outliers). Song song đó, bạn sẽ đóng vai một “nhà điêu khắc” dữ liệu, thực hành các kỹ thuật Feature Engineering để biến đổi và tạo ra các đặc trưng mới, giúp các mô hình học máy có thể “nhìn thấy” những tín hiệu quan trọng mà dữ liệu thô không thể hiện được.Toàn bộ khóa học sẽ được thực hành trên hệ sinh thái Python với các thư viện mạnh mẽ như PandasScikit-learn. Bạn sẽ học cách thu thập dữ liệu từ nhiều nguồn đa dạng, áp dụng các phép biến đổi như encoding, scaling, binning một cách thành thạo.

Thời lượng: 30h

KẾT QUẢ ĐẠT ĐƯỢC

Yêu cầu tiên quyết:

    • Đã học qua Python và Pandas .
    • Biết cách thực hiện EDA, hiểu cấu trúc bảng dữ liệu.

Nội dung khóa học

1. Thu thập và chuẩn hóa dữ liệu từ nhiều nguồn
  • Đọc dữ liệu từ nhiều nguồn:
    • Thực hành đọc dữ liệu từ file CSV, Excel bằng Pandas; kết nối và truy xuất dữ liệu từ SQL Database (MySQL, PostgreSQL…).
    • Hướng dẫn xử lý các vấn đề thường gặp khi nhập dữ liệu lớn hoặc định dạng phức tạp.
  • Chuẩn hóa cấu trúc dữ liệu:
    • Đổi tên cột đồng nhất, viết thường/không dấu, loại bỏ ký tự lạ trong tên.
    • Sắp xếp lại thứ tự cột, lọc những trường thông tin quan trọng, chuẩn hóa kiểu dữ liệu cho từng cột.
  • Gộp, nối, hợp nhất bảng dữ liệu:
    • Ghép nối các bảng dữ liệu từ nhiều nguồn (merge, join, concat…) để xây dựng dataset tổng hợp phục vụ phân tích, đảm bảo tính toàn vẹn dữ liệu.
  • Thực hành:
    • Tạo bảng dữ liệu khách hàng, đơn hàng từ nhiều file, kết nối SQL và chuẩn hóa thành một dataset hoàn chỉnh.
2. Đánh giá và làm sạch dữ liệu
  • Xác định và xử lý giá trị thiếu (Missing Value):
    • Phân biệt các kiểu missing value (NA, None, rỗng…), phát hiện qua Pandas, trực quan hóa missing pattern.
    • Ứng dụng các chiến lược: loại bỏ bản ghi/cột, thay thế bằng trung bình/trung vị/mode, dự báo giá trị thiếu.
  • Loại bỏ hoặc thay thế dữ liệu nhiễu, lỗi định dạng:
    • Phát hiện trường hợp nhập sai format (chuỗi lẫn số, ngày tháng lộn xộn), tự động hóa chuẩn hóa lại.
  • Phát hiện & xử lý ngoại lệ (outlier):
    • Áp dụng IQR, Z-score, trực quan hóa bằng Boxplot để phát hiện các giá trị bất thường.
    • Quyết định loại bỏ, thay thế, hay gắn cờ cảnh báo cho phân tích sau.
  • Làm sạch chuỗi văn bản:
    • Xử lý ký tự đặc biệt, chuẩn hóa khoảng trắng, chuyển chữ in hoa – thường, chuẩn hóa unicode.
  • Thực hành:
    • Làm sạch bảng dữ liệu khách hàng: loại bản ghi trùng, xử lý các trường có lỗi nhập liệu, kiểm tra dữ liệu ngoài phạm vi hợp lệ.
3. Biến đổi dữ liệu (Transformation)
  • Đổi kiểu dữ liệu:
    • Chuyển đổi giữa kiểu số, ngày tháng, chuỗi; xử lý trường hợp ngày tháng nhiều định dạng.
  • Binning – rời rạc hóa dữ liệu liên tục:
    • Tạo nhóm tuổi (young, adult, senior…), phân vùng thu nhập, điểm số… thành các nhóm logic phục vụ phân tích hoặc mô hình.
  • Feature Scaling (chuẩn hóa dữ liệu):
    • Áp dụng StandardScaler, Min-Max Scaler, RobustScaler để đồng nhất thang đo giữa các feature, tránh “feature dominance” khi huấn luyện mô hình.
  • Encoding dữ liệu phân loại:
    • Sử dụng Label Encoding cho biến thứ tự (ordinal), One-hot Encoding cho biến không thứ tự (nominal).
  • Thực hành:
    • Encode giới tính, scale thu nhập khách hàng, phân nhóm tuổi thành categorical feature cho phân tích/tạo dashboard.
4. Tạo đặc trưng mới từ dữ liệu gốc
  • Khai thác đặc trưng từ dữ liệu thời gian:
    • Trích xuất ngày trong tuần, tháng, quý, năm, nhận diện ngày lễ, cuối tuần… để tăng giá trị phân tích.
  • Tổng hợp thông tin theo nhóm:
    • Tính tổng số lần mua, doanh thu trung bình/khách hàng, số lần truy cập website trong tháng…
  • Kết hợp nhiều cột tạo đặc trưng mới:
    • Tạo phân khúc khách hàng (theo tuổi, thu nhập, hành vi mua sắm), tính thời gian kể từ lần mua gần nhất.
  • Biến đổi nâng cao:
    • Ứng dụng log transform cho biến skewed, tạo polynomial features để khám phá mối quan hệ phi tuyến.
  • Thực hành:
    • Tạo các feature mới từ bộ dữ liệu khách hàng – đơn hàng thực tế, kiểm tra ảnh hưởng của feature tới kết quả phân tích/mô hình.
5. Kiểm tra & đánh giá chất lượng dữ liệu sau xử lý
  • So sánh phân phối dữ liệu trước – sau biến đổi:
    • Dùng histogram, boxplot để đối chiếu, nhận diện sự thay đổi (giảm skew, loại outlier…).
  • Phân tích mối tương quan giữa các feature mới và label:
    • Dùng heatmap, scatterplot, kiểm tra feature mới có thực sự cải thiện giá trị phân tích.
  • Trực quan hóa dữ liệu đã xử lý:
    • Tạo dashboard nhỏ hoặc biểu đồ tổng hợp, đảm bảo dữ liệu “ready” cho modeling hoặc dashboarding.
6. Bài thực hành cuối khóa:

Làm sạch và tạo đặc trưng cho dữ liệu khách hàng

  • Yêu cầu:
    • Thu thập dữ liệu khách hàng + đơn hàng từ nhiều nguồn
    • Làm sạch giá trị thiếu, sai định dạng, outlier
    • Biến đổi dữ liệu: tạo nhóm tuổi, encode giới tính, scale thu nhập
    • Tạo đặc trưng mới: doanh thu trung bình/khách, số lần mua, lần mua cuối cùng
    • Xuất bộ dữ liệu đã xử lý để sử dụng trong mô hình học máy

Bài viết liên quan