Home / Tài liệu CNTT / Lập trình Python / Lộ trình và tài liệu tự học Data Science mới nhất 2021

Lộ trình và tài liệu tự học Data Science mới nhất 2021

Mặc dù không có gì thực sự thay đổi nhưng những ngày đầu năm mới luôn mang đến cho chúng ta nhiều hy vọng với nhiều thứ mới mẻ hơn. Nếu bạn thêm một kế hoạch, một số mục tiêu rõ ràng và lộ trình học tập, bạn sẽ có một công thức tuyệt vời cho một năm đầy năng lượng.

Bài đăng này nhằm cung cấp cho bạn thông tin, tài nguyên và ý tưởng để giúp bạn xây dựng một danh mục học tập hoặc cải thiện kỹ năng chuyên môn của bạn trong khoa học dữ liệu.

Lưu ý: Lộ trình này dựa trên kinh nghiệm cá nhân của Harshit Tyagi, hiện đang Web và Data Science Consultant,  về khoa học dữ liệu. Đây không phải là kế hoạch học tập tất cả và cuối cùng. Bạn có thể điều chỉnh lộ trình này để phù hợp hơn với bất kỳ lĩnh vực hoặc lĩnh vực nghiên cứu cụ thể nào mà bạn quan tâm. Ngoài ra, tác giả đề cập nhiều đến Python vì cá nhân anh thích nó hơn các ngôn ngữ lập trình khác.

Lộ trình học tập là gì?

Lộ trình học tập là một bản đồ kỹ năng với nhiều cấp độ, nhiều chi tiết về những kỹ năng bạn muốn trau dồi, cách bạn đo lường kết quả ở mỗi cấp độ và các kỹ thuật để thành thạo hơn nữa từng kỹ năng.

Trong lộ trình này bạn sẽ thấy trọng số cho từng cấp độ dựa trên mức độ phức tạp và tính phổ biến của ứng dụng trong thế giới thực. Bạn cũng tìm thấy thời gian ước tính cho người mới bắt đầu để hoàn thành mỗi cấp độ với các bài tập và dự án.

Dưới đây là kim tự tháp mô tả các kỹ năng cấp cao theo thứ tự phức tạp và ứng dụng của chúng trong ngành.

lo trinh hoc data science
Lộ trình học data science theo thứ tự từ đơn giản đến phức tạp.

Mô hình trên là một cơ sở khuôn khổ mà chúng ta sẽ dựa vào đó để thiết lập lộ trình học tập cho mình. Chúng ta sẽ đi sâu vào từng tầng với các chi tiết cụ thể hơn, có thể đo lường được. Trong đó có đề cập cụ thể đến việc kiểm tra các kiến thức quan trọng và các nguồn lực cần thiết để nắm vững các chủ đề đó.

Bạn có thể đo lường kiến thức thu được bằng cách áp dụng các chủ đề đã học vào một số dự án trong thế giới thực. Bạn có thể tìm thấy một số ý tưởng dự án, cổng thông tin và nền tảng có thể sử dụng để đo lường mức độ thành thạo của mình.

1. Học về lập trình hoặc kỹ thuật lập trình

Ước tính thời gian cần: 2 – 3 tháng

Đầu tiên, hãy đảm bảo rằng bạn có kỹ năng lập trình. Mọi công việc liên quan đến khoa học dữ liệu đều yêu cầu kiến thức về lập trình trong ít nhất một ngôn ngữ.

Các chủ đề lập trình cụ thể cần biết

  • Cấu trúc dữ liệu phổ biến (data types, lists, dictionaries, sets, tuples), viết hàm, logic, luồng điều khiển, thuật toán tìm kiếm và sắp xếp, lập trình hướng đối tượng và làm việc với thư viện bên ngoài.
  • Tập lệnh SQL: Truy vấn cơ sở dữ liệu bằng cách sử dụng các phép nối, tổng hợp và truy vấn con (joins, aggregations, and sub-queries) 
  • Sử dụng tốt Terminal, công cụ kiểm soát phiên bản trong Git và sử dụng GitHub

