Học máy với Python - Hệ sinh thái

Giới thiệu về Python

Python là một ngôn ngữ lập trình hướng đối tượng phổ biến có các tính năng của ngôn ngữ lập trình cấp cao. Cú pháp dễ học và khả năng di động của nó khiến nó trở nên phổ biến ngày nay. Các dữ kiện sau đây cho chúng ta sự giới thiệu về Python:

  • Python được phát triển bởi Guido van Rossum tại Stichting Mathematisch Centrum ở Hà Lan.

  • Nó được viết như là sự kế thừa của ngôn ngữ lập trình có tên là 'ABC'.

  • Phiên bản đầu tiên được phát hành vào năm 1991.

  • Cái tên Python do Guido van Rossum chọn từ một chương trình truyền hình có tên Monty Python's Flying Circus.

  • Nó là một ngôn ngữ lập trình mã nguồn mở, có nghĩa là chúng ta có thể tự do tải xuống và sử dụng nó để phát triển các chương trình. Nó có thể được tải xuống từ www.python.org .

  • Ngôn ngữ lập trình Python có các tính năng của cả Java và C. Nó có mã 'C' thanh lịch và mặt khác, nó có các lớp và đối tượng như Java để lập trình hướng đối tượng.

  • Nó là một ngôn ngữ thông dịch, có nghĩa là mã nguồn của chương trình Python trước tiên sẽ được chuyển đổi thành bytecode và sau đó được thực thi bởi máy ảo Python.

Điểm mạnh và điểm yếu của Python

Mỗi ngôn ngữ lập trình đều có một số điểm mạnh cũng như điểm yếu, Python cũng vậy.

Điểm mạnh

Theo các nghiên cứu và khảo sát, Python là ngôn ngữ quan trọng thứ năm cũng như là ngôn ngữ phổ biến nhất cho học máy và khoa học dữ liệu. Chính vì những điểm mạnh sau đây mà Python có:

Easy to learn and understand- Cú pháp của Python đơn giản hơn; do đó nó tương đối dễ dàng, ngay cả đối với người mới bắt đầu, học và hiểu ngôn ngữ.

Multi-purpose language - Python là một ngôn ngữ lập trình đa mục đích vì nó hỗ trợ lập trình cấu trúc, lập trình hướng đối tượng cũng như lập trình chức năng.

Huge number of modules- Python có số lượng lớn các mô-đun để bao gồm mọi khía cạnh của lập trình. Các mô-đun này dễ dàng có sẵn để sử dụng do đó làm cho Python trở thành một ngôn ngữ có thể mở rộng.

Support of open source community- Là ngôn ngữ lập trình mã nguồn mở, Python được hỗ trợ bởi một cộng đồng nhà phát triển rất lớn. Do đó, cộng đồng Python dễ dàng sửa lỗi. Đặc điểm này làm cho Python rất mạnh mẽ và thích nghi.

Scalability - Python là một ngôn ngữ lập trình có thể mở rộng vì nó cung cấp một cấu trúc cải tiến để hỗ trợ các chương trình lớn hơn so với các kịch bản lệnh shell.

Yếu đuối

Mặc dù Python là một ngôn ngữ lập trình phổ biến và mạnh mẽ nhưng nó có điểm yếu là tốc độ thực thi chậm.

Tốc độ thực thi của Python chậm hơn so với các ngôn ngữ biên dịch vì Python là ngôn ngữ thông dịch. Đây có thể là lĩnh vực cải tiến chính của cộng đồng Python.

Cài đặt Python

Để làm việc bằng Python, trước tiên chúng ta phải cài đặt nó. Bạn có thể thực hiện cài đặt Python theo bất kỳ cách nào trong hai cách sau:

  • Cài đặt Python riêng lẻ

  • Sử dụng phân phối Python được đóng gói sẵn - Anaconda

Hãy để chúng tôi thảo luận chi tiết từng vấn đề này.

Cài đặt Python riêng lẻ

