Hướng dẫn create a matrix from vectors in python - tạo ma trận từ vectơ trong python
Chương 1. Các vectơ, ma trận và mảngVectors, Matrices, and Arrays1.0 Giới thiệuNumpy là nền tảng của ngăn xếp máy Python. Numpy cho phép các hoạt động hiệu quả trên các cấu trúc dữ liệu thường được sử dụng trong học máy: vectơ, ma trận và tenxơ. Mặc dù Numpy không phải là trọng tâm của cuốn sách này, nhưng nó sẽ xuất hiện thường xuyên trong suốt các chương sau. Chương này bao gồm các hoạt động numpy phổ biến nhất mà chúng tôi có thể gặp phải trong khi làm việc trên các quy trình công việc học máy. Show
1.1 Tạo một vectơVấn đềBạn cần tạo một vector. Dung dịchSử dụng Numpy để tạo một mảng một chiều:
Thảo luậnCấu trúc dữ liệu chính của Numpy là mảng đa chiều. Để tạo một vectơ, chúng tôi chỉ cần tạo một mảng một chiều. Giống như các vectơ, các mảng này có thể được biểu diễn theo chiều ngang (nghĩa là, hàng) hoặc theo chiều dọc (nghĩa là các cột). 1.2 Tạo ma trậnVấn đềBạn cần tạo một vector. Dung dịchSử dụng Numpy để tạo một mảng một chiều:
Thảo luậnCấu trúc dữ liệu chính của Numpy là mảng đa chiều. Để tạo một vectơ, chúng tôi chỉ cần tạo một mảng một chiều. Giống như các vectơ, các mảng này có thể được biểu diễn theo chiều ngang (nghĩa là, hàng) hoặc theo chiều dọc (nghĩa là các cột). 1.2 Tạo ma trận
matrix([[1, 2], [1, 2], [1, 2]]) Bạn cần tạo một ma trận. Sử dụng Numpy để tạo một mảng hai chiều:Vấn đềBạn cần tạo một vector. Dung dịchSử dụng Numpy để tạo một mảng một chiều:
Thảo luậnCấu trúc dữ liệu chính của Numpy là mảng đa chiều. Để tạo một vectơ, chúng tôi chỉ cần tạo một mảng một chiều. Giống như các vectơ, các mảng này có thể được biểu diễn theo chiều ngang (nghĩa là, hàng) hoặc theo chiều dọc (nghĩa là các cột). 1.2 Tạo ma trận
(1, 1) 1 (2, 0) 3 Bạn cần tạo một ma trận.
(1, 1) 1 (2, 0) 3 0 (1, 1) 1 (2, 0) 3 Sử dụng Numpy để tạo một mảng hai chiều: Để tạo một ma trận, chúng ta có thể sử dụng một mảng hai chiều kỳ quái. Trong giải pháp của chúng tôi, ma trận chứa ba hàng và hai cột (một cột 1 và một cột 2s). Numpy thực sự có cấu trúc dữ liệu ma trận chuyên dụng:Vấn đềBạn cần tạo một vector. Dung dịchSử dụng Numpy để tạo một mảng một chiều: 2 3 4 5 Thảo luậnCấu trúc dữ liệu chính của Numpy là mảng đa chiều. Để tạo một vectơ, chúng tôi chỉ cần tạo một mảng một chiều. Giống như các vectơ, các mảng này có thể được biểu diễn theo chiều ngang (nghĩa là, hàng) hoặc theo chiều dọc (nghĩa là các cột). 1.2 Tạo ma trậnBạn cần tạo một ma trận.Vấn đềBạn cần tạo một vector. Dung dịchSử dụng Numpy để tạo một mảng một chiều: 8 9 matrix([[1, 2], [1, 2], [1, 2]])0 matrix([[1, 2], [1, 2], [1, 2]])1 matrix([[1, 2], [1, 2], [1, 2]])2 matrix([[1, 2], [1, 2], [1, 2]])3 Thảo luậnCấu trúc dữ liệu chính của Numpy là mảng đa chiều. Để tạo một vectơ, chúng tôi chỉ cần tạo một mảng một chiều. Giống như các vectơ, các mảng này có thể được biểu diễn theo chiều ngang (nghĩa là, hàng) hoặc theo chiều dọc (nghĩa là các cột). 1.6 Áp dụng các hoạt động cho các yếu tốVấn đềBạn muốn áp dụng một số chức năng cho nhiều yếu tố trong một mảng. Dung dịchSử dụng Numpy từ 29: matrix([[1, 2], [1, 2], [1, 2]])4 matrix([[1, 2], [1, 2], [1, 2]])5 Thảo luậnLớp Numpy từ 29 chuyển đổi hàm thành một hàm có thể áp dụng cho tất cả các phần tử trong một mảng hoặc lát của một mảng. Điều đáng chú ý là 29 về cơ bản là một vòng 32 trên các yếu tố và không tăng hiệu suất. Hơn nữa, các mảng numpy cho phép chúng tôi thực hiện các hoạt động giữa các mảng ngay cả khi kích thước của chúng không giống nhau (một quá trình gọi là phát sóng). Ví dụ: chúng ta có thể tạo một phiên bản đơn giản hơn của giải pháp bằng cách sử dụng phát sóng: matrix([[1, 2], [1, 2], [1, 2]])6 matrix([[1, 2], [1, 2], [1, 2]])5 1.7 Tìm các giá trị tối đa và tối thiểuVấn đềBạn muốn áp dụng một số chức năng cho nhiều yếu tố trong một mảng. Dung dịchSử dụng Numpy từ 29: matrix([[1, 2], [1, 2], [1, 2]])8 matrix([[1, 2], [1, 2], [1, 2]])9 0 1 Thảo luậnLớp Numpy từ 29 chuyển đổi hàm thành một hàm có thể áp dụng cho tất cả các phần tử trong một mảng hoặc lát của một mảng. Điều đáng chú ý là 29 về cơ bản là một vòng 32 trên các yếu tố và không tăng hiệu suất. Hơn nữa, các mảng numpy cho phép chúng tôi thực hiện các hoạt động giữa các mảng ngay cả khi kích thước của chúng không giống nhau (một quá trình gọi là phát sóng). Ví dụ: chúng ta có thể tạo một phiên bản đơn giản hơn của giải pháp bằng cách sử dụng phát sóng: 2 3 4 5 1.7 Tìm các giá trị tối đa và tối thiểuVấn đềBạn cần tìm giá trị tối đa hoặc tối thiểu trong một mảng. Dung dịchSử dụng Numpy từ 29: 6 7 8 9 0 1 Thảo luậnLớp Numpy từ 29 chuyển đổi hàm thành một hàm có thể áp dụng cho tất cả các phần tử trong một mảng hoặc lát của một mảng. Điều đáng chú ý là 29 về cơ bản là một vòng 32 trên các yếu tố và không tăng hiệu suất. Hơn nữa, các mảng numpy cho phép chúng tôi thực hiện các hoạt động giữa các mảng ngay cả khi kích thước của chúng không giống nhau (một quá trình gọi là phát sóng). Ví dụ: chúng ta có thể tạo một phiên bản đơn giản hơn của giải pháp bằng cách sử dụng phát sóng: 2 3 1.7 Tìm các giá trị tối đa và tối thiểuVấn đềBạn cần tìm giá trị tối đa hoặc tối thiểu trong một mảng. Dung dịchSử dụng Numpy từ 29: 4 5 Thảo luậnLớp Numpy từ 29 chuyển đổi hàm thành một hàm có thể áp dụng cho tất cả các phần tử trong một mảng hoặc lát của một mảng. Điều đáng chú ý là 29 về cơ bản là một vòng 32 trên các yếu tố và không tăng hiệu suất. Hơn nữa, các mảng numpy cho phép chúng tôi thực hiện các hoạt động giữa các mảng ngay cả khi kích thước của chúng không giống nhau (một quá trình gọi là phát sóng). Ví dụ: chúng ta có thể tạo một phiên bản đơn giản hơn của giải pháp bằng cách sử dụng phát sóng: 6 matrix([[1, 2], [1, 2], [1, 2]])1 1.7 Tìm các giá trị tối đa và tối thiểu 8 9 Bạn cần tìm giá trị tối đa hoặc tối thiểu trong một mảng. (1, 1) 1 (2, 0) 30 (1, 1) 1 (2, 0) 31 Sử dụng Numpy từ # Load library import numpy as np # Create a matrix matrix = np.array([[1, 2], [1, 2], [1, 2]])33 và # Load library import numpy as np # Create a matrix matrix = np.array([[1, 2], [1, 2], [1, 2]])34:Vấn đềThường thì chúng tôi muốn biết giá trị tối đa và tối thiểu trong một mảng hoặc tập hợp con của một mảng. Điều này có thể được thực hiện với các phương pháp 33 và 34. Sử dụng tham số 37, chúng tôi cũng có thể áp dụng thao tác dọc theo một trục nhất định: Dung dịch1.8 Tính toán trung bình, phương sai và độ lệch chuẩn (1, 1) 1 (2, 0) 32 (1, 1) 1 (2, 0) 33 Thảo luậnLớp Numpy từ 29 chuyển đổi hàm thành một hàm có thể áp dụng cho tất cả các phần tử trong một mảng hoặc lát của một mảng. Điều đáng chú ý là 29 về cơ bản là một vòng 32 trên các yếu tố và không tăng hiệu suất. Hơn nữa, các mảng numpy cho phép chúng tôi thực hiện các hoạt động giữa các mảng ngay cả khi kích thước của chúng không giống nhau (một quá trình gọi là phát sóng). Ví dụ: chúng ta có thể tạo một phiên bản đơn giản hơn của giải pháp bằng cách sử dụng phát sóng: (1, 1) 1 (2, 0) 34 7 1.7 Tìm các giá trị tối đa và tối thiểu (1, 1) 1 (2, 0) 36 (1, 1) 1 (2, 0) 37 Bạn cần tìm giá trị tối đa hoặc tối thiểu trong một mảng.Vấn đềSử dụng Numpy từ 33 và 34: Thường thì chúng tôi muốn biết giá trị tối đa và tối thiểu trong một mảng hoặc tập hợp con của một mảng. Điều này có thể được thực hiện với các phương pháp # Load library import numpy as np # Create a matrix matrix = np.array([[1, 2], [1, 2], [1, 2]])33 và # Load library import numpy as np # Create a matrix matrix = np.array([[1, 2], [1, 2], [1, 2]])34. Sử dụng tham số # Load library import numpy as np # Create a matrix matrix = np.array([[1, 2], [1, 2], [1, 2]])37, chúng tôi cũng có thể áp dụng thao tác dọc theo một trục nhất định:1.8 Tính toán trung bình, phương sai và độ lệch chuẩn (1, 1) 1 (2, 0) 38 (1, 1) 1 (2, 0) 39 Thảo luậnLớp Numpy từ 29 chuyển đổi hàm thành một hàm có thể áp dụng cho tất cả các phần tử trong một mảng hoặc lát của một mảng. Điều đáng chú ý là 29 về cơ bản là một vòng 32 trên các yếu tố và không tăng hiệu suất. Hơn nữa, các mảng numpy cho phép chúng tôi thực hiện các hoạt động giữa các mảng ngay cả khi kích thước của chúng không giống nhau (một quá trình gọi là phát sóng). Ví dụ: chúng ta có thể tạo một phiên bản đơn giản hơn của giải pháp bằng cách sử dụng phát sóng: 8 1 1.7 Tìm các giá trị tối đa và tối thiểuVấn đềBạn cần tìm giá trị tối đa hoặc tối thiểu trong một mảng. Dung dịchSử dụng Numpy từ 33 và 34: 2 matrix([[1, 2], [1, 2], [1, 2]])3 Thảo luậnLớp Numpy từ 29 chuyển đổi hàm thành một hàm có thể áp dụng cho tất cả các phần tử trong một mảng hoặc lát của một mảng. Điều đáng chú ý là 29 về cơ bản là một vòng 32 trên các yếu tố và không tăng hiệu suất. Hơn nữa, các mảng numpy cho phép chúng tôi thực hiện các hoạt động giữa các mảng ngay cả khi kích thước của chúng không giống nhau (một quá trình gọi là phát sóng). Ví dụ: chúng ta có thể tạo một phiên bản đơn giản hơn của giải pháp bằng cách sử dụng phát sóng: 1.7 Tìm các giá trị tối đa và tối thiểuVấn đềBạn cần tìm giá trị tối đa hoặc tối thiểu trong một mảng. Dung dịchSử dụng Numpy từ 33 và 34: 4 5 Thảo luậnThường thì chúng tôi muốn biết giá trị tối đa và tối thiểu trong một mảng hoặc tập hợp con của một mảng. Điều này có thể được thực hiện với các phương pháp 33 và 34. Sử dụng tham số 37, chúng tôi cũng có thể áp dụng thao tác dọc theo một trục nhất định: 1.8 Tính toán trung bình, phương sai và độ lệch chuẩn
Giống như với # Load library import numpy as np # Create a matrix matrix = np.array([[1, 2], [1, 2], [1, 2]])33 và # Load library import numpy as np # Create a matrix matrix = np.array([[1, 2], [1, 2], [1, 2]])34, chúng ta có thể dễ dàng nhận được số liệu thống kê mô tả về toàn bộ ma trận hoặc tính toán dọc theo một trục duy nhất:Vấn đề1.9 Định hình lại mảng Dung dịchBạn muốn thay đổi hình dạng (số lượng hàng và cột) của một mảng mà không thay đổi các giá trị phần tử. 6 7 Thảo luậnSử dụng Numpy từ 43: 8 9 0 1 # Load library import numpy as np # Create a matrix matrix = np.array([[1, 2], [1, 2], [1, 2]])43 cho phép chúng tôi tái cấu trúc một mảng để chúng tôi duy trì cùng một dữ liệu nhưng nó được tổ chức như một số lượng hàng và cột khác nhau. Yêu cầu duy nhất là hình dạng của ma trận gốc và mới chứa cùng số lượng phần tử (tức là cùng kích thước). Chúng ta có thể thấy kích thước của một ma trận bằng cách sử dụng # Load library import numpy as np # Create a matrix matrix = np.array([[1, 2], [1, 2], [1, 2]])27:Vấn đềMột đối số hữu ích trong 43 là 47, có nghĩa là có nghĩa là nhiều khi cần thiết, vì vậy 48 có nghĩa là một hàng và nhiều cột nếu cần: Dung dịchSử dụng 61: 2 3 Thảo luậnDấu vết của ma trận là tổng của các phần tử chéo và thường được sử dụng dưới mui xe trong các phương pháp học máy. Đưa ra một mảng đa chiều kỳ quái, chúng ta có thể tính toán dấu vết bằng cách sử dụng 61. Chúng ta cũng có thể trả lại đường chéo của ma trận và tính tổng của nó: 4 3 1.16 Tìm kiếm giá trị riêng và hàm riêngVấn đềBạn cần tìm các giá trị riêng và hàm riêng của một ma trận vuông. Dung dịchSử dụng Numpy từ 63: 6 7 8 9 (1, 1) 1 (2, 0) 30 Thảo luậnDấu vết của ma trận là tổng của các phần tử chéo và thường được sử dụng dưới mui xe trong các phương pháp học máy. Đưa ra một mảng đa chiều kỳ quái, chúng ta có thể tính toán dấu vết bằng cách sử dụng 61. Chúng ta cũng có thể trả lại đường chéo của ma trận và tính tổng của nó: 1.16 Tìm kiếm giá trị riêng và hàm riêng Vấn đề Bạn cần tìm các giá trị riêng và hàm riêng của một ma trận vuông.
Av = λvVấn đềBạn cần tìm các giá trị riêng và hàm riêng của một ma trận vuông. Dung dịchSử dụng Numpy từ 63: (1, 1) 1 (2, 0) 31 (1, 1) 1 (2, 0) 32 Thảo luậnDấu vết của ma trận là tổng của các phần tử chéo và thường được sử dụng dưới mui xe trong các phương pháp học máy. Đưa ra một mảng đa chiều kỳ quái, chúng ta có thể tính toán dấu vết bằng cách sử dụng 61. Chúng ta cũng có thể trả lại đường chéo của ma trận và tính tổng của nó: 1.16 Tìm kiếm giá trị riêng và hàm riêng Vấn đề (1, 1) 1 (2, 0) 33 (1, 1) 1 (2, 0) 32 Bạn cần tìm các giá trị riêng và hàm riêng của một ma trận vuông.
Av = λvVấn đềBạn cần tìm các giá trị riêng và hàm riêng của một ma trận vuông. Dung dịchSử dụng Numpy từ 63: (1, 1) 1 (2, 0) 35 (1, 1) 1 (2, 0) 36 (1, 1) 1 (2, 0) 37 (1, 1) 1 (2, 0) 38 Thảo luậnDấu vết của ma trận là tổng của các phần tử chéo và thường được sử dụng dưới mui xe trong các phương pháp học máy. Đưa ra một mảng đa chiều kỳ quái, chúng ta có thể tính toán dấu vết bằng cách sử dụng 61. Chúng ta cũng có thể trả lại đường chéo của ma trận và tính tổng của nó: (1, 1) 1 (2, 0) 39 (1, 1) 1 (2, 0) 36 1.16 Tìm kiếm giá trị riêng và hàm riêngVấn đềBạn cần tìm các giá trị riêng và hàm riêng của một ma trận vuông. Dung dịchSử dụng Numpy từ 63: 01 02 Thảo luậnDấu vết của ma trận là tổng của các phần tử chéo và thường được sử dụng dưới mui xe trong các phương pháp học máy. Đưa ra một mảng đa chiều kỳ quái, chúng ta có thể tính toán dấu vết bằng cách sử dụng 61. Chúng ta cũng có thể trả lại đường chéo của ma trận và tính tổng của nó: 03 02 1.16 Tìm kiếm giá trị riêng và hàm riêng 05 06 Vấn đềVấn đềBạn cần tìm các giá trị riêng và hàm riêng của một ma trận vuông. Dung dịchSử dụng Numpy từ 63: 07 08 Các hàm riêng được sử dụng rộng rãi trong các thư viện học máy. Theo trực giác, đưa ra một phép biến đổi tuyến tính được biểu thị bằng một ma trận, A, eigenvector là các vectơ, khi chuyển đổi đó được áp dụng, chỉ thay đổi theo tỷ lệ (không phải hướng). Chính thức hơn:Av = λvA, is a second matrix A–1, such that: AA-1=I trong đó A là một ma trận vuông, chứa các giá trị riêng và v chứa các hàm riêng. Trong bộ công cụ đại số tuyến tính của Numpy, 64 cho phép chúng tôi tính toán các giá trị riêng và các hàm riêng của bất kỳ ma trận vuông nào.I is the identity matrix. In NumPy we can use 76 to calculate A–1 if it exists. To see this in action, we can multiply a matrix by its inverse and the result is the identity matrix: 09 10 Xem thêmVấn đềBạn cần tìm các giá trị riêng và hàm riêng của một ma trận vuông. Dung dịchSử dụng Numpy từ 63: 11 12 Thảo luậnDấu vết của ma trận là tổng của các phần tử chéo và thường được sử dụng dưới mui xe trong các phương pháp học máy. Đưa ra một mảng đa chiều kỳ quái, chúng ta có thể tính toán dấu vết bằng cách sử dụng 61. Chúng ta cũng có thể trả lại đường chéo của ma trận và tính tổng của nó: 13 14 1.16 Tìm kiếm giá trị riêng và hàm riêng 15 16 17 18 19 20 Vấn đề |