Khoa học phân tích dữ liệu - Phần 2: Làm thế nào để trở thành nhà khoa học phân tích dữ liệu?  


Trong thời đại công nghệ thông tin phát triển như vũ bão hiện nay, hầu hết tất cả mọi người từ mọi nơi trên thế giới đều có thể truy cập được vào những kho kiến thức đồ sộ trên mạng internet. Như tại Hoa Kỳ, để trở thành một nhà khoa học dữ liệu, bạn không cần phải có tấm bằng thạc sĩ hay tiến sĩ.

Trong kỳ này, Vietnam Journal of Science xin tiếp tục giới thiệu với một chương trình mở kiến thức và nền tảng chuẩn bị để tự trang bị hành trang cho mình việc chuẩn bị trở thành một nhà khoa học dữ liệu với những môn như khoa học máy tính, toán và thông kê, cũng như một vài nguồn thông tin hữu ích để giúp cho quý độc giả mở rộng được sự hiểu biết tới lĩnh vực Khoa Học Dữ Liệu. Các bạn độc giả có thể góp ý và bổ sung bằng cách gửi email về cho tác giả hoặc bình luận thêm dưới mục.

Tác giả cũng xin gửi lời cám ơn đến TS. Lê Chí Ngọc - giảng viên Viện Toán ứng dụng và Tin học, ĐHBK-ĐHGQHN, TS. Hồng Trung Dũng - nhà khoa học dữ liệu công ty Tenpoint7, anh Trần Bình Ngọc - Cộng đồng Grokking về những góp ý và bổ sung để khung chương trình này được hoàn thiện hơn.

Khuyến cáo

  • Chương trình này chỉ mang tính chất nền tảng nhập môn tham khảo giới thiệu cho quý độc giả của VJS.
  • Ngôn ngữ chính sử dụng cho các giáo trình này là tiếng Anh.
  • Chương trình chủ yếu dựa vào chương trình mở về thạc sĩ khoa học dữ liệu [1] và Zipfian Academy [4] nhưng đã được cập nhật mới, bổ sung và hiệu chỉnh lại. Trong đó, thay thế một vài khóa học phải trả phí thành các khóa học miễn phí, cùng với bổ sung một vài tựa sách mới. Nguyên mẫu chương trình các bạn có thể tìm thấy ở mục tham khảo phía dưới.
  • Có kiến thức về lập trình tối thiểu hoặc ít nhất là hiểu biết về thống kê và hệ thống tính toán phân tán.
  • Giáo trình này được soạn cho Python. Nếu bạn quan tâm đến ngôn ngữ khác như R, vui lòng xem thêm link này.
  • Nhịp độ chương trình do người học tự chọn. Đa số nội dung được liệt kê dưới đây là bằng video, hình thức học là làm bài tập và thao tác theo hướng dẫn cho các dự án.

NỘI DUNG CHƯƠNG TRÌNH

I. NHẬP MÔN

1. Giới thiệu về khoa học dữ liệu/ Udacity 

Link: https://www.udacity.com/course/intro-to-data-science--ud359

Trong lớp học này, bạn sẽ đi bao quát các chủ đề là nền tảng của khoa học dữ liệu. Cụ thể như: thao tác dữ liệu, phân tích dữ liệu với thống kê và máy học (Machine Learning), Giao tiếp bằng số liệu cùng miêu tả thông tin, dữ liệu ở quy mô rộng - Làm việc với Dữ liệu lớn (Big Data). Ở đây lớp học sẽ tập trung vào bề rộng và trình bày những chủ đề ngắn gọn thay vì chỉ vào một chủ đề duy nhất theo chiều sâu.

2. Khóa học Khoa học Dữ liệu từ Harvard 

Link: http://cm.dce.harvard.edu/2014/01/14328/publicationListing.shtml

Github: http://cs109.github.io/2015/

Các chủ đề được đề cập tới là xử lý dữ liệu, quản lý dữ liệu, phân tích dữ liệu thăm dò để đưa ra các giả thuyết, dự đoán, tri thức dựa trên các phương pháp thống kê như hồi quy, phân lớp, phân cụm, trình diễn kết quả thông qua minh họa, diễn dịch và các tóm tắt.

3. Khoa học dữ liệu với công cụ mã nguồn mở (sách $27)

Link: http://bit.ly/book-datasciencewithopensourcetools

Qua sách này, bạn sẽ biết về minh họa dữ liệu, ước lượng (Estimation), các mô hình từ Arguments Scaling, lập luận từ các mô hình xác suất, thống kê cổ điển cho đến khai phá dữ liệu, phân cụm, PCA (phân lớp), kỹ thuật ánh xạ thu gọn (Map/Reduce), phân tích dự báo (Predictive Analytics). Các ví dụ mã nguồn từ R, Python, Sage, C, Thư viện Khoa học GNU.

II. KIÊN THỨC TOÁN [2]

1. Đại số tuyến tính & Lập trình

  • Lập trình tuyến tính  (Linear Programming) (Toán 407) Đại học Washington / khóa học http://www.math.washington.edu/~burke/crs/407/lectures/ 

3.Thống kê:

 

III. KIẾN THỨC TÍNH TOÁN

Nhận môi trường của bạn và chạy với các khoa học dữ liệu Toolbox

1. Các thuật toán

2. Những mô hình máy tính phân tán (Distributed Computing)

  • * Xem Giới thiệu về dữ liệu Khoa học UW / bài giảng về MapReduce: http://bit.ly/uwintrodatascience
  •  Giới thiệu về Hadoop MapReduce và Cloudera / Udacity Khóa học bao gồm * chọn trích đoạn miễn Hadoop: The Definitive Guide Book $29
  • http://bit.ly/udacity-hadoopmapreduce
  • http://amzn.to/1i7wgLv

