Cẩm nang máy học với Python: Chương 1: Làm việc với vector, ma trận và mảng trong Numpy

50 10 0
Cẩm nang máy học với Python: Chương 1: Làm việc với vector, ma trận và mảng trong Numpy

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

NumPy (Numerical Python) là một thư viện của Python phù hợp để xử lý số và dữ liệu khoa học. Nó có các đối tượng mảng Nchiều và nhiều phương pháp để xứ lý chúng. Tạo vector bằng NumPy Load library import numpy as np Create a vector as a row vector_row = np.array(1, 2, 3) Create a vector as a column vector_column = np.array(1,2,3)

NumPy (Numerical Python) thư viện Python phù hợp để xử lý số liệu khoa học Nó có đối tượng mảng N-chiều nhiều phương pháp để xứ lý chúng Tạo vector NumPy # Load library import numpy as np # Create a vector as a row vector_row = np.array([1, 2, 3]) # Create a vector as a column vector_column = np.array([[1],[2],[3]]) Một vector array chiều Do để tạo vector đơn giản tạo array chiều Tạo matrix NumPy # Load library import numpy as np # Create a matrix matrix = np.array([[1, 2], [1, 2], [1, 2]]) Chúng ta tạo matrix cách tạo Numpy array hai chiều Tuy nhiên sử dụng matrix cấu trúc liệu chuẩn NumPy mảng hầu hết thao tác Numpy trả mảng matrix Tạo ma trận thư thớt (Sparse Matrix) # Load libraries import numpy as np from scipy import sparse # Create a matrix matrix = np.array([[0, 0], [0, 1], [3, 0]]) # Create compressed sparse row (CSR) matrix matrix_sparse = sparse.csr_matrix(matrix) Có nhiều tình máy học mà có lượng lớn liệu Ví dụ tưởng tượng có dataset phim netflix cột hàng số người xem xem Rõ ràng có hàng ngàn cột chí hàng triệu dịng nhiên hầu hết dịng có giá trị khơng phải xem phim Ma trận thưa thớt ma trận mà hầu hết thành phần = Ma trận thưa thớt lưu giá trị khác khơng cho giá trị cịn lại = 0, nhờ tiết kiệm q trình tính tốn Trong ví dụ thấy ma trận thưa thớt ma trận # View sparse matrix print(matrix_sparse) (1, 1) (2, 0) Cột ma trận thưa thớt mục giá trị khác Chỉ mục có giá trị khác dịng thứ hai (dịng thứ có mục 0) cột thứ (cột thứ có mục 0) giá trị Tương tự ta có giá trị dịng cột Ma trận thưa thớt gọi ma trận thưa thớt nén (compressed sparse row (CSR) matrices) # Create larger matrix matrix_large = np.array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0, 0, 0, 0, 0]]) # Create compressed sparse row (CSR) matrix matrix_large_sparse = sparse.csr_matrix(matrix_large) # View original sparse matrix print(matrix_sparse) (1, 1) (2, 0) # View larger sparse matrix print(matrix_large_sparse) (1, 1) (2, 0) Chúng ta nhận thấy lợi ma trận thưa thớt ma trận lớn Dù lớn đến cỡ ma trận thưa thớt hai dataset giống nhau, tiết kiệm tính tốn đến tối giản Có nhiều loại ma trận thưa thớt compressed sparse column, list of lists, dictionary of keys Mỗi loại ma trận có cách sử dụng khác cần xem xét cẩn thận trước chọn loại ma trận Đối tượng mảng NumPy Trong Numpy đối tượng mảng đa chiều đối tượng Mảng Numpy chứa loại giá trị, không giống Python list Trong Numpy chiều mảng đề cập đến trục Ví dụ mảng chiều ([1,2,3]) xem có trục với thành phần hay nói cách khác có trục có độ dài Mảng hai chiều có hai trục: trục thứ (axis = 0) có chiều dài trục thứ hai (axis=1) có chiều dài Creating the NumPy array In NumPy, we can create the N-D array using the array() function; We can create a NumPy array by passing any regular Python list or tuple in the array function The following is an example of the same: () In this example, we have used a regular Python list to create the one dimensional array (array1_1D), and second, we have used a standard Python tuple and made a 1-D NumPy array (array2_1D) We can also explicitly pass the datatypes of the array using the dtype option of the array () function Let’s see the following example: So, if we want to datatype int or float, and so on, that can be passed instead of complex datatype Later in the chapter, we will see the various types types of in data NumPy From this example, we can make another observation that the array() function transforms the sequences ( [1,2,3,4,5] and (2,3,4,5)) into 1-D Array So, if we need to create a 2-D Array, then we have to pass sequences of sequences, and if we need a 3-D Array, then sequences of sequences, and so on Let’s see the following example of 2-D array creation using the array() function: We passed the two tuples list in this coding snippet, and the array function transformed it into a 2-D array Here, the length of the first axis is two and the second, three In NumPy, we can create special arrays, such as an array of zeros, empty ones, array, and and an so on The following are the examples for some special arrays: Tạo mảng Numpy với giá trị cho trước Numpy có số hàm cho phép tạo mảng với giá trị cho trước # Load library import numpy as np # Generate a vector of shape (1,5) containing all zeros vector = np.zeros(shape=5) # View the vector print(vector) array([0., 0., 0., 0., 0.]) Với hàm zero() tạo mảng Numpy tất Đối số shape quy định số lượng thành phần mảng Kết ta có mảng giá trị Hàm zero cho phép tạo matrix gồm giá trị Đối số shape(2,3) nghĩa tạo axis =0 có hàng axis =1 có cột Chúng ta tạo mảng với giá trị hàm ones Hàm ones với đối số (2,3) tạo ma trận hai hàng cột giá trị Ngồi cịn dùng hàm fulle để tạo ma trận giá trị cho trước # Generate a matrix of shape (3,3) containing all two matrix = np.full((3,3),2) # View the vector print(matrix) # Generate a matrix of shape (3,3) containing all and matrix = np.full((2, 2), [1, 2]) # View the vector print(matrix) Chúng ta cịn có hàm empty giúp tạo mảng ma trận có giá trị ngẫu nhiên vừa chứa vừa chứa khác không matrix = np.empty((3, 3)) # View the vector print(matrix) Việc tạo mảng hay matrix với giá trị cho trước phục vụ cho nhiều mục đích chẳng hạn giúp code thêm hiệu tạo liệu ảo để kiểm tra thuật toán Tạo mảng Numpy list tuple Chúng ta tạo mảng Numpy cách sử dụng list Python với hàm asarray() Trong ví dụ truyền list t1 vào hàm asarray() với định dạng dtype=’int16’ trả tương đương mảng chiều matrix hai chiều Chúng ta tạo mảng Numpy cách sử dụng tuple Python với hàm asarray() Tạo mảng Numpy dãy số Chúng ta tạo mảng Numpy dãy số với hàm arrange(star,stop,step) Indexing and slicing mảng NumPy Giống list Python indexing slicing Numpy array có index nghĩa thành phần mảng mục Nó hỗ trợ mục âm nghĩa -1, tượng trưng cho thành phần cuối Indexing slicing cho mảng chiều # Load library import numpy as np # Create row vector vector = np.array([1, 2, 3, 4, 5, 6]) # Create matrix matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # Chọn thành phần vector vector[2] # Chọn thành phần cuối vector[-1] # Chọn tất thành phần vector vector[:] # Chọn khoảng thành phần vector vector[:3] # Chọn khoảng thành phần vector vector[3:]

Ngày đăng: 04/10/2023, 20:55

Tài liệu cùng người dùng

Tài liệu liên quan