Các nguồn tài liệu và khóa học về Python

  • learnpython.org (miễn phí) – Tài nguyên miễn phí để học Python (và các ngôn ngữ khác) cho người mới bắt đầu. Nó bao gồm tất cả các chủ đề lập trình cơ bản từ đầu. Bạn có thể thực hành các chủ đề ngay trên đó.
  • Kaggle (miễn phí)  – hướng dẫn tương tác học python. Đây là một hướng dẫn ngắn bao gồm tất cả các chủ đề quan trọng của khoa học dữ liệu.
  • Python certifications on freeCodeCamp (miễn phí) – freeCodeCamp cung cấp một số chứng chỉ dựa trên Python, chẳng hạn như tính toán khoa học, phân tích dữ liệu và học máy.
  • Python Course by freecodecamp on YouTube (miễn phí) –  Khóa học kéo dài 5 giờ mà bạn có thể theo học để thực hành các khái niệm cơ bản.
  • Intermediate python  (miễn phí) – một khóa học miễn phí khác của Patrick trên freecodecamp.org.
  • Coursera Python for Everybody Specialization (có trả phí) – Khóa học này  bao gồm các khái niệm cấp độ mới bắt đầu, cấu trúc dữ liệu python, thu thập dữ liệu từ web và sử dụng cơ sở dữ liệu với python.
  • Bắt đầu học Python với Hướng dẫn Python (Get into Python). Công cụ này dành cho tất cả những ai muốn học ngôn ngữ lập trình Python, cho dù bạn là người mới bắt đầu hay đã là chuyên nghiệp.
  • Xem thêm tài liệu học Python tiếng Việt

Tài liệu học về Git và GitHub

  • Hướng dẫn Git và GitHub (miễn phí): hoàn thành các hướng dẫn và labs để phát triển khả năng kiểm soát phiên bản một cách vững chắc. Nó sẽ có ích cho bạn trong việc đóng góp cho các dự án nguồn mở.
  • Khóa học Git and GitHub crash course trên freeCodeCamp YouTube channel.

Tài liệu học SQL

Kiểm tra kiến thức

Bạn có thể kiểm tra kiến thức chuyên môn của mình bằng cách giải quyết nhiều vấn đề và xây dựng ít nhất 2 dự án:

  • Có rất nhiều vấn đề cho bạn giải quyết ở đây: HackerRank (cho người mới bắt đầu) và LeetCode (có các vấn đề từ dễ tới khó)
  • Trích xuất dữ liệu từ trang web / API endpoints- cố gắng viết tập lệnh Python trích xuất dữ liệu từ các trang web cho phép trích xuất như soundcloud.com. Lưu trữ dữ liệu được trích xuất vào tệp CSV hoặc cơ sở dữ liệu SQL.
  • Viết các trò chơi như oẳn tù tì, kéo sợi, treo cổ, mô phỏng lăn xúc xắc, tic-tac-toe, v.v.
  • Viết các ứng dụng web đơn giản như trình tải xuống video YouTube, trình chặn trang web, trình phát nhạc, trình kiểm tra đạo văn, v.v.

Triển khai các dự án này trên các trang GitHub hoặc chỉ cần lưu trữ mã trên GitHub để bạn học cách sử dụng Git.

2. Học về thu thập và sắp xếp dữ liệu (Data Collection & Wrangling)

