Data Science (Khoa học dữ liệu) là ngành kết hợp thống kê, lập trình và kiến thức nghiệp vụ để biến dữ liệu thô thành quyết định. Bài này làm rõ Data Scientist làm gì, khác gì với Data Analyst / ML Engineer / Data Engineer, bộ kỹ năng cần có, quy trình chuẩn CRISP-DM, các nhóm bài toán và bộ công cụ nền tảng để bắt đầu.
Data Science là quá trình dùng phương pháp khoa học, thuật toán và hệ thống để trích xuất tri thức và giá trị từ dữ liệu ở nhiều dạng (bảng, văn bản, ảnh, log...). Một Data Scientist không chỉ chạy mô hình — họ đặt câu hỏi đúng, làm sạch dữ liệu, xây mô hình, và quan trọng nhất là kể câu chuyện giúp người ra quyết định hành động.
Ba trụ cột kinh điển của Data Science (theo Drew Conway) là: toán/thống kê, kỹ năng lập trình (hacking) và hiểu biết nghiệp vụ (domain). Thiếu một trong ba thì kết quả dễ sai hướng.
| Giá trị | Ví dụ thực tế |
|---|---|
| Dự báo (predictive) | Dự đoán khách hàng rời bỏ (churn), doanh số tháng tới, nhu cầu tồn kho. |
| Tối ưu quyết định | Định giá động, phân bổ ngân sách quảng cáo, chấm điểm tín dụng. |
| Tự động hoá | Phân loại email spam, gợi ý sản phẩm, phát hiện gian lận theo thời gian thực. |
| Thấu hiểu (insight) | Phân khúc khách hàng, tìm nguyên nhân sụt giảm, hiểu hành vi người dùng. |
Bốn vai trò dưới đây thường bị nhầm lẫn. Chúng nằm trên một chuỗi giá trị dữ liệu: Data Engineer xây "đường ống", Analyst và Scientist khai thác, ML Engineer đưa mô hình vào sản phẩm.
| Vai trò | Nhiệm vụ chính | Công cụ tiêu biểu | Output |
|---|---|---|---|
| Data Analyst | Trả lời câu hỏi nghiệp vụ từ dữ liệu quá khứ, mô tả xu hướng. | SQL, Excel, Power BI/Tableau, Python cơ bản | Dashboard, báo cáo, insight |
| Data Scientist | Xây mô hình dự báo/thống kê, thiết kế thí nghiệm (A/B test), giải bài toán mở. | Python/R, pandas, scikit-learn, SQL, thống kê | Mô hình, phân tích, đề xuất, prototype |
| ML Engineer | Đưa mô hình lên production: tối ưu, đóng gói, phục vụ, giám sát (MLOps). | Python, Docker, Kubernetes, TensorFlow/PyTorch, MLflow, CI/CD | API/dịch vụ ML chạy ổn định ở scale |
| Data Engineer | Xây pipeline ETL/ELT, kho dữ liệu, đảm bảo dữ liệu sạch & sẵn sàng. | SQL, Spark, Airflow, dbt, Kafka, Snowflake/BigQuery | Data warehouse/lake, pipeline dữ liệu |
Data Scientist là vai trò "full-stack của dữ liệu". Bảng dưới xếp theo mức độ ưu tiên khi mới bắt đầu (★ = quan trọng, càng nhiều sao càng cần đầu tư sớm).
| Kỹ năng | Nội dung cụ thể | Mức độ ưu tiên |
|---|---|---|
| Toán & Thống kê | Xác suất, phân phối, kiểm định giả thuyết, hồi quy, đại số tuyến tính, giải tích cơ bản. | ★★★★★ |
| Lập trình – Python | NumPy, pandas, matplotlib; viết code sạch, hàm, môi trường ảo. | ★★★★★ |
| Lập trình – SQL | SELECT, JOIN, GROUP BY, window function, subquery — truy vấn dữ liệu ở nguồn. | ★★★★★ |
| Machine Learning | Hồi quy, phân loại, cây/ensemble, đánh giá mô hình, overfitting, cross-validation. | ★★★★ |
| Domain knowledge | Hiểu ngành đang làm (tài chính, e-commerce, y tế...) để đặt câu hỏi đúng. | ★★★★ |
| Storytelling & Visualization | Trình bày kết quả cho người không kỹ thuật, chọn biểu đồ đúng, dẫn dắt hành động. | ★★★★ |
| Kỹ thuật phần mềm | Git, dòng lệnh, viết test, đóng gói — cần khi lên production. | ★★★ |
| Deep Learning / Big Data | PyTorch/TensorFlow, Spark — cần theo lĩnh vực chuyên sâu, không bắt buộc lúc đầu. | ★★ |
CRISP-DM (Cross-Industry Standard Process for Data Mining) là khung quy trình phổ biến nhất, gồm 6 giai đoạn lặp lại. Nó nhắc rằng dự án bắt đầu và kết thúc bằng nghiệp vụ, không phải bằng thuật toán.
Bốn cấp độ phân tích (theo Gartner) đi từ dễ đến khó, từ "chuyện gì đã xảy ra" đến "nên làm gì":
| Loại | Câu hỏi trả lời | Ví dụ / kỹ thuật |
|---|---|---|
| Descriptive (mô tả) | Chuyện gì đã xảy ra? | Báo cáo doanh thu, thống kê tổng hợp, dashboard. |
| Diagnostic (chẩn đoán) | Tại sao lại xảy ra? | Phân tích tương quan, root-cause, drill-down. |
| Predictive (dự báo) | Điều gì sẽ xảy ra? | Regression (số liên tục), Classification (nhãn). |
| Prescriptive (đề xuất) | Nên làm gì? | Tối ưu hoá, mô phỏng, reinforcement learning. |
Theo cách học máy, các bài toán được nhóm như sau:
| Công cụ | Vai trò |
|---|---|
| Python | Ngôn ngữ chính của Data Science. Cú pháp gọn, hệ sinh thái thư viện khổng lồ. |
| Jupyter Notebook / Lab | Môi trường tương tác: viết code, xem kết quả và chú thích trong cùng một tài liệu — lý tưởng cho EDA. |
| pandas | Thao tác dữ liệu bảng (DataFrame): đọc, lọc, gộp, biến đổi. |
| NumPy | Tính toán mảng số hiệu năng cao — nền tảng của pandas và scikit-learn. |
| scikit-learn | Thư viện machine learning cổ điển: mô hình, tiền xử lý, đánh giá, pipeline. |
| matplotlib / seaborn | Vẽ biểu đồ để khảo sát và trình bày. |
| SQL | Truy vấn dữ liệu ngay tại nguồn (database). Kỹ năng bắt buộc. |
| Git / GitHub | Quản lý phiên bản code, cộng tác nhóm. |
| Cloud (AWS/GCP/Azure) | Lưu trữ, tính toán quy mô lớn, dịch vụ ML sẵn có. Học sau khi vững nền tảng. |
Cách cài nhanh môi trường bằng Anaconda hoặc pip:
# Cách 1: dùng conda (khuyến nghị cho người mới) conda create -n ds python=3.11 conda activate ds conda install pandas numpy scikit-learn matplotlib seaborn jupyter # Cách 2: dùng pip + venv python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install pandas numpy scikit-learn matplotlib seaborn jupyter # Khởi động Jupyter jupyter lab