Nếu bạn muốn cài đặt Python trên máy tính của mình, thì bạn chỉ cần tải xuống mã nhị phân áp dụng cho nền tảng của mình. Bản phân phối Python có sẵn cho các nền tảng Windows, Linux và Mac.

Sau đây là tổng quan nhanh về cài đặt Python trên các nền tảng nêu trên:

On Unix and Linux platform

Với sự trợ giúp của các bước sau, chúng ta có thể cài đặt Python trên nền tảng Unix và Linux -

  • Đầu tiên, hãy truy cập www.python.org/downloads/ .

  • Tiếp theo, nhấp vào liên kết để tải xuống mã nguồn nén có sẵn cho Unix / Linux.

  • Bây giờ, Tải xuống và giải nén tệp.

  • Tiếp theo, chúng ta có thể chỉnh sửa tệp Modules / Setup nếu chúng ta muốn tùy chỉnh một số tùy chọn.

    • Tiếp theo, viết lệnh run ./configure script

    • make

    • thực hiện cài đặt

On Windows platform

Với sự trợ giúp của các bước sau, chúng ta có thể cài đặt Python trên nền tảng Windows -

  • Đầu tiên, hãy truy cập www.python.org/downloads/ .

  • Tiếp theo, nhấp vào liên kết cho tệp python-XYZ.msi của trình cài đặt Windows. Ở đây XYZ là phiên bản chúng tôi muốn cài đặt.

  • Bây giờ, chúng ta phải chạy tệp được tải xuống. Nó sẽ đưa chúng ta đến trình hướng dẫn cài đặt Python, rất dễ sử dụng. Bây giờ, hãy chấp nhận cài đặt mặc định và đợi cho đến khi quá trình cài đặt hoàn tất.

On Macintosh platform

Đối với Mac OS X, Homebrew, một trình cài đặt gói tuyệt vời và dễ sử dụng được khuyên dùng để cài đặt Python 3. Trong trường hợp không có Homebrew, bạn có thể cài đặt nó với sự trợ giúp của lệnh sau:

$ ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"

Nó có thể được cập nhật bằng lệnh dưới đây:

$ brew update

Bây giờ, để cài đặt Python3 trên hệ thống của bạn, chúng ta cần chạy lệnh sau:

$ brew install python3

Sử dụng phân phối Python được đóng gói sẵn: Anaconda

Anaconda là một bản biên dịch đóng gói của Python có tất cả các thư viện được sử dụng rộng rãi trong Khoa học dữ liệu. Chúng ta có thể làm theo các bước sau để thiết lập môi trường Python bằng Anaconda:

  • Step 1- Đầu tiên, chúng ta cần tải gói cài đặt yêu cầu từ bản phân phối Anaconda. Liên kết tương tự là www.anaconda.com/distribution/ . Bạn có thể chọn từ HĐH Windows, Mac và Linux theo yêu cầu của mình.

  • Step 2- Tiếp theo, chọn phiên bản Python mà bạn muốn cài đặt trên máy của mình. Phiên bản Python mới nhất là 3.7. Ở đó, bạn sẽ nhận được các tùy chọn cho cả hai trình cài đặt Đồ họa 64-bit và 32-bit.

  • Step 3- Sau khi chọn hệ điều hành và phiên bản Python, nó sẽ tải xuống trình cài đặt Anaconda trên máy tính của bạn. Bây giờ, nhấp đúp vào tệp và trình cài đặt sẽ cài đặt gói Anaconda.

  • Step 4 - Để kiểm tra xem nó đã được cài đặt hay chưa, hãy mở dấu nhắc lệnh và nhập Python như sau:

Bạn cũng có thể kiểm tra điều này trong video bài giảng chi tiết tại www.tutorialspoint.com/python_essentials_online_training/getting_started_with_anaconda.asp .

Tại sao sử dụng Python cho Khoa học Dữ liệu?

Python là ngôn ngữ quan trọng thứ năm cũng như ngôn ngữ phổ biến nhất cho Máy học và khoa học dữ liệu. Sau đây là các tính năng của Python khiến nó trở thành lựa chọn ngôn ngữ ưu tiên cho khoa học dữ liệu -

