Một chương trình giảng dạy khoa học dữ liệu hoàn chỉnh cho người mới bắt đầu

Mar 22 2022
Hiệp hội Khoa học Dữ liệu UCL: Giới thiệu về Python, Bộ công cụ Nhà khoa học Dữ liệu, Khoa học Dữ liệu với Python
Năm nay, Hiệp hội Khoa học Dữ liệu UCL nhằm tạo ra một chương trình giảng dạy Khoa học Dữ liệu hoàn chỉnh với mục đích trợ giúp các sinh viên khác trong hành trình Khoa học Dữ liệu của họ. Để đạt được mục tiêu này, chúng tôi đã tạo ra một loạt các hội thảo, dựa trên công việc của những năm trước, để bao gồm ba lĩnh vực chính trong hành trình của bất kỳ Nhà khoa học dữ liệu nào.
Hình ảnh của Tác giả

Năm nay, Hiệp hội Khoa học Dữ liệu UCL nhằm tạo ra một chương trình giảng dạy Khoa học Dữ liệu hoàn chỉnh với mục đích trợ giúp các sinh viên khác trong hành trình Khoa học Dữ liệu của họ. Để đạt được mục tiêu này, chúng tôi đã tạo ra một loạt các hội thảo, dựa trên công việc của những năm trước, để bao gồm ba lĩnh vực chính trong hành trình của bất kỳ Nhà khoa học dữ liệu nào.

  • Giới thiệu về Python : Một loạt bốn hội thảo bao gồm các ký hiệu và cấu trúc cơ bản được sử dụng trong Python để có thể hiểu mã hóa được sử dụng trong các hội thảo sau này.
  • Bộ công cụ Nhà khoa học dữ liệu : Một chuỗi năm hội thảo bao gồm ba thư viện chính trong bất kỳ bộ công cụ Nhà khoa học dữ liệu nào của Numpy, Matplotlib và Pandas, cùng với các công cụ chính của Git, GitHub và SQL.
  • Khoa học dữ liệu với Python : Một loạt chín hội thảo bao gồm bốn danh mục chính của mô hình Học máy: Hồi quy, Phân loại, Phân cụm và Giảm kích thước thông qua một số thuật toán được sử dụng phổ biến nhất được áp dụng trên các tập dữ liệu và ví dụ khác nhau.

Chúng tôi hy vọng điều này có thể giúp bạn trong hành trình Khoa học dữ liệu của bạn trong tương lai!

Giới thiệu về Python

Đối với bất kỳ người mới bắt đầu Khoa học dữ liệu nào, một trong những câu hỏi đầu tiên bạn cần trả lời được là bạn sẽ chọn ngôn ngữ nào? Mặc dù có một số tùy chọn ngoài đó, bao gồm Python và R, nhưng chúng tôi bắt đầu với Python do tính ứng dụng và khả năng sử dụng của nó ngoài Khoa học dữ liệu và phạm vi rộng các thư viện có thể được sử dụng để hỗ trợ bất kỳ quy trình Khoa học dữ liệu nào. Khi làm như vậy, chúng tôi đề cập đến các nguyên tắc cơ bản chính mà bất kỳ ai cũng cần để có thể tiếp tục sự nghiệp trong Khoa học dữ liệu và hơn thế nữa bằng Python bằng cách giới thiệu cho bạn các khái niệm như nguyên tắc cơ bản của Python, trình tự, logic và lập trình hướng đối tượng. Điều này đặt nền tảng để bạn có thể hiểu mã hoạt động trong các hội thảo sau này và cũng như cách tìm ra giải pháp cho những thách thức mã hóa mà bạn có thể gặp phải.

Các nguyên tắc cơ bản của Python

Nhiệm vụ đầu tiên của bất kỳ ai học Python là thiết lập môi trường của bạn và sau đó tìm hiểu mã Python đại diện. Trong hội thảo này, chúng tôi cung cấp giới thiệu về cách thiết lập môi trường lập trình của bạn thông qua Anaconda, thảo luận về sổ ghi chép Jupyter là gì và bao gồm các khái niệm cơ bản về biến, kiểu dữ liệu và hoạt động cơ bản trong Python. Điều này sẽ giúp bạn hiểu cách đọc mã Python và cách bắt đầu tương tác với mã của riêng bạn.