3. Cơ sở dữ liệu

  • SQL Tutorials SQLZOO / Tutorials: http://bit.ly/tut-sqlzoo

4.Khai phá dữ liệu 

 

  •  OSDSM Chuyên ngành: Web Scraping & Crawling

https://github.com/datasciencemasters/go/blob/master/specializations.md#web-scraping--crawling

5. Máy học (Machine learning)

a. Nền Tảng & lý thuyết

b. Phần thực hành

 

  • Ipython Notebook: http://nbviewer.jupyter.org/github/carljv/Will_it_Python/blob/master/MLFH/CH1/chapter1.ipynb

6. Mô hình xác suất

7. Xử lý ngôn ngữ tự nhiên

  • Từ ngôn ngữ để thông tin / Stanford CS147 liệu: http://bit.ly/nlpcs124
  • NLP với Python (thư viện NLTK) kỹ thuật số, sách $ 36
  • Làm thế nào để Viết một Spelling Correcter / Norvig (Tutorial) [http://norvig.com/spell-correct.html

IV. Python (các thư viện)

Pandas Cookbook (thư viện cấu trúc dữ liệu): http://bit.ly/jvnspandascookbook

Nhiều thư viện có thể được tìm thấy trong "awesome machine learning" repo và trong các chuyên ngành liên quan

                https://github.com/josephmisiti/awesome-machine-learning#python

                https://github.com/datasciencemasters/go/blob/master/specializations.md

1. Thao tác dữ liệu và phân tích

  • Dữ liệu linh hoạt và mạnh mẽ thư viện phân tích / thao tác với nhãn dữ liệu cấu trúc đối tượng, chức năng thống kê, vv gấu trúc & Hướng dẫn Python Phân tích Dữ liệu / sách

2. Máy học

scikit-learn - Thư viện máy học cơ bản http://scikit-learn.org/stable/

3. Mạng 

networkx - Mạng Modeling & Viz: https://networkx.github.io/

4.Thống kê

  • PyMC - Bayesian suy luận & Markov Chain bộ công cụ lấy mẫu Monte Carlo: https://pypi.python.org/pypi/pymc
  • Statsmodels - Python phần này cho phép người sử dụng khám phá dữ liệu, ước lượng mô hình thống kê và thực hiện kiểm tra thống kê: http://statsmodels.sourceforge.net/
  • Phân tích mẫu đa biến trong Python - PyMVPA: http://www.pymvpa.org/

5. Xử lý ngôn ngữ tự nhiên (Natural Language Processing)

  • NLTK - Bộ công cụ xử lý ngôn ngữ tự nhiên: http://bit.ly/py-nltk
  • Gensim - Thư viện Python dành cho Topic Modelling, Sentiment Analysis và Semantic Analysis với corpora lớn. Đối tượng là các xử lý ngôn ngữ tự nhiên (NLP) và truy xuất thông tin (IR) cộng đồng.
  • Dữ liệu API: http://bit.ly/py-gensim

6. Các thư viện  minh họa

  • matplotlib - cũng được tích hợp với phân tích và thao tác dữ liệu gói như numpy và cấu trúc http://bit.ly/matplotlib-docs
  • Seaborn - một gói phần mềm trực quan thống kê cao cấp được xây dựng trên đầu trang của matplotlib http://bit.ly/seaborn-python

7. Khoa học Dữ liệu iPython với máy tính xách tay

  • Khoa học Dữ liệu trong IPython  (Hồi quy tuyến tính (Linear Regression), Hồi quy Logistic (Logistic Regression), rừng ngẫu nhiên (Random Forest), phân cụm K-Means (K-means Clustering)) http://bit.ly/ipynb-ds
  • A Gallery IPython Máy tính xách tay - Pandas Phân tích Dữ liệu http://bit.ly/ipyfordataanalysis

8. Bộ dữ liệu

Hiện nay đang ở đây http://bit.ly/osdsm-datasets-link

VIII.Các tài nguyên khác

  • Metacademy - Định hướng học tập
  • Coursera, Centralclass, Edx  - Khóa học đại học online
  • Wolfram Alpha - Tính toán đạo hàm, tích phân và các công thức toán.
  • Khan Academy - Video học tập miễn phí
  • Codecademy, Hackerrank - Học khoa học máy tính và luyện tập lập trình tương tác với R, Python, Javascript, SQL
  • Datacamp - Gồm các khóa học cơ bản về khoa học dữ liệu với R
  • Quora, Reddit: khám phá và thu lượm tri thức qua những câu hỏi

Metacademy - Nơi bạn khám phá lộ trình để học về các khóa khoa học máy tính.

4. Các cuộc thi online

Kaggle  Crowdanalytix  TunedIt  Clopinte  KDD Cup Innocentive  Topcoder HackerRank

 

Tác giả: Phượng Nguyễn, hiện đang công tác và nghiên cứu về trí tuệ nhân tạo tại Việt Nam.

Thạc sĩ ngành toán- tin học tại trường Đại học Bắc Paris, CH Pháp,

Biên tập viên Vietnam Journal of Science.

Email: phuongng@vjsonline.org

Nguồn tham khảo chính

1. http://datasciencemasters.org/

2. http://www.quora.com/What-are-some-good-resources-for-learning-about-numerical-analysis

3. https://www.class-central.com/report/open-source-data-science/

4. http://www.zipfianacademy.com/blog/post/46864003608/a-practical-intro-to-data-science