Bộ gói mở rộng

Python có một bộ gói mở rộng và mạnh mẽ sẵn sàng được sử dụng trong các miền khác nhau. Nó cũng có các gói nhưnumpy, scipy, pandas, scikit-learn v.v ... cần thiết cho học máy và khoa học dữ liệu.

Tạo mẫu dễ dàng

Một tính năng quan trọng khác của Python khiến nó trở thành ngôn ngữ được lựa chọn cho khoa học dữ liệu là tạo mẫu dễ dàng và nhanh chóng. Tính năng này rất hữu ích cho việc phát triển thuật toán mới.

Tính năng cộng tác

Lĩnh vực khoa học dữ liệu về cơ bản cần sự hợp tác tốt và Python cung cấp nhiều công cụ hữu ích giúp làm được điều này.

Một ngôn ngữ cho nhiều miền

Một dự án khoa học dữ liệu điển hình bao gồm các lĩnh vực khác nhau như trích xuất dữ liệu, thao tác dữ liệu, phân tích dữ liệu, trích xuất tính năng, mô hình hóa, đánh giá, triển khai và cập nhật giải pháp. Vì Python là một ngôn ngữ đa mục đích, nó cho phép nhà khoa học dữ liệu giải quyết tất cả các miền này từ một nền tảng chung.

Các thành phần của Hệ sinh thái Python ML

Trong phần này, chúng ta hãy thảo luận về một số thư viện Khoa học Dữ liệu cốt lõi hình thành các thành phần của hệ sinh thái Máy học Python. Những thành phần hữu ích này làm cho Python trở thành một ngôn ngữ quan trọng cho Khoa học dữ liệu. Mặc dù có nhiều thành phần như vậy, chúng ta hãy thảo luận một số thành phần quan trọng của hệ sinh thái Python tại đây -

Máy tính xách tay Jupyter

Máy tính xách tay Jupyter về cơ bản cung cấp một môi trường tính toán tương tác để phát triển các ứng dụng Khoa học dữ liệu dựa trên Python. Chúng trước đây được gọi là máy tính xách tay ipython. Sau đây là một số tính năng của sổ ghi chép Jupyter khiến nó trở thành một trong những thành phần tốt nhất của hệ sinh thái Python ML:

  • Máy tính xách tay Jupyter có thể minh họa quá trình phân tích từng bước bằng cách sắp xếp các nội dung như mã, hình ảnh, văn bản, đầu ra, v.v. theo cách từng bước.

  • Nó giúp một nhà khoa học dữ liệu ghi lại quá trình suy nghĩ trong khi phát triển quá trình phân tích.

  • Người ta cũng có thể ghi lại kết quả như một phần của sổ ghi chép.

  • Với sự trợ giúp của sổ ghi chép jupyter, chúng ta cũng có thể chia sẻ công việc của mình với một người ngang hàng.

Cài đặt và Thực hiện

Nếu bạn đang sử dụng phân phối Anaconda, thì bạn không cần cài đặt riêng sổ ghi chép jupyter vì nó đã được cài đặt với nó. Bạn chỉ cần vào Anaconda Prompt và gõ lệnh sau:

C:\>jupyter notebook

Sau khi nhấn enter, nó sẽ khởi động một máy chủ sổ ghi chép tại localhost: 8888 của máy tính của bạn. Nó được hiển thị trong ảnh chụp màn hình sau:

Bây giờ, sau khi nhấp vào tab Mới, bạn sẽ nhận được danh sách các tùy chọn. Chọn Python 3 và nó sẽ đưa bạn đến sổ ghi chép mới để bắt đầu làm việc với nó. Bạn sẽ nhìn thấy nó trong các ảnh chụp màn hình sau:

Mặt khác, nếu bạn đang sử dụng phân phối Python chuẩn thì sổ ghi chép jupyter có thể được cài đặt bằng trình cài đặt gói python phổ biến, pip.

pip install jupyter

Các loại ô trong Máy tính xách tay Jupyter