Trình tự Python

Python có nhiều trình tự dựng sẵn khác nhau có thể được sử dụng để lưu trữ nhiều điểm dữ liệu bên trong thay vì tạo nhiều biến trong môi trường của bạn. Điều quan trọng là phải hiểu từng chuỗi này có thể hoặc không thể làm gì để bạn biết cách lưu trữ dữ liệu của mình trong tương lai. Trong phạm vi này, chúng tôi đề cập đến chức năng chính của danh sách, bộ dữ liệu, bộ và từ điển trong Python, là những chuỗi / cấu trúc dữ liệu chính mà bạn sẽ bắt gặp trong hành trình khoa học dữ liệu của mình.

Logic Python

Khi nói đến việc xây dựng các chương trình nâng cao hơn, việc hiểu cách logic hoạt động trong Python trở thành chìa khóa. Điều này bao gồm việc tạo mã chạy khi một điều kiện nhất định được đáp ứng hoặc chạy mã thay thế nếu không, thực hiện các hành động lặp lại trong Python và cũng xác định các đoạn mã có thể được sử dụng nhiều lần trong mã của bạn. Ở mức độ này, chúng tôi giới thiệu các câu lệnh điều kiện, câu lệnh logic (if, else và elif), vòng lặp (for và while) và các hàm trong hội thảo này, nơi bạn có thể xem cách chúng hoạt động riêng biệt và kết hợp với nhau để tạo mã phức tạp hơn.

Lập trình hướng đối tượng Python

Mặc dù hầu hết các quy trình của Khoa học Dữ liệu có xu hướng sử dụng Lập trình theo thủ tục khi làm việc trong Máy tính xách tay Jupyter, nhưng sẽ rất hữu ích khi hiểu các lợi ích và trường hợp sử dụng của Lập trình hướng đối tượng. Đây là một mô hình lập trình cấu trúc mã để cả đặc tính và hành vi của dữ liệu có thể được gộp lại với nhau thành một cấu trúc duy nhất và thường tạo cơ sở cho phần lớn các thư viện mà bạn sẽ gặp trong hành trình lập trình của mình. Điều này có nghĩa là việc hiểu cách cấu trúc của dạng mã này là rất quan trọng để có thể tương tác với nhiều thư viện mà bạn sẽ được giới thiệu trong hành trình Khoa học dữ liệu của mình.

Bộ công cụ cho các nhà khoa học dữ liệu

Khi bạn đã nắm được những kiến ​​thức cơ bản về Python để bạn có thể tạo các chương trình cơ bản, thì việc tìm hiểu một số công cụ mà bạn sẽ sử dụng ngày này qua ngày khác trở nên quan trọng. Những công cụ này là các thư viện và phần mềm đã được tạo ra từ những người khác để bạn không cần phải phát minh lại bánh xe và nó sẽ giúp mã của bạn dễ đọc và dễ hiểu hơn nhiều. Ba trong số các thư viện chính mà bạn sẽ thường gặp với tư cách là Nhà khoa học dữ liệu bao gồm Numpy, Pandas và Matplotlib, và bạn sẽ thường sử dụng các công cụ của GitHub và SQL trong hành trình khoa học dữ liệu của mình.

Numpy

Numpy tập trung rất nhiều vào chức năng toán học và là một thư viện cơ bản làm nền tảng cho rất nhiều phương thức và chức năng trong các gói Python khác. Điều này có nghĩa là nó là một gói cơ bản thường rất hữu ích để hiểu. Ở mức độ này, chúng tôi đề cập đến những điều cơ bản về Mảng Numpy, các phép toán trong gói và cách tương tác với chức năng Số ngẫu nhiên.

Gấu trúc

Gói cơ bản thứ hai mà bạn thường gặp là gói Pandas. Đây là một gói được sử dụng rộng rãi cho các nhiệm vụ phân tích và khoa học dữ liệu được xây dựng dựa trên gói Numpy. Đây là một trong những gói gói dữ liệu phổ biến nhất cho quy trình làm việc khoa học dữ liệu và tích hợp tốt với nhiều thư viện khác được sử dụng trong quy trình làm việc Khoa học dữ liệu như SciKit Learn. Trong hội thảo này, chúng tôi đề cập đến cách tạo Chuỗi gấu trúc và Chuỗi dữ liệu gấu trúc, cách truy cập thông tin từ cấu trúc dữ liệu này và sau đó chúng tôi có thể thực hiện các thao tác nào khi dữ liệu nằm trong cấu trúc.