Ước tính thời gian cần: 2 tháng

  • Một phần quan trọng của công việc khoa học dữ liệu là tập trung vào việc tìm kiếm dữ liệu phù hợp có thể giúp bạn giải quyết vấn đề của mình. Bạn có thể thu thập dữ liệu từ các nguồn hợp pháp khác nhau – cóp nhặt (nếu trang web cho phép), API, Cơ sở dữ liệu và các kho lưu trữ có sẵn công khai.
  • Sau khi bạn có dữ liệu trong tay, nhà phân tích thường sẽ tự tìm cách làm sạch các tập dữ liệu (dataframes), làm việc với các mảng đa chiều, sử dụng tính toán mô tả / khoa học và thao tác với dataframes để tổng hợp dữ liệu.
  • Dữ liệu hiếm khi sạch và được định dạng để sử dụng trong “thế giới thực”. Pandas và NumPy là hai thư viện cho phép bạn chuyển từ dữ liệu bẩn sang dữ liệu sẵn sàng phân tích.
  • Khi bạn bắt đầu cảm thấy thoải mái khi viết các chương trình Python, hãy bắt đầu tham gia các bài học về cách sử dụng các thư viện như panda và numpy.

Các tài liệu và khóa học về tập hợp và làm sạch dữ liệu

Ý tưởng về dự án thu thập dữ liệu:

  • Thu thập dữ liệu từ một trang web / API (mở cho sử dụng công khai) mà bạn chọn và chuyển đổi dữ liệu để lưu trữ từ các nguồn khác nhau thành một tệp hoặc bảng tổng hợp (DB). Các API mẫu bao gồm TMDBquandlTwitter API,  v.v.
  • Chọn bất kỳ tập dữ liệu nào có sẵn công khai và xác định một bộ câu hỏi mà bạn muốn theo đuổi sau khi xem tập dữ liệu và domain. Thu thập dữ liệu để tìm ra câu trả lời cho những câu hỏi đó bằng cách sử dụng Pandas và NumPy.

3. Học về Exploratory Data Analysis,  Business Acumen, Storytelling

Ước tính thời gian cần: 2-3 tháng

Một số thuật ngữ

  • Exploratory Data Analysis : Phân tích dữ liệu thăm dò, là phương pháp phân tích dữ liệu chủ yếu sử dụng các kỹ thuật về biểu đồ, hình vẽ, cho phép bạn phát triển ý chính về dữ liệu của bạn trông như thế nào và những loại câu hỏi nào có thể được chúng trả lời
  • Business Acumen: Nhạy bén kinh doanh
  • Data Storytelling: Kể chuyện bằng dữ liệu

Giai đoạn tiếp theo cần nắm vững là phân tích dữ liệu và kể chuyện. Rút ra thông tin chi tiết từ dữ liệu và sau đó truyền đạt thông tin tương tự bằng các thuật ngữ và hình ảnh hóa đơn giản là trách nhiệm cốt lõi của Nhà phân tích dữ liệu.

Phần kể chuyện đòi hỏi bạn phải thành thạo với việc trực quan hóa dữ liệu cùng với kỹ năng giao tiếp tốt.

Các chủ đề về phân tích dữ liệu thăm dò và dữ liệu kể chuyện

  • Phân tích dữ liệu thăm dò (Exploratory data analysis) : xác định câu hỏi, xử lý các giá trị bị thiếu, giá trị ngoại lai, định dạng, lọc, phân tích đơn biến và đa biến.
  • Trực quan hóa dữ liệu (Data visualization)vẽ dữ liệu bằng các thư viện như matplotlib, seaborn và plotly. Biết cách chọn biểu đồ phù hợp để truyền đạt kết quả từ dữ liệu.
  • Phát triển bảng điều khiển (dashboards ): phần lớn các nhà phân tích chỉ sử dụng Excel hoặc một công cụ chuyên dụng như Power BI và Tableau để xây dựng dashboard tóm tắt và tổng hợp dữ liệu nhằm giúp các nhà quản lý đưa ra quyết định.
  • Nhạy bén kinh doanh (Business acumen): đưa ra những câu hỏi phù hợp, những câu hỏi thực sự nhắm mục tiêu đến các chỉ số kinh doanh. Thực hành viết báo cáo, blog và trình bày rõ ràng và ngắn gọn.

