Chuyển đổi ma trận thưa thớt thành ma trận dày đặc python
Trong bài viết này, chúng tôi sẽ chỉ cho bạn ma trận thưa thớt là gì và cách tạo ma trận thưa thớt trong python Show
Ma trận thưa thớt là gì?Ma trận thưa là ma trận có hầu hết các phần tử bằng 0. Tức là ma trận chỉ chứa dữ liệu ở một vài vị trí. Và hầu hết bộ nhớ được tiêu thụ bởi một ma trận thưa thớt được tạo thành từ các số không Ví dụ - M = [ [1, 0, 0, 0], [0, 0, 3, 0], [0, 0, 0, 0], [0, 0, 0, 2] ] Việc sử dụng mảng 2D để biểu diễn ma trận thưa thớt sẽ lãng phí rất nhiều bộ nhớ vì các số 0 trong ma trận là vô dụng trong hầu hết các tình huống. Kết quả là, thay vì giữ các số 0 bên cạnh các phần tử khác không, chúng tôi chỉ lưu trữ các phần tử khác không. Điều này liên quan đến việc sử dụng bộ ba để lưu trữ các phần tử khác không (Hàng, Cột, giá trị) Xử lý ngôn ngữ tự nhiên (NLP) và mã hóa dữ liệu đều sử dụng rất nhiều ma trận thưa thớt. Nếu phần lớn các phần tử của ma trận là 0, việc lưu trữ tất cả các phần tử của ma trận trở nên tốn kém về mặt lưu trữ Điều này là do chúng tôi chỉ có một vài điểm dữ liệu và phần lớn dung lượng lưu trữ bị chiếm dụng bởi các số 0 dư thừa Ưu điểm của ma trận thưa thớtSau đây là hai ưu điểm chính của việc sử dụng ma trận thưa thay vì ma trận đơn giản -
Làm cách nào để tạo ma trận thưa thớt trong python?SciPy trong Python cung cấp các công cụ để tạo ma trận thưa thớt bằng cách sử dụng các cấu trúc dữ liệu khác nhau, cũng như để chuyển đổi ma trận dày đặc thành ma trận thưa thớt Trong Python, Chúng ta có thể tạo một ma trận thưa bằng các hàm sau -
Phương pháp 1. Tạo ma trận thưa bằng hàm csr_matrix()Nó tạo ra một ma trận thưa thớt ở định dạng hàng thưa thớt được nén cú phápscipy.sparse.csr_matrix(shape=None, dtype=None) thông số
Thuật toán (Các bước)Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -
Ví dụChương trình sau đây trả về ma trận thưa thớt (3x3) bằng cách sử dụng hàm csr_matrix() − đầu raKhi thực thi, chương trình trên sẽ tạo đầu ra sau - The resultant sparse matrix: [[0 0 0] [0 0 0] [0 0 0]] Phương pháp 2. Tạo ma trận thưa bằng hàm csr_matrix() của Mảng Numpy đã choThuật toán (Các bước)Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -
Ví dụđầu raKhi thực thi, chương trình trên sẽ tạo đầu ra sau - The resultant sparse matrix: [[2 1 0] [3 7 6] [0 0 5]] Phương pháp 3. Tạo ma trận thưa bằng hàm csc_matrix()Nó tạo ra một ma trận thưa ở định dạng cột thưa được nén cú phápscipy.sparse.csc_matrix(shape=None, dtype=None) thông số
thuật toánSau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn -
Ví dụChương trình sau đây trả về ma trận thưa thớt (3x3) ở định dạng cột bằng cách sử dụng hàm csc_matrix() − đầu raKhi thực thi, chương trình trên sẽ tạo đầu ra sau - The resultant sparse matrix: [[0 0 0] [0 0 0] [0 0 0]] Phương pháp 4. Tạo ma trận thưa bằng hàm csc_matrix() của mảng Numpy đã choVí dụChương trình sau đây trả về ma trận thưa thớt (3x3) ở định dạng cột của số nguyên bằng cách sử dụng hàm csc_matrix() − đầu raKhi thực thi, chương trình trên sẽ tạo đầu ra sau - The resultant sparse matrix: [[2 1 0] [3 7 6] [0 0 5]] Phần kết luậnTrong hướng dẫn này, chúng ta đã học được bốn cách riêng biệt để tạo ma trận thưa thớt trong Python. Chúng tôi cũng đã học cách tạo một ma trận thưa thớt từ một mảng có nhiều mảng |