Matplotlib

Có thể hình dung dữ liệu là kỹ năng quan trọng đối với bất kỳ Nhà khoa học dữ liệu nào để có thể truyền đạt kết quả và phát hiện của bạn cho cả đối tượng kỹ thuật và phi kỹ thuật. Mặc dù có nhiều gói khác nhau mà bạn có thể sử dụng từ gói này trong Python, nhưng một trong những gói chính mà bạn gặp phải và là gói tốt để bắt đầu, là Matplotlib. Trong hội thảo này, chúng tôi đề cập đến cách xây dựng một biểu đồ cơ bản, vẽ nhiều tập hợp thông tin trên cùng một biểu đồ và sau đó vẽ biểu đồ thông tin qua nhiều trục.

Git và Github

Ngoài các thư viện bằng Python tạo thành một bộ phận của bộ công cụ Nhà khoa học dữ liệu, còn có nhiều phần mềm và công cụ khác hữu ích trong Quy trình làm việc khoa học dữ liệu. Một trong những công cụ chính mà bất kỳ Nhà khoa học dữ liệu nào cũng phải quen thuộc là Git và GitHub như một phương tiện kiểm soát phiên bản. Điều này đảm bảo rằng bạn đang tạo phiên bản cho kết quả của mình một cách có kiểm soát thay vì đặt tên cho nó là nháp1, nháp2, nháp3, v.v. Sau đó, điều này có thể được liên kết với GitHub để bạn có thể lưu trữ các phiên bản này ở đâu đó không phải máy tính để bàn và cho phép bạn và nhóm của bạn, truy cập vào phần mềm này từ mọi nơi trên thế giới miễn là họ có kết nối internet. Trong hội thảo này, chúng tôi đề cập đến những điều cơ bản về cách tạo kho lưu trữ Git cục bộ, thực hiện các thay đổi đối với kho lưu trữ đó và sau đó liên kết kho lưu trữ này với GitHub.

SQL

Công cụ cuối cùng trong bộ công cụ Nhà khoa học dữ liệu của chúng tôi là SQL. SQL là viết tắt của Structured Query Language và là một trong những ngôn ngữ lập trình được sử dụng rộng rãi nhất khi làm việc với cơ sở dữ liệu trong hệ quản trị cơ sở dữ liệu quan hệ. Nó được sử dụng để thực hiện các hoạt động khác nhau như dữ liệu lựa chọn, dữ liệu truy vấn, nhóm dữ liệu và trích xuất các biện pháp tóm tắt từ dữ liệu bên ngoài môi trường Python. Lợi ích của việc này là hoạt động với các kho dữ liệu lớn, đặc biệt là khi chúng được lưu trữ trên một hệ thống được quản lý tập trung. Trong hội thảo này, chúng tôi đề cập đến việc thiết lập một phiên bản SQL trên máy của riêng bạn và sau đó sử dụng nó để thao tác tập dữ liệu bao gồm chọn dữ liệu, tìm kiếm theo điều kiện, thống kê tóm tắt và nhóm dữ liệu.

Khoa học dữ liệu với Python

Khi bạn biết và hiểu cách sử dụng Python và các thư viện chính của nó, cùng với phần mềm quan trọng khác trong quy trình Khoa học dữ liệu, bạn có thể chuyển sang học và hiểu từng thuật toán Máy học có thể được sử dụng. Vì vậy, có hai điểm khác biệt chính giữa các tác vụ học máy mà sau đó có thể được chia thành bốn nhóm học máy tổng thể.

Sự phân chia đầu tiên là giữa các tác vụ học máy được giám sát và không được giám sát. Điều đầu tiên có nghĩa là chúng tôi có một mục tiêu xác định mà chúng tôi muốn hướng tới, chẳng hạn như phát hiện bệnh tiểu đường hoặc ung thư, lập mô hình giá nhà hoặc mô hình hóa vị trí của các cầu thủ NBA. Điều này thường được thực hiện bằng cách sử dụng phương pháp học máy hồi quy hoặc phân loại nhằm mục đích đến gần nhất có thể với mục tiêu đã xác định.