Sau đây là ba loại ô trong sổ ghi chép jupyter -

Code cells- Đúng như tên gọi, chúng ta có thể sử dụng các ô này để viết mã. Sau khi viết mã / nội dung, nó sẽ gửi nó đến hạt nhân được liên kết với sổ ghi chép.

Markdown cells- Chúng ta có thể sử dụng các ô này để ghi chú quá trình tính toán. Chúng có thể chứa những thứ như văn bản, hình ảnh, phương trình Latex, thẻ HTML, v.v.

Raw cells- Văn bản được viết trong chúng được hiển thị như nó vốn có. Các ô này về cơ bản được sử dụng để thêm văn bản mà chúng tôi không muốn được chuyển đổi bằng cơ chế chuyển đổi tự động của jupyter notebook.

Để nghiên cứu chi tiết hơn về sổ ghi chép jupyter, bạn có thể truy cập liên kết www.tutorialspoint.com/jupyter/index.htm .

NumPy

Đó là một thành phần hữu ích khác khiến Python trở thành một trong những ngôn ngữ yêu thích cho Khoa học dữ liệu. Về cơ bản, nó là viết tắt của Numerical Python và bao gồm các đối tượng mảng đa chiều. Bằng cách sử dụng NumPy, chúng ta có thể thực hiện các thao tác quan trọng sau:

  • Các phép toán toán học và logic trên mảng.

  • Biến đổi Fourier

  • Các phép toán kết hợp với đại số tuyến tính.

Chúng ta cũng có thể xem NumPy là sự thay thế của MatLab vì NumPy chủ yếu được sử dụng cùng với Scipy (Python khoa học) và Mat-plotlib (thư viện vẽ đồ thị).

Installation and Execution

Nếu bạn đang sử dụng phân phối Anaconda, thì không cần cài đặt riêng NumPy vì nó đã được cài đặt sẵn. Bạn chỉ cần nhập gói vào tập lệnh Python của mình với sự trợ giúp của các bước sau:

import numpy as np

Mặt khác, nếu bạn đang sử dụng phân phối Python chuẩn thì NumPy có thể được cài đặt bằng trình cài đặt gói python phổ biến, pip.

pip install NumPy

Để nghiên cứu chi tiết hơn về NumPy, bạn có thể truy cập liên kết www.tutorialspoint.com/numpy/index.htm .

Gấu trúc

Đó là một thư viện Python hữu ích khác làm cho Python trở thành một trong những ngôn ngữ yêu thích cho Khoa học dữ liệu. Gấu trúc về cơ bản được sử dụng để thao tác, quấn và phân tích dữ liệu. Nó được phát triển bởi Wes McKinney vào năm 2008. Với sự trợ giúp của Pandas, trong quá trình xử lý dữ liệu, chúng ta có thể thực hiện năm bước sau:

  • Load
  • Prepare
  • Manipulate
  • Model
  • Analyze

Biểu diễn dữ liệu trong Pandas

Toàn bộ biểu diễn dữ liệu trong Pandas được thực hiện với sự trợ giúp của ba cấu trúc dữ liệu sau:

Series- Về cơ bản nó là một ndarray một chiều với nhãn trục có nghĩa là nó giống như một mảng đơn giản với dữ liệu đồng nhất. Ví dụ, chuỗi sau là tập hợp các số nguyên 1,5,10,15,24,25 ...

1 5 10 15 24 25 28 36 40 89

Data frame- Đây là cấu trúc dữ liệu hữu ích nhất và được sử dụng cho hầu hết các loại biểu diễn và thao tác dữ liệu ở gấu trúc. Về cơ bản, nó là một cấu trúc dữ liệu hai chiều có thể chứa dữ liệu không đồng nhất. Nói chung, dữ liệu dạng bảng được biểu diễn bằng cách sử dụng các khung dữ liệu. Ví dụ: bảng sau đây cho thấy dữ liệu về các học sinh có tên và số cuộn, tuổi và giới tính -

