Trở thành Nhà Khoa học Dữ liệu giỏi hơn với Những Mẹo và Thủ thuật Prompt Engineering
Khi Prompt Engineering đang trở thành một kỹ năng bắt buộc trên hầu hết mô tả công việc, việc chia sẻ một số thủ thuật để cải thiện quy trình làm khoa học dữ liệu là rất hữu ích.
Chúng ta sẽ nói đến các prompt cụ thể cho việc làm sạch dữ liệu, phân tích dữ liệu khám phá (EDA), và tạo tính năng (feature engineering).
Mục lục
- Tại sao Prompt Engineering là siêu năng lực cho DSs
- Chu trình khoa học dữ liệu, tái định hình với LLMs
- Prompt Engineering cho Lập kế hoạch, Làm sạch và EDA
1. Tại sao Prompt Engineering là siêu năng lực cho DSs
Ban đầu, “Prompt Engineering” nghe như một buzzword mới nổi. Thật ra, đây là một trong những kỹ năng quan trọng và thường bị đánh giá thấp nhất mà một data scientist có thể học được. Rất nhiều bản mô tả công việc giờ yêu cầu prompt engineering là kỹ năng bắt buộc.
Hãy tự hỏi: bạn có thường xuyên nhờ ChatGPT/Claude/ hoặc chatbot yêu thích của bạn viết lại code, làm sạch data, hay brainstorming dự án không? Và có bao nhiêu lần bạn nhận được câu trả lời thực sự hữu ích, không chung chung hoặc máy móc?
Prompt Engineering là nghệ thuật (và khoa học) để khiến LLM như GPT‑4 hoặc Claude thực sự làm điều bạn muốn, theo cách phù hợp với quy trình công việc của bạn.
Bởi vì giờ đây, LLM đang hiện diện trong rất nhiều công cụ làm việc hàng ngày: trong notebook, IDE, dashboard BI, công cụ review code... và chúng ngày càng mạnh.
Khi công việc data science càng phức tạp - càng nhiều tool, kỳ vọng, pipeline - kỹ năng giao tiếp chính xác, có cấu trúc với AI trở thành một lợi thế đáng giá.
Prompt engineering là siêu năng lực, không chỉ cho người mới vào nghề mà còn với các DS giàu kinh nghiệm muốn làm việc thông minh hơn.
Chuỗi này sẽ hướng dẫn bạn cách prompt engineering hỗ trợ từng giai đoạn trong lifecycle của khoa học dữ liệu - từ brainstorming, làm sạch, đến modeling, evaluation, tài liệu hóa, và hơn thế nữa.
2. Chu trình khoa học dữ liệu, tái định hình với LLMs
Khi bạn xây dựng một dự án Data Science hoặc ML, đó như một hành trình thực sự. Từ lúc bạn xác định bài toán cần giải đến lúc thuyết phục stakeholder hiểu vì sao model của bạn quan trọng mà không cần show code.
Một chu trình DS điển hình như sau:
- Lập kế hoạch & Brainstorm: xác định câu hỏi đúng cần giải và bài toán cần giải quyết
- Thu thập dữ liệu hoặc người khác thu
- Làm sạch và tiền xử lý dữ liệu – phần chiếm đến 80% thời gian (và kiên nhẫn!)
- Khám phá dữ liệu (EDA) – cảm nhận dữ liệu, tìm câu chuyện trong số liệu
- Xây dựng: feature engineering và modeling
- Đánh giá và xác nhận model có thực sự hiệu quả không
- Tài liệu và báo cáo kết quả để người khác hiểu
Giờ... hãy tưởng tượng bạn có một trợ lý:
- Viết code khởi đầu nhanh chóng
- Gợi ý cách làm sạch hoặc trực quan hóa data hiệu quả hơn
- Giúp bạn giải thích hiệu suất model cho người không kỹ thuật
- Nhắc bạn kiểm tra các lỗi như data leakage hoặc class imbalance
- Có mặt 24/7
Đó là LLM, nếu bạn biết cách prompt đúng cách. Chúng không thay thế bạn được, bạn đừng lo. Nhưng LLM sẽ là một công cụ hữu ích bổ sung khả năng của bạn. Bạn vẫn phải biết mình đang xây gì, vì sao, và như thế nào - nhưng giờ bạn có trợ lý để thực hiện tất cả một cách thông minh hơn.
3. Prompt Engineering cho Lập kế hoạch, Làm sạch & EDA
A. Lập kế hoạch & Brainstorm: Không còn trang trắng
Bạn đã có dataset và mục tiêu. Bước tiếp theo?
Hãy prompt GPT‑4 hoặc Claude liệt kê các bước thực hiện một dự án end-to-end dựa trên mô tả dataset và mục tiêu.
Ví dụ thực tế:
Prompt: “Bạn là Data Scientist cấp cao. Tôi có dataset tiêu thụ năng lượng (12.000 dòng, dữ liệu theo giờ trong 18 tháng), bao gồm các biến: temperature, usage_kwh, region, weekday.
Nhiệm vụ: đề xuất kế hoạch dự án từng bước để dự báo tiêu thụ năng lượng tương lai. Bao gồm bước tiền xử lý, xử lý seasonality, ý tưởng tạo feature, và các lựa chọn mô hình. Chúng tôi sẽ triển khai dashboard cho stakeholder nội bộ.”
Prompt có cấu trúc như vậy cung cấp:
- Context (kích thước dữ liệu, các biến, mục tiêu)
- Constraints (seasonality, dữ liệu thời gian…)
- Hướng đến triển khai
Lưu ý: nếu bạn dùng ChatGPT model o3‑pro mới nhất, hãy cung cấp nhiều ngữ cảnh, vì nó xử lý cả transcripts, doc, data tốt.
Prompt tương tự với Claude cũng hiệu quả, do Claude thích hướng dẫn rõ ràng. Claude có window context lớn hơn, nên có thể đưa thêm schema hoặc ví dụ dataset để có kế hoạch cá nhân hóa tốt hơn.
Phản hồi từ o3-pro chẳng khác nào một bản kế hoạch dự án khoa học dữ liệu đầy đủ - từ làm sạch dữ liệu, tạo đặc trưng (feature engineering), đến lựa chọn mô hình và triển khai - nhưng quan trọng hơn cả: nó bao gồm các điểm ra quyết định then chốt, mốc thời gian thực tế, và những câu hỏi giúp kiểm chứng lại các giả định ban đầu của chúng ta.
Chiến lược bonus: Clarify – Confirm – Complete
Khi cần lập kế hoạch phức tạp, bạn có thể áp dụng quy trình này:
- Clarify: Yêu cầu AI làm rõ: nó cần biết gì
- Confirm: Bạn xác nhận lại cách tiếp cận
- Complete: AI hoàn thành toàn bộ kế hoạch
Ví dụ prompt: “Tôi muốn phân tích nguyên nhân giao hàng trễ trong chuỗi logistics.
Trước khi đưa kế hoạch phân tích:
- Clarify dữ liệu hoặc các chỉ số nào liên quan đến độ trễ giao hàng
- Confirm cách phân tích tốt nhất để tìm nguyên nhân
- Sau đó, hoàn thành kế hoạch chi tiết gồm: làm sạch data, feature engineering, phương pháp modeling/analysis và cách báo cáo.”
Phương pháp này buộc LLM dừng lại và suy nghĩ như con người: đặt câu hỏi hoặc giả định trước khi triển khai.
B. Data cleaning & preprocessing: Tạm biệt các đoạn code lặp lại
Khi kế hoạch đã sẵn sàng, bước tiếp theo là vào việc: làm sạch dữ liệu chiếm đến 80% công việc. GPT‑4 và Claude đều có thể tạo code snippets cho các tác vụ phổ biến như xử lý giá trị thiếu (missing values) hoặc biến đổi biến, nếu bạn prompt rõ ràng.
Ví dụ:
Prompt:
“Tôi có DataFrame df với cột: age, income, city. Một số giá trị missing, và có outliers ở income.
Nhiệm vụ:
- Loại bỏ các dòng city missing
- Điền age missing với median
- Cắt outliers trong income theo phương pháp IQR
- Thêm comment vào code.”
Ngay lập tức bạn sẽ có đoạn code với dropna(), fillna(), sử dụng logic IQR để xác định và loại bỏ outliers kèm các comments giải thích.
Ví dụ: Yêu cầu hướng dẫn chiến lược làm sạch
Prompt: “Các cách khác nhau để xử lý outliers trong dataset giao dịch tài chính? Giải thích khi nào nên dùng mỗi phương pháp và ưu/nhược điểm của chúng.”
Một câu prompt như thế này sẽ tạo ra câu trả lời gồm nhiều phương pháp cụ thể, phù hợp với lĩnh vực bạn đang làm việc, thay vì đưa ra một giải pháp “một cỡ cho tất cả”.
Điều này giúp bạn tránh được những lời khuyên đơn giản hóa quá mức hoặc dễ gây hiểu nhầm - ví dụ, nếu bạn chỉ hỏi “cách tốt nhất để xử lý giá trị ngoại lai là gì?”, thì mô hình có thể trả lời quá đơn giản kiểu “loại bỏ tất cả các điểm ngoại lai”.
Thử few-shot prompting (prompt với nhiều ví dụ) để đảm bảo đồng nhất
Muốn mô tả biến theo định dạng nhất quán?
Cho LLM mẫu:
“Original: “Customer age” → Standardized: “Age of customer at time of transaction.”
Original: “purchase_amt” → Standardized: “Transaction amount in USD.”
Now standardize:
Original: “cust_tenure”
Original: “item_ct””
LLM sẽ bắt chước phong cách hoàn hảo. Bạn có thể dùng trick này cho tiêu chuẩn hóa labels, mô tả feature, hoặc ngay cả bước mô tả model sau này.
C. Exploratory Data Analysis (EDA): Đặt câu hỏi tốt hơn
EDA (phân tích dữ liệu khám phá) là giai đoạn mà chúng ta bắt đầu đặt câu hỏi: “Điều gì thú vị ở đây?” - và đây cũng là lúc những câu prompt mơ hồ có thể gây hại thực sự.
Một câu như “phân tích bộ dữ liệu này” sẽ thường chỉ nhận lại… những gợi ý chung chung.
Ví dụ prompt EDA cụ thể:
“Tôi có dataset e‑commerce với các cột: customer_id, product, date, amount.
Tôi muốn hiểu:
- Mô hình hành vi mua hàng
- Các sản phẩm thường mua cùng nhau
- Thay đổi trong hành vi mua theo thời gian
Với mỗi mục, đề xuất các cột cần phân tích và phương pháp Python.”
Lúc này AI dễ đề xuất: thống kê theo nhóm, xu hướng theo thời gian, code với groupby(), seaborn, phân tích market basket...
Nếu bạn đã có thống kê tóm tắt summary statistics, có thể đưa vào và hỏi:
“Dựa vào summary stats này, điều gì nổi bật hoặc vấn đề tiềm ẩn nên xem xét?”
GPT‑4/Claude có thể chỉ ra biến có độ lệch cao hoặc giá trị missing bất thường. (Lưu ý: model chỉ dự đoán dựa trên những gì bạn cung cấp, có thể hallucinate nếu không có data thật).
Ví dụ prompt EDA hướng dẫn: “Tôi có dataset với 50 cột (numeric + categorical). Hãy đề xuất một kế hoạch EDA: liệt kê 5 phân tích chính cần thực hiện (ví dụ: kiểm tra phân phối, tương quan, v.v.). Với mỗi phân tích, chỉ rõ cột hoặc cặp cột cần xem xét, vì tôi muốn hiểu các yếu tố ảnh hưởng doanh số.”
Prompt cụ thể mục tiêu (“performance drivers”) giúp AI đề xuất ví dụ phù hợp như scatter plot sales vs marketing_spend, biểu đồ thời gian nếu có cột date, v.v. Dạng output có cấu trúc (liệt kê 5 mục) dễ đọc hơn.
Ví dụ: Hỏi AI giải thích plot
Bạn cũng có thể hỏi: “Một box plot của income theo occupation cho mình biết gì?”
AI sẽ giải thích quartile, IQR, ý nghĩa các outlier... rất có ích khi bạn mentor người mới hoặc chuẩn bị slide báo cáo, presentation.
Những cạm bẫy cần tránh
Giai đoạn này rất dễ mis‑use LLM. Đây là những điểm cần lưu ý:
- Prompt mơ hồ, chung chung
Ví dụ: “What should I do with this dataset?” → nhận được câu trả lời chung: "Làm sạch, phân tích, dựng model".
Thay vào đó, hãy cung cấp:
- Context (loại dữ liệu, kích thước, biến)
- Mục tiêu (predict churn, analyze sales...)
- Constraints (dữ liệu mất cân bằng, missing, quy tắc domain)
- Đừng tin tưởng mù quáng vào output: LLM viết code rất nhanh. Nhưng hãy kiểm thử mọi thứ để tránh dẫn tới các kết quả thất bại hoặc sai.
- Privacy và leakage
Nếu bạn làm việc với dữ liệu công ty, đừng paste raw data vào prompt trừ khi bạn dùng model private/enterprise. Mô tả data một cách trừu tượng, hoặc tốt hơn là hỏi ý kiến manager.
📌 Nguồn: Sara Nobrega – a data scientist and writer focused on AI and prompt engineering; TowardDataScience.