Điều thứ hai có nghĩa là chúng ta không có mục tiêu xác định rõ ràng nhưng chúng ta vẫn muốn có kết quả, chẳng hạn như phân nhóm người tiêu dùng dựa trên thói quen mua sắm hoặc xác định hành vi trong một nhóm kết quả. Các tác vụ này thường được thực hiện với các phương pháp phân cụm hoặc giảm kích thước nhằm mục đích xác định các nhóm điểm dữ liệu tương tự hoặc giảm số thứ nguyên để trực quan hóa dữ liệu hoặc để nhập vào một thuật toán học máy khác.

hồi quy

Nhóm đầu tiên trong số này là hồi quy trong học máy. Đây là một phương pháp để mô hình hóa sự phụ thuộc hoặc mối quan hệ giữa hai hoặc nhiều đại lượng như giá nhà và đặc điểm của ngôi nhà hoặc hiệu quả sử dụng năng lượng vào các đặc điểm của tòa nhà. Mục đích của phương pháp luận này là tìm ra sức mạnh và hướng của các mối quan hệ này để mô hình hóa các kết quả không nhìn thấy được dựa trên dữ liệu mà bạn có hoặc để hiểu mối quan hệ giữa hai biến số.

Hồi quy tuyến tính

Phương pháp đầu tiên mà bạn gặp trong ô này là phương pháp hồi quy tuyến tính mô hình hóa mối quan hệ giữa các biến theo cách tuyến tính. Mục đích của phương pháp này là giảm khoảng cách giữa giá trị thực và giá trị dự đoán bằng cách sử dụng bình phương nhỏ nhất và cho phép bạn trích xuất các tham số thể hiện độ mạnh và hướng của mối quan hệ giữa chúng và biến mục tiêu. Trong hội thảo này, chúng tôi đề cập đến cách thực hiện một hồi quy cơ bản thông qua học scikit và sau đó ai là người thực hiện và giải thích một phương trình hồi quy tuyến tính bội.

Hồi quy logistic

Phương pháp phổ biến thứ hai dưới ô hồi quy là phương pháp hồi quy logistic. Trong khi hồi quy tuyến tính thường được áp dụng cho dự đoán biến số liên tục (những dự đoán có thể nhận vô số giá trị trong một phạm vi nhất định), thì hồi quy logistic có thể được áp dụng để dự đoán kết quả phân loại (những dự đoán có một số điểm hoặc danh mục hữu hạn trong một phạm vi nhất định ). Mục đích chính của phương pháp này là dự đoán điểm dữ liệu thuộc về loại hoặc quan sát nào, chứ không phải là một giá trị chính xác, chẳng hạn như trong trường hợp bệnh nhân có bị tiểu đường hay không? Do đó, điều này thuộc phạm vi hồi quy nhưng cũng hoạt động như một phương pháp phân loại sử dụng hồi quy. Trong hội thảo, chúng tôi đề cập đến cách thực hiện và đánh giá một hồi quy logistic cơ bản để lập mô hình tỷ lệ mắc bệnh tiểu đường.

Hồi quy nâng cao

Ngoài hồi quy tuyến tính và logistic, có nhiều phương pháp hồi quy khác thường hữu ích để hiểu. Điều này có thể bao gồm Lasso và Ridge Regression xây dựng dựa trên các phương pháp hồi quy tuyến tính cơ bản bằng cách giới thiệu chính quy hóa để thử và tránh vấn đề trang bị quá mức hoặc các phương pháp học máy của cây quyết định và rừng ngẫu nhiên có thể mô hình hóa các mối quan hệ phi tuyến tính giữa các biến. Những phương pháp này có cả ưu điểm và nhược điểm là các phương pháp này thường có khả năng mô hình hóa mối quan hệ giữa các biến tốt hơn nhưng điều này có thể phải trả giá bằng việc tăng tài nguyên máy tính cần thiết hoặc giảm khả năng diễn giải.

Phân loại