Tài liệu và khóa học về phân tích dữ liệu

Ý tưởng dự án phân tích dữ liệu

  • Phân tích khám phá trên tập dữ liệu điện ảnh để tìm công thức tạo phim có lợi nhuận (sử dụng nó làm nguồn cảm hứng), sử dụng tập dữ liệu từ y tế, tài chính, WHO, điều tra dân số trước đây, Thương mại điện tử, v.v.
  • Tạo bảng điều khiển (jupyter notebooks, excel, tableau) bằng cách sử dụng các tài nguyên được cung cấp ở trên.

4. Tìm hiểu về Kỹ thuật Dữ liệu

Ước tính thời gian cần: 4-5 tháng

Kỹ thuật dữ liệu hỗ trợ các nhóm R&D bằng cách cung cấp dữ liệu sạch cho các kỹ sư nghiên cứu và nhà khoa học tại các công ty dựa trên dữ liệu lớn. Bản thân nó là một lĩnh vực và bạn có thể quyết định bỏ qua phần này nếu bạn muốn chỉ tập trung vào khía cạnh thuật toán thống kê của các vấn đề.

Các trách nhiệm của một kỹ sư dữ liệu bao gồm xây dựng một kiến trúc dữ liệu hiệu quả, hợp lý hóa việc xử lý dữ liệu và duy trì các hệ thống dữ liệu quy mô lớn.

Các kỹ sư sử dụng Shell (CLI), SQL và Python / Scala để tạo ETL pipelines, tự động hóa các tác vụ hệ thống tệp và tối ưu hóa các hoạt động cơ sở dữ liệu để làm cho chúng có hiệu suất cao.

Một kỹ năng quan trọng khác là triển khai các kiến trúc dữ liệu này đòi hỏi sự thành thạo về các nhà cung cấp dịch vụ đám mây như AWS, Google Cloud Platform, Microsoft Azure, v.v.

Tài liệu để học Kỹ thuật dữ liệu

Ý tưởng dự án và chứng chỉ

  • AWS Certified Machine Learning   –  Một chứng chỉ do AWS  cấp sẽ tăng thêm sức nặng cho hồ sơ của bạn,. Yêu cầu là bạn phải hiểu rõ về các dịch vụ AWS và ML.
  • Professional Data Engineer  – Chứng nhận do GCP (Goole Cloud Platform) cung cấp. Đây cũng là một kỳ thi được giám sát và đánh giá khả năng của bạn trong việc thiết kế hệ thống xử lý dữ liệu, triển khai mô hình học máy trong môi trường sản xuất, đồng thời đảm bảo chất lượng giải pháp và tự động hóa.

5. Học về thống kê ứng dụng và toán học

Ước tính thời gian cần: 4-5 tháng

Phương pháp thống kê là một phần trung tâm của khoa học dữ liệu. Hầu hết tất cả các cuộc phỏng vấn khoa học dữ liệu chủ yếu tập trung vào thống kê mô tả và suy luận.

Đa phần mọi người thường bắt đầu viết code về các giải thuật machine learning mà không hiểu rõ về các phương pháp thống kê và toán học cơ bản giải thích hoạt động của các thuật toán đó. Tất nhiên, đây không phải là điều nên khuyến khích.

Các chủ đề chính về Thống kê ứng dụng (Applied Statistics) và toán học

  • Thống kê mô tả (Descriptive Statistics) – Tìm hiểu về các ước tính của vị trí (trung bình, trung vị, chế độ, thống kê có trọng số, thống kê được cắt bớt) và khả năng thay đổi để mô tả dữ liệu.
  • Thống kê tham chiếu (Inferential statistics) – thiết kế kiểm tra giả thuyết, kiểm tra A / B, xác định số liệu kinh doanh, phân tích dữ liệu thu thập và kết quả thử nghiệm bằng cách sử dụng khoảng tin cậy, giá trị p và giá trị alpha.
  • Đại số tuyến tính, phép tính đơn và đa biến (Linear Algebra, Single and multi-variate calculus) để hiểu các hàm mất mát, gradient và các trình tối ưu hóa trong học máy.