Tên Số cuộn Tuổi tác Giới tính
Aarav 1 15 Nam giới
Nhảm nhí 2 14 Nam giới
Kanika 3 16 Giống cái
Mayank 4 15 Nam giới

Panel- Là cấu trúc dữ liệu 3 chiều chứa dữ liệu không đồng nhất. Rất khó để biểu diễn bảng điều khiển dưới dạng biểu diễn đồ họa, nhưng nó có thể được minh họa như một vùng chứa DataFrame.

Bảng sau đây cho chúng ta thứ nguyên và mô tả về cấu trúc dữ liệu được đề cập ở trên được sử dụng trong Pandas -

Cấu trúc dữ liệu Kích thước Sự miêu tả
Loạt 1-D Kích thước không thay đổi, dữ liệu đồng nhất 1-D
DataFrames 2-D Kích thước có thể thay đổi, dữ liệu không đồng nhất ở dạng bảng
Bảng điều khiển 3-D Mảng có thể thay đổi kích thước, vùng chứa DataFrame.

Chúng ta có thể hiểu các cấu trúc dữ liệu này là cấu trúc dữ liệu chiều cao hơn là nơi chứa cấu trúc dữ liệu chiều thấp hơn.

Cài đặt và Thực hiện

Nếu bạn đang sử dụng phân phối Anaconda, thì không cần cài đặt riêng Pandas vì nó đã được cài đặt sẵn. Bạn chỉ cần nhập gói vào tập lệnh Python của mình với sự trợ giúp của các bước sau:

import pandas as pd

Mặt khác, nếu bạn đang sử dụng phân phối Python chuẩn thì Pandas có thể được cài đặt bằng trình cài đặt gói python phổ biến, pip.

pip install Pandas

Sau khi cài đặt Pandas, bạn có thể nhập nó vào tập lệnh Python của mình như đã làm ở trên.

Thí dụ

Sau đây là một ví dụ về cách tạo một chuỗi từ ndarray bằng cách sử dụng Pandas:

In [1]: import pandas as pd

In [2]: import numpy as np

In [3]: data = np.array(['g','a','u','r','a','v'])

In [4]: s = pd.Series(data)

In [5]: print (s)

0 g
1 a
2 u
3 r
4 a
5 v

dtype: object

Để nghiên cứu chi tiết hơn về Gấu trúc, bạn có thể truy cập liên kết www.tutorialspoint.com/python_pandas/index.htm .

Scikit-learning

Một thư viện python hữu ích và quan trọng nhất cho Khoa học dữ liệu và học máy bằng Python là Scikit-learning. Sau đây là một số tính năng của Scikit-learning giúp nó trở nên hữu ích -

  • Nó được xây dựng trên NumPy, SciPy và Matplotlib.

  • Nó là một mã nguồn mở và có thể được sử dụng lại theo giấy phép BSD.

  • Nó có thể truy cập được cho tất cả mọi người và có thể được sử dụng lại trong các ngữ cảnh khác nhau.

  • Một loạt các thuật toán học máy bao gồm các lĩnh vực chính của ML như phân loại, phân cụm, hồi quy, giảm kích thước, lựa chọn mô hình, v.v. có thể được thực hiện với sự trợ giúp của nó.

Cài đặt và Thực hiện

Nếu bạn đang sử dụng bản phân phối Anaconda, thì không cần cài đặt riêng Scikit-learning vì nó đã được cài đặt sẵn. Bạn chỉ cần sử dụng gói vào tập lệnh Python của mình. Ví dụ: với dòng tập lệnh sau, chúng tôi đang nhập tập dữ liệu về bệnh nhân ung thư vú từScikit-learn -

from sklearn.datasets import load_breast_cancer

Mặt khác, nếu bạn đang sử dụng phân phối Python chuẩn và có NumPy và SciPy thì Scikit-learning có thể được cài đặt bằng cách sử dụng trình cài đặt gói python phổ biến, pip.

pip install -U scikit-learn

Sau khi cài đặt Scikit-learning, bạn có thể sử dụng nó vào tập lệnh Python của mình như bạn đã làm ở trên.