Sau khi hồi quy, một nhiệm vụ học máy có giám sát phổ biến khác là phân loại. Mục đích của việc này, thay vì mô hình hóa một giá trị cụ thể, là mô hình hóa điểm dữ liệu thuộc về nhóm hoặc lớp nào dựa trên tập dữ liệu mục tiêu mà chúng ta biết. Điều này có thể bao gồm việc lập mô hình xem bệnh nhân có bị tiểu đường hay không, bệnh nhân có bị ung thư hay không, liệu người dùng có đăng ký lại hay không, hoặc vị trí của một cầu thủ NBA dựa trên số liệu thống kê của họ. Có nhiều phương pháp thuộc phạm vi này, nhiều phương pháp cũng có thể được sử dụng để phân loại, nhưng ba phương pháp phổ biến bao gồm: Phân loại cây quyết định, Phân loại rừng ngẫu nhiên và Phân loại máy vectơ hỗ trợ.

Phân loại cây quyết định

Cây quyết định tuân theo một cấu trúc giống cây (do đó có tên gọi) tương tự như một số cây quyết định mà bạn có thể đã thực hiện ở trường tiểu học hoặc trung học vào một thời điểm nào đó. Phương pháp này có thể thực hiện phân loại bằng cách sử dụng các quyết định để đạt được dự đoán về kết quả mà một điểm dữ liệu thuộc về. Cụ thể, nó hoạt động bằng cách chia nhỏ tập dữ liệu theo các thuộc tính khác nhau trong khi cố gắng giảm một tiêu chí lựa chọn nhất định. Trong hội thảo này, chúng tôi đề cập đến cách triển khai cây quyết định cơ bản, cách hình dung cây này đã hoạt động như thế nào và sau đó là cách đánh giá hiệu suất của mô hình.

Phân loại rừng ngẫu nhiên

Bộ phân loại rừng ngẫu nhiên là một phương pháp tổng hợp sử dụng thuật toán phân loại cây quyết định, nhưng thay vì một cây quyết định duy nhất được tạo, nhiều cây được tạo ra. Khi làm như vậy, điều này tận dụng lợi thế của việc lấy mẫu dữ liệu và tính năng ngẫu nhiên để đảm bảo rằng mô hình không bị trang bị quá mức và kết quả là tạo ra các dự đoán tốt hơn. Điều này tuân theo logic rằng hiệu suất của đám đông tốt hơn hiệu suất của một cá nhân. Nếu bạn có thể triển khai Cây quyết định, tốt hơn là bạn nên thực hiện phương pháp này thay thế, mặc dù điều này có thể phải trả giá bằng việc tăng các nguồn lực tính toán cần thiết. Hội thảo này bao gồm việc thực hiện cơ bản của một khu rừng ngẫu nhiên cùng với cách đánh giá kết quả.

Hỗ trợ phân loại máy vector

Ngoài Cây Quyết định và Rừng Ngẫu nhiên, trong khi có nhiều phương pháp phân loại khác có thể được sử dụng, Máy Véc tơ Hỗ trợ là một trong những phương pháp thường gặp. Nó hoạt động theo hướng phân loại bằng cách cố gắng tìm một ranh giới trong dữ liệu phân tách hai hoặc nhiều lớp khác nhau mà chúng ta đang cố gắng xác định. Khi làm như vậy, mô hình này có thể được sử dụng để dự đoán bằng cách tìm ra phía nào của ranh giới mà một điểm có thể nằm trên đó và do đó điểm đó có thể thuộc nhóm nào. Tính hữu ích của thuật toán này là ranh giới có thể có nhiều dạng khác nhau cho dù đó là tuyến tính, phi tuyến tính hoặc do người dùng xác định. Trong hội thảo này, chúng tôi đề cập đến việc triển khai cơ bản của mô hình cùng với cách hình dung kết quả.

Phân cụm

Phân cụm là một phần của nhánh không được giám sát của học máy có nghĩa là chúng ta không có mục tiêu xác định để hướng tới giống như chúng ta làm với các tác vụ hồi quy hoặc phân loại. Mục tiêu của các thuật toán này sau đó là có thể xác định các nhóm đối tượng riêng biệt có cùng đặc điểm như người mua sắm, phim ảnh hoặc cửa hàng. Sau đó, điều này cho phép các quyết định tập trung vào những nhóm này và xem họ có thể phục vụ họ tốt hơn như thế nào, chẳng hạn như giữ chân khách hàng hoặc khuyến khích họ chi tiêu nhiều tiền hơn. Cuối cùng, hai thuật toán phân cụm phổ biến bao gồm phân cụm k-mean và phân cụm phân cấp.