Tài liệu và khóa học về thống kê và toán

  • [Sách] Practical statistics for data science (Nên đọc)  –  Hướng dẫn kỹ lưỡng về tất cả các phương pháp thống kê quan trọng cùng với các ứng dụng / ví dụ rõ ràng và ngắn gọn.
  • [Sách] Naked Statistics  – một hướng dẫn phi kỹ thuật nhưng chi tiết để hiểu tác động của số liệu thống kê đối với các sự kiện thường ngày, thể thao, hệ thống khuyến nghị và nhiều trường hợp khác.
  • Học về thống kê  với khóa học kéo dài 8 giờ trên freeCodeCamp YouTube channel
  • Statistical thinking in Python  – một khóa học nền tảng để giúp bạn bắt đầu tư duy thống kê.
  • Intro to Descriptive Statistics – do Udacity cung cấp. Bao gồm các bài giảng video giải thích các thước đo vị trí và độ biến thiên được sử dụng rộng rãi (độ lệch chuẩn, phương sai, độ lệch tuyệt đối trung vị).
  • Inferential Statistics, Udacity  – khóa học bao gồm các bài giảng video hướng dẫn bạn rút ra kết luận từ dữ liệu có thể không rõ ràng ngay lập tức. Nó tập trung vào việc phát triển các giả thuyết và sử dụng các bài kiểm tra phổ biến như t-tests, ANOVA và hồi quy.
  • Và hướng dẫn về thống kê cho khoa học dữ liệu để giúp bạn bắt đầu đi đúng hướng.

Ý tưởng dự án về thống kê

  • Giải các bài tập được cung cấp trong các khóa học ở trên và sau đó thử xem qua một số bộ dữ liệu công khai nơi bạn có thể áp dụng các khái niệm thống kê này. Đặt những câu hỏi như “Có đủ bằng chứng để kết luận rằng tuổi trung bình của các bà mẹ sinh con ở Boston là trên 25 tuổi với mức ý nghĩa 0,05” không?
  • Cố gắng thiết kế và chạy các thử nghiệm nhỏ với các đồng nghiệp / nhóm / lớp của bạn bằng cách yêu cầu họ tương tác với một ứng dụng hoặc trả lời một câu hỏi. Chạy các phương pháp thống kê trên dữ liệu đã thu thập khi bạn có một lượng dữ liệu tốt sau một khoảng thời gian. Điều này có thể rất khó để thực hiện nhưng sẽ rất thú vị.
  • Phân tích giá cổ phiếu, tiền điện tử và thiết kế giả thuyết xung quanh lợi nhuận trung bình hoặc bất kỳ số liệu nào khác. Xác định xem bạn có thể bác bỏ giả thuyết vô hiệu hay không bằng cách sử dụng các giá trị quan trọng.

6. Học về Machine Learning và AI

Ước tính thời gian cần: 4-5 tháng

Sau khi tự tìm hiểu và xem qua tất cả các khái niệm chính nói trên, bây giờ bạn nên sẵn sàng để bắt đầu với các thuật toán Machine Learning ưa thích.

Có ba kiểu học chính:

  • Học có giám sát (Supervised Learning ) – bao gồm các bài toán hồi quy và phân loại. Nghiên cứu hồi quy tuyến tính đơn giản, hồi quy bội, hồi quy đa thức, thuật toán Naive Bayes , hồi quy logistic, KNNs, mô hình cây, mô hình tổng hợp. Tìm hiểu về các chỉ số đánh giá.
  • Học không giám sát (Unsupervised Learning ) – Phân cụm (Clustering) và giảm chiều dữ liệu ( dimensionality reduction) là hai ứng dụng được sử dụng rộng rãi của học không giám sát. Đi sâu vào PCA (Principal component Analysis), phân cụm K-mean, tạo cây phân cấp (hierarchical clustering) và mô hình gaussian hỗn hợp (gaussian mixtures).
  • Học tập tăng cường (Reinforcement learning)  – giúp bạn xây dựng hệ thống tự thưởng. Tìm hiểu cách tối ưu hóa phần thưởng, sử dụng thư viện TF-Agents, mô hình Deep Q-networks, v.v. Tuy nhiên bạn có thể bỏ qua phần này.

