Một tình huống thường gặp trong học máy là có một lượng dữ liệu khổng lồ; . Ví dụ: hãy tưởng tượng một ma trận trong đó các cột là mọi bộ phim trên Netflix, các hàng là mọi người dùng Netflix và các giá trị là số lần người dùng đã xem bộ phim cụ thể đó. Ma trận này sẽ có hàng chục nghìn cột và hàng triệu hàng. Tuy nhiên, vì hầu hết người dùng không xem hầu hết các bộ phim nên phần lớn các yếu tố sẽ bằng không Show Ma trận thưa thớt chỉ lưu trữ các phần tử khác không và giả sử tất cả các giá trị khác sẽ bằng 0, dẫn đến tiết kiệm đáng kể tính toán. Trong giải pháp của mình, chúng tôi đã tạo một mảng NumPy có hai giá trị khác không, sau đó chuyển đổi nó thành một ma trận thưa thớt. Nếu chúng ta xem ma trận thưa thớt, chúng ta có thể thấy rằng chỉ các giá trị khác không được lưu trữ
(1, 1) 1 (2, 0) 3 Có một số loại ma trận thưa thớt. Tuy nhiên, trong các ma trận hàng thưa thớt (CSR) được nén, from pymatrix import matrix m = matrix([ [1, 2], [3, 4] ]) a = m + m * 2 b = m * m c = m ** 3 d = m.det() e = m.inv()7 và from pymatrix import matrix m = matrix([ [1, 2], [3, 4] ]) a = m + m * 2 b = m * m c = m ** 3 d = m.det() e = m.inv()8 đại diện cho các chỉ số (được lập chỉ mục bằng 0) của các giá trị khác 0 lần lượt là from pymatrix import matrix m = matrix([ [1, 2], [3, 4] ]) a = m + m * 2 b = m * m c = m ** 3 d = m.det() e = m.inv()9 và (1, 1) 1 (2, 0) 30. Ví dụ: phần tử from pymatrix import matrix m = matrix([ [1, 2], [3, 4] ]) a = m + m * 2 b = m * m c = m ** 3 d = m.det() e = m.inv()9 nằm ở hàng thứ hai và cột thứ hai. Chúng ta có thể thấy lợi thế của ma trận thưa thớt nếu chúng ta tạo một ma trận lớn hơn nhiều với nhiều phần tử 0 hơn và sau đó so sánh ma trận lớn hơn này với ma trận thưa thớt ban đầu của chúng ta
(1, 1) 1 (2, 0) 3
(1, 1) 1 (2, 0) 3 Như chúng ta có thể thấy, mặc dù thực tế là chúng ta đã thêm nhiều phần tử 0 hơn vào ma trận lớn hơn, biểu diễn thưa thớt của nó hoàn toàn giống với ma trận thưa thớt ban đầu của chúng ta. Nghĩa là, việc thêm các phần tử bằng 0 không làm thay đổi kích thước của ma trận thưa thớt Như đã đề cập, có nhiều loại ma trận thưa thớt khác nhau, chẳng hạn như cột thưa thớt được nén, danh sách danh sách và từ điển khóa. Mặc dù phần giải thích về các loại khác nhau và ý nghĩa của chúng nằm ngoài phạm vi của cuốn sách này, nhưng điều đáng chú ý là mặc dù không có loại ma trận thưa thớt "tốt nhất" nhưng vẫn có những khác biệt có ý nghĩa giữa chúng và chúng ta nên ý thức về lý do tại sao. Pymatrix là một thư viện ma trận nhẹ được xây dựng bằng Python. Nó hỗ trợ một loạt các hoạt động đại số tuyến tính cơ bản ________số 8Cài đặtCài đặt trực tiếp từ chỉ mục gói Python bằng cách sử dụng $ pip install pymatrix1 $ pip install pymatrix Pymatrix yêu cầu Python 3. 4 hoặc muộn hơn. Gói không có phụ thuộc Sử dụng dòng lệnhPymatrix đóng vai trò như một tiện ích phân tích ma trận dòng lệnh đơn giản. Cài đặt qua $ pip install pymatrix1 sẽ tự động cung cấp $ pip install pymatrix3 trên dòng lệnh (1, 1) 1 (2, 0) 33 Sử dụng thư việnPymatrix xuất một lớp ma trận nhẹ, có mục đích chung, $ pip install pymatrix4. Một phần tử ma trận có thể là bất kỳ đối tượng tùy ý nào hỗ trợ các toán tử so sánh và số học được yêu cầu. Tất cả các kiểu số gốc của Python — số nguyên, số float, số phức và số hữu tỷ — đều được hỗ trợ (Lưu ý rằng thư viện này đã được xây dựng cho thoải mái, không phải cho tốc độ. Nếu bạn có nhu cầu tính toán nặng, bạn nên sử dụng giải pháp thay thế dựa trên C như NumPy để thay thế. ) khởi tạoBạn có thể khởi tạo trực tiếp một đối tượng ma trận, tùy chọn chỉ định giá trị điền (1, 1) 1 (2, 0) 35 Bạn có thể khởi tạo một đối tượng ma trận từ danh sách các danh sách bằng phương thức tĩnh $ pip install pymatrix5 (1, 1) 1 (2, 0) 37 Bạn có thể khởi tạo một đối tượng ma trận từ một chuỗi bằng phương thức tĩnh $ pip install pymatrix6 (1, 1) 1 (2, 0) 39 Dấu phân cách hàng mặc định là dòng mới, dấu phân cách cột mặc định là dấu cách. Khoảng trắng đầu và cuối bị xóa khỏi chuỗi. Các phần tử được phân tích thành phân số (số hữu tỷ) theo mặc định Bạn có thể khởi tạo một ma trận đơn vị n x n bằng cách sử dụng phương thức tĩnh $ pip install pymatrix7 (1, 1) 1 (2, 0) 31 Hàm phím tắt $ pip install pymatrix8 hỗ trợ cú pháp của cả ba phương thức tĩnh (1, 1) 1 (2, 0) 33 lặp lạiCác đối tượng ma trận có thể lặp lại. Việc lặp lại tiến hành từ trái sang phải theo cột, sau đó từ trên xuống dưới theo hàng; . e. phần tử trên cùng bên trái sẽ được trả về trước, phần tử dưới cùng bên phải sẽ được trả về sau cùng Trình vòng lặp trả về một bộ chứa số hàng, số cột và phần tử (1, 1) 1 (2, 0) 34 Ngoài ra, phương thức $ pip install pymatrix9 trả về một trình vòng lặp chỉ trên các phần tử ma trận (1, 1) 1 (2, 0) 36 lập chỉ mụcMa trận được lập chỉ mục dưới dạng mảng hai chiều $ pip install pymatrix0 Lưu ý rằng các chỉ số dựa trên 0 theo quy ước lập trình thay vì dựa trên một theo kiểu toán học điển hình, i. e. phần tử trên cùng bên trái của ma trận là (1, 1) 1 (2, 0) 330 thay vì (1, 1) 1 (2, 0) 331 phương pháp ma trậnCác đối tượng ma trận hỗ trợ các phương thức sau (1, 1) 1 (2, 0) 332 Trả về ma trận liên kết dưới dạng một đối tượng mới (1, 1) 1 (2, 0) 333 Trả về cofactor được chỉ định (1, 1) 1 (2, 0) 334 Trả về ma trận của các đồng sáng lập dưới dạng một đối tượng mới (1, 1) 1 (2, 0) 335 Trả về một trình vòng lặp trên cột đã chỉ định (1, 1) 1 (2, 0) 336 Trình lặp trả về một trình lặp cột cho mỗi cột trong ma trận (1, 1) 1 (2, 0) 337 Trả về cột đã chỉ định dưới dạng một vectơ cột mới (1, 1) 1 (2, 0) 338 Trả về một bản sao của ma trận (1, 1) 1 (2, 0) 339 Trả về tích chéo/vectơ của ma trận với (1, 1) 1 (2, 0) 350 dưới dạng ma trận mới. Tích chéo chỉ được xác định cho các cặp vectơ cột 3 chiều (1, 1) 1 (2, 0) 351 Trả về một ma trận mới với cột được chỉ định đã bị xóa (1, 1) 1 (2, 0) 352 Trả về một ma trận mới với hàng đã chỉ định đã bị xóa (1, 1) 1 (2, 0) 353 Trả về định thức của ma trận (1, 1) 1 (2, 0) 354 chỉ vectơ. Trả về vectơ đơn vị theo hướng của vectơ (1, 1) 1 (2, 0) 355 Trả về tích vô hướng/chấm của ma trận với (1, 1) 1 (2, 0) 350. Tích vô hướng chỉ được xác định cho các cặp vectơ (1, 1) 1 (2, 0) 357 Trả về một iterator trên các phần tử của ma trận (1, 1) 1 (2, 0) 358 Nếu (1, 1) 1 (2, 0) 359 là (1, 1) 1 (2, 0) 370, hai ma trận bằng nhau nếu chúng có cùng kích thước và các phần tử tương ứng của chúng bằng nhau, i. e. (1, 1) 1 (2, 0) 371 Nếu (1, 1) 1 (2, 0) 359 không phải là ________ 170, hai ma trận bằng nhau nếu chúng có cùng kích thước và các phần tử tương ứng của chúng đồng ý trong phạm vi ________ 159, i. e. (1, 1) 1 (2, 0) 375 (1, 1) 1 (2, 0) 376 Trả về ma trận nghịch đảo nếu nó tồn tại, ngược lại tăng (1, 1) 1 (2, 0) 377 (1, 1) 1 (2, 0) 378 Đúng nếu ma trận khả nghịch. Lưu ý rằng việc xác định xem ma trận có khả nghịch hay không tốn kém về mặt tính toán như thực sự tính toán nghịch đảo (1, 1) 1 (2, 0) 379 Đúng nếu ma trận vuông (1, 1) 1 (2, 0) 390 chỉ vectơ. Trả về độ dài của vectơ (1, 1) 1 (2, 0) 391 Trả về một ma trận mới được hình thành bằng cách ánh xạ (1, 1) 1 (2, 0) 392 tới từng phần tử (1, 1) 1 (2, 0) 393 Trả về phụ được chỉ định (1, 1) 1 (2, 0) 394 Trả về hạng của ma trận (1, 1) 1 (2, 0) 395 Trả về dạng cấp bậc hàng của ma trận (1, 1) 1 (2, 0) 396 Trả về một trình vòng lặp trên hàng đã chỉ định (1, 1) 1 (2, 0) 397 Hoạt động hàng tại chỗ. Thêm ________ 198 lần hàng ________ 199 vào hàng ________ 210 (1, 1) 1 (2, 0) 311 Hoạt động hàng tại chỗ. Nhân hàng đã chỉ định với vô hướng (1, 1) 1 (2, 0) 398 (1, 1) 1 (2, 0) 313 Hoạt động hàng tại chỗ. Hoán đổi hai hàng được chỉ định (1, 1) 1 (2, 0) 314 Trình lặp trả về một trình lặp hàng cho mỗi hàng trong ma trận (1, 1) 1 (2, 0) 315 Trả về hàng đã chỉ định dưới dạng vectơ hàng mới (1, 1) 1 (2, 0) 316 Trả về dạng cấp bậc hàng rút gọn của ma trận (1, 1) 1 (2, 0) 317 Trả về chuyển vị của ma trận dưới dạng một đối tượng mới Chức năng mô-đunMô-đun $ pip install pymatrix3 xuất các chức năng sau (1, 1) 1 (2, 0) 319 Trả về (1, 1) 1 (2, 0) 330 - tích trong/vô hướng/chấm của các vectơ (1, 1) 1 (2, 0) 331 và (1, 1) 1 (2, 0) 332 (1, 1) 1 (2, 0) 333 Trả về (1, 1) 1 (2, 0) 334 - vectơ/tích chéo của vectơ cột 3D (1, 1) 1 (2, 0) 331 và (1, 1) 1 (2, 0) 332 $ pip install pymatrix8 Hàm tắt để khởi tạo đối tượng $ pip install pymatrix4; Thư viện nào được sử dụng cho ma trận trong Python?matlib ) Mô-đun này chứa tất cả các hàm trong không gian tên gọn gàng, với các hàm thay thế sau trả về ma trận thay vì ndarray. Diễn giải đầu vào dưới dạng ma trận.
Bạn có thể tạo ma trận bằng Python không?Tạo ma trận bằng Python
. Danh sách có thể được tạo nếu bạn đặt tất cả các mục hoặc thành phần bắt đầu bằng '[' và kết thúc bằng ']' (dấu ngoặc vuông) và phân tách từng thành phần bằng dấu phẩy. Python allows developers to implement matrices using the nested list. Lists can be created if you place all items or elements starting with '[' and ending with ']' (square brackets) and separate each element by a comma.
NumPy có phải là ma trận không?Ma trận numpy hoàn toàn là 2 chiều , trong khi mảng numpy (ndarray) là N chiều. Các đối tượng ma trận là một lớp con của ndarray nên chúng kế thừa tất cả các thuộc tính và phương thức của ndarray.
Python có thể xử lý ma trận không?NumPy cung cấp cho người dùng Python khả năng thao tác ma trận — một điều rất cần thiết cho AI. Theo truyền thống, MATLAB là công cụ thao tác ma trận phổ biến nhất. |