K-có nghĩa là phân cụm

K-mean clustering là một trong những thuật toán phân cụm được sử dụng phổ biến nhất. Nó hoạt động bằng cách xác định trước tiên số lượng nhóm mục tiêu để tạo mà thuật toán sau đó tìm cách xác định dựa trên các số liệu khoảng cách khác nhau giữa các điểm và nhóm. Trong hội thảo này, chúng tôi đề cập đến cách triển khai thuật toán phân cụm Kmeans, cách chọn số lượng cụm tối ưu và sau đó là cách đánh giá kết quả.

Phân cụm phân cấp

Phân nhóm phân cấp hoạt động bằng cách tạo các nhóm này trong một hệ thống phân cấp dựa trên số liệu khoảng cách được sử dụng để phân tách các nhóm khác nhau. Tính độc đáo của thuật toán này là bạn có thể xác định hệ thống phân cấp về cách các nhóm khác nhau có thể phù hợp với nhau hoặc tách biệt với nhau dựa trên khoảng cách được chọn. Điều này có nghĩa là chúng ta không cần biết số lượng cụm trước khi thực hiện thuật toán, mặc dù điều này có thể làm tăng độ phức tạp về thời gian. Trong hội thảo này, chúng tôi đề cập đến cách triển khai và đánh giá thuật toán này.

Giảm kích thước

Cuối cùng, chúng tôi có giảm kích thước, cũng xuất hiện (trong hầu hết các trường hợp) dưới tiêu đề của các thuật toán học máy không được giám sát. Mục đích chính của phương pháp này là giảm số lượng tính năng trong tập dữ liệu, để giảm tài nguyên cần thiết cho mô hình hoặc hỗ trợ trực quan hóa dữ liệu trước khi thực hiện bất kỳ phân tích nào. Điều này được thực hiện bằng cách giảm số lượng thuộc tính hoặc biến trong tập dữ liệu trong khi cố gắng giữ càng nhiều biến thể trong tập dữ liệu gốc càng tốt. Đây là bước tiền xử lý có nghĩa là nó chủ yếu được thực hiện trước khi chúng tôi tạo hoặc đào tạo bất kỳ mô hình nào. Có hai hình thức chính của điều này trong đại số tuyến tính của học đa tạp, trong hội thảo, chúng tôi giới thiệu Phân tích thành phần chính từ Nhúng láng giềng Stochastic phân phối trước đây và Nhúng láng giềng Stochastic phân phối t từ phương pháp sau.

Phần kết luận

Chương trình giảng dạy này nhằm mục đích giúp các cá nhân bắt đầu về Khoa học Dữ liệu với mỗi thư viện, phần mềm và kỹ thuật được trình bày theo cách mà tất cả các khái niệm cơ bản về triển khai và cách chúng hoạt động đều được đề cập mà không đi sâu vào quá nhiều chi tiết. Điều này sẽ cung cấp cho bất kỳ nhà khoa học dữ liệu mới nào một nền tảng mà từ đó họ có thể khám phá các chủ đề mà họ quan tâm hơn, cho dù đó là phương pháp hồi quy, phân loại, phân cụm và thứ nguyên hơn hay liệu đó có đang đi sâu hơn vào từng mô hình mà chúng tôi đã trình bày hay không . Chúng tôi chúc bạn gặp nhiều may mắn trên hành trình Khoa học dữ liệu của mình!

Nếu bạn muốn biết thêm thông tin từ xã hội của chúng tôi, vui lòng theo dõi chúng tôi trên mạng xã hội của chúng tôi:

Facebook:https://www.facebook.com/ucldata

Instagram:https://www.instagram.com/ucl.datasci/

LinkedIn:https://www.linkedin.com/company/ucldata/

Và nếu bạn muốn cập nhật các cửa hàng từ Hiệp hội Khoa học Dữ liệu UCL và các tác giả tuyệt vời khác, vui lòng đăng ký phương tiện bằng cách sử dụng mã giới thiệu của tôi bên dưới.

© Copyright 2021 - 2023 | vngogo.com | All Rights Reserved