Tài liệu học về Machine Learning

  • [sách] Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition  –  một trong những cuốn sách yêu rất hay về máy học. Không chỉ bao gồm các dẫn xuất toán học lý thuyết mà còn giới thiệu việc triển khai các thuật toán thông qua các ví dụ. Bạn nên giải các bài tập được đưa ra ở cuối mỗi chương.
  • Machine Learning Course by Andrew Ng  –  khóa học cần thiết cho bất kỳ ai đang học về machine learning. 
  • Introduction to Machine Learning  – Khóa học tương tác của Kaggle.
  • Khóa học miễn phí Machine learning in Python with ScikitLearn trên freeCodeCamp YouTube channel.
  • Intro to Game AI and Reinforcement Learning  –  khóa học tương tác trên Kaggle về học tập tăng cường (reinforcement learning).
  • Supervised learning with Python  – datacamp cung cấp vô số khóa học về máy học mà bạn có thể theo học. Tất cả đều dài 4 giờ và có thể giúp bạn hiểu rõ hơn về ứng dụng của ML.
  • Deep Learning Specialization by deeplearning.aiĐối với những ai muốn tìm hiểu sâu hơn nữa, có thể bắt đầu bằng cách hoàn thành khóa học này được cung cấp bởi deeplearning.ai. Khóa học này chỉ quan trọng khi bạn đang có kế hoạch giải quyết vấn đề computer vision hoặc NLP (Natural Language Processing).
  • [sách – cập nhật 4/2021] Algorithms for Optimizationgiới thiệu nhiều phương pháp tối ưu trong các bài toán khác nhau. Cuốn sách đầy đủ có sẵn dưới dạng PDF. Bạn cũng có thể tải xuống các chương riêng lẻ. PDF được chia sẻ theo giấy phép Creative Commons CC-BY-NC-ND. Bạn cũng có thể mua.
  • [sách – cập nhật 4/2021] Algorithms for Decision Making: cuốn sách tập trung về các bài toán lập kế hoạch và học tăng cường để giải quyết các bài toán ra quyết định trong một thế giới không chắc chắn. Tương tự cuốn sách trên, sách đầy đủ có sẵn dưới dạng PDF. Bạn cũng có thể tải xuống các chương riêng lẻ. PDF được chia sẻ theo giấy phép Creative Commons CC-BY-NC-ND. Sách được tiếp tục cải tiến dựa trên phản hồi của cộng đồng. Sách sẽ được phát hành dưới dạng bản in vào đầu năm 2022, nhưng phiên bản điện tử này sẽ vẫn được sử dụng. Để được thông báo khi có phiên bản in, bạn có thể cung cấp địa chỉ email của mình tại đây.

Theo dõi tiến độ học tập

Bạn có thể sử dụng công cụ theo dõi học tập trên Notion được tạo sẵn ở đây . Bạn có thể tùy chỉnh nó theo nhu cầu của mình và sử dụng nó để theo dõi tiến trình của mình, dễ dàng truy cập vào tất cả các tài nguyên và dự án của bạn.

Trên đây chỉ là tổng quan về phổ rộng của khoa học dữ liệu. Bạn có thể đi sâu vào từng chủ đề này và tạo kế hoạch cho riêng mình dựa trên khái niệm trong từng danh mục.

Bài viết dựa trên bài viết của Harshit Tyagi có bổ sung thêm một số thông tin và nguồn tài liệu phù hợp

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *