Học gì để trở thành kỹ sư dữ liệu?
Nếu bạn chưa biết, công việc tiền xử lý dữ liệu là một công việc rất quan trọng trước khi training một mô hình học máy.
Người kỹ sư dữ liệu (Data Engineer) là người thiết kế, xây dựng và duy trì cơ sở hạ tầng và hệ thống hỗ trợ các ứng dụng hướng dữ liệu (data-driven), thường sử dụng các cấu trúc dữ liệu và thuật toán khác nhau để tối ưu hiệu năng. Tương lai các ứng dụng học máy sử dụng dữ liệu lớn (Big Data) sẽ trở nên phổ biến hơn vì vậy vị trí kỹ sư dữ liệu sẽ được tìm kiếm nhiều hơn bao giờ hết.
Tìm hiểu thêm về học máy tại lớp học AI miễn phí.
Đầu tiên thì kỹ sư dữ liệu cần học lập trình tốt. Ngôn ngữ phổ biến để xử lý dữ liệu tại thời điểm hiện tại là Python. Đây là ngôn ngữ được dùng nhiều nhất để làm Machine Learning vì tính đơn giản gọn nhẹ của nó.
Mình đã đóng gói các kiến thức Python vào lớp học Python miễn phí tại đây
- a. Cài đặt Python và các thư viện cần thiết:
- b. Tính chất đặc điểm
Python là ngôn ngữ thông dịch có:
- Điểm mạnh:
- Dễ viết/ Dễ đọc
- Quy trình phát triển phần mềm nhanh vì dòng lệnh được thông dịch thành mã máy và thực thi ngay lập tức
- Có nhiều thư viện mạnh để tính toán cũng như làm Machine Learning như Numpy, Sympy, Scipy, Matplotlib, Pandas, TensorFlow, Keras, vv.
- Điểm yếu:
- Mang đầy đủ điểm yếu của các ngôn ngữ thông dịch như tốc độ chậm, tiềm tàng lỗi trong quá trình thông dịch, source code dễ dàng bị dịch ngược.
- Ngôn ngữ có tính linh hoạt cao nên thiếu tính chặt chẽ.
- Lập trình song song không dễ dàng
- Điểm mạnh:
- c. Các cấu trúc dữ liệu trên Python
-
Cấu trúc dữ liệu là cách tổ chức và lưu trữ dữ liệu trong máy tính để có thể truy cập và chỉnh sửa hiệu quả. Một số cấu trúc dữ liệu phổ biến bao gồm mảng, danh sách liên kết, ngăn xếp, hàng đợi, cây và đồ thị.
-
Khái niệm Biến:
-
Các kiểu dữ liệu trong Python:
- Integer, Float và Boolean
- Chuỗi - String
- List-Based Collection
- List
- Linked List
- Stack
- Queue
- Tuple
- Từ điển - Dictionary
- Set
- Graph
- Binary Tree
-
Cấu trúc dữ liệu nâng cao
-
-
- d. Vòng lặp
- e. Hàm
- f. Thuật toán
- Thuật toán sắp xếp
- Đệ quy
- Các thuật toán tìm đường
- DFS và bài toán biển đảo
- Dijkstra: thuật toán tìm đường đi ngắn nhất từ một điểm bất kỳ đến các điểm còn lại
- Bellman Ford
- Prim
- Backtracking
- Linear + Binary Search
- Quy hoạch động - Floyd Warshall
Ngoài cấu trúc dữ liệu và giải thuật, người kỹ sư dữ liệu còn phải học rất nhiều chủ đề khác nhau bao gồm:
-
Lưu trữ và quản lý dữ liệu: Các kỹ sư dữ liệu nên có hiểu biết tốt về các loại hệ thống lưu trữ dữ liệu khác nhau, chẳng hạn như cơ sở dữ liệu quan hệ (SQL) và cơ sở dữ liệu không quan hệ (NoSQL), và có thể thiết kế và triển khai các giải pháp lưu trữ dữ liệu hiệu quả.
-
Xử lý và phân tích dữ liệu: Các kỹ sư dữ liệu nên nắm bắt được các kỹ thuật xử lý và phân tích dữ liệu, chẳng hạn như batch processing và stream processing, và có thể thiết kế và triển khai các dữ liệu dòng sử dụng các công cụ như Apache Kafka và Apache Spark.
-
Cloud: Các kỹ sư dữ liệu nên quen thuộc với các nền tảng tính toán Cloud, chẳng hạn như Amazon Web Services (AWS), Microsoft Azure và Google Cloud Platform (GCP), và có thể thiết kế và triển khai các giải pháp cơ sở hạ tầng dữ liệu trên các nền tảng này.
-
Quản lý, bảo mật và tuân thủ dữ liệu: Một phần rất quan trọng đó là quản lý, bảo mật, mã hóa dữ liệu, kiểm soát truy cập dữ liệu.
-
Giao tiếp: Và cuối cùng là kỹ năng giao tiếp tốt để có thể hợp tác với đồng nghiệp, giải thích các khái niệm kỹ thuật phức tạp cho các nhà quản lý không phải người làm kỹ thuật và trình bày công việc của mình trước đám đông.
Hi vọng bài viết này đã giúp bạn có cái nhìn tổng quan về vị trí này.