Hướng dẫn how do you add a sparse matrix in python? - làm thế nào để bạn thêm một ma trận thưa thớt trong python?

Nếu hầu hết các phần tử của ma trận có giá trị 0, thì nó được gọi là ma trận thưa thớt. Hai lợi ích chính của việc sử dụng ma trận thưa thớt thay vì ma trận đơn giản là:0 value, then it is called a sparse matrix. The two major benefits of using sparse matrix instead of a simple matrix are:

  • Lưu trữ: Có các phần tử khác không hơn số không và do đó bộ nhớ ít hơn có thể được sử dụng để chỉ lưu trữ các yếu tố đó.There are lesser non-zero elements than zeros and thus lesser memory can be used to store only those elements.
  • Thời gian tính toán: Thời gian tính toán có thể được lưu bằng cách thiết kế hợp lý cấu trúc dữ liệu chỉ đi qua các yếu tố khác không. Computing time can be saved by logically designing a data structure traversing only non-zero elements.

Các ma trận thưa thớt thường được sử dụng trong việc học máy ứng dụng như trong dữ liệu có chứa mã hóa dữ liệu ánh xạ các danh mục để đếm và cả trong toàn bộ các trường con của máy học như xử lý ngôn ngữ tự nhiên (NLP). are generallyutilized in applied machine learning such as in data containing data-encodings that map categories to count and also in entire subfields of machine learning such as natural language processing (NLP).

Example:

0 0 3 0 4            
0 0 5 7 0
0 0 0 0 0
0 2 6 0 0

Đại diện cho một ma trận thưa thớt bằng một mảng 2D dẫn đến sự lãng phí của nhiều bộ nhớ vì các số 0 trong ma trận không được sử dụng trong hầu hết các trường hợp. Vì vậy, thay vì lưu trữ số 0 với các phần tử khác không, chúng tôi chỉ lưu trữ các yếu tố khác không. Điều này có nghĩa là lưu trữ các phần tử khác không với bộ ba- (hàng, cột, giá trị).triples- (Row, Column, value).

Tạo một ma trận thưa thớt trong Python

Các công cụ của Python sườn Scipygives để tạo ma trận thưa thớt bằng nhiều cấu trúc dữ liệu, cũng như các công cụ để chuyển đổi ma trận dày đặc thành ma trận thưa thớt. Hàm csr_matrix () được sử dụng để tạo một ma trận thưa thớt của định dạng hàng thưa thớt trong khi CSC_MATRIX () được sử dụng để tạo một ma trận thưa thớt của định dạng cột thưa thớt.SciPygives tools for creating sparse matrices using multiple data structures, as well as tools for converting a dense matrix to a sparse matrix. The function csr_matrix() is used to create a sparse matrix of compressed sparse row format whereas csc_matrix() is used to create a sparse matrix of compressed sparse column format.

# Sử dụngcsr_matrix ()csr_matrix()

Syntax:

scipy.sparse.csr_matrix (Shape = none, dtype = none)(shape=None, dtype=None)

Parameters:

Hình dạng: Có được hình dạng của một ma trậnGet shape of a matrix

DTYPE: Kiểu dữ liệu của ma trậnData type of the matrix

Ví dụ 1:

Python

import numpy as np

from scipy.sparse import

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
0

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
1
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
3
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
4
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
6
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
7

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
8
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
9
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
1

[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
2
[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
3

Output:

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]

Ví dụ 2:

Python

import numpy as np

from scipy.sparse import

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
0

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
1
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
3
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
4
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
6
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
7

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
8
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
9
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
1

Ví dụ 2:

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
0
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
3
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
3
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
7
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
7
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
1__15__15

[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
3
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
7
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5____41
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
3
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5__415

[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
2
[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
3

Output:

[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]

numpy as np0
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
7
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
6
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5numpy as np7
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5numpy as np9
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5__7151515
csc_matrix()

Syntax:

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
1
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2 from7
(shape=None, dtype=None)

Parameters:

Hình dạng: Có được hình dạng của một ma trậnGet shape of a matrix

DTYPE: Kiểu dữ liệu của ma trậnData type of the matrix

Ví dụ 1:

Python

import numpy as np

from scipy.sparse import

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
0

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
1
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
3
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
4
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
6
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
7

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
8
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
9
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
1

[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
2
[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
3

Output:

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]

Ví dụ 2:

Python

import numpy as np

from scipy.sparse import

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
0

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
1
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
3
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
4
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
6
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
7

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
8
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
9
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
1

Ví dụ 2:

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
0
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
3
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
3
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
7
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
7
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
1__15__15

[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
2
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
3
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
7
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5____41
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
3
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
5__415

[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
2
[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]
3

Output:

[[ 1  4  0]
 [ 8  0 11]
 [ 0  0  9]]

Làm thế nào để bạn thực hiện một ma trận thưa thớt trong Python?

Ma trận thưa thớt trong Python..
Nhập Numpy dưới dạng NP ..
từ Scipy. Nhập CSR_Matrix thưa thớt ..
# Tạo biểu diễn 2 chiều của ma trận ..
A = np. Mảng ([[1, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 1], \.
[0, 0, 0, 2, 0, 0]]).
in ("Biểu diễn ma trận dày đặc: \ n", a).

Làm thế nào để bạn thêm một ma trận thưa thớt?

Hai phần tử có cùng giá trị hàng được sắp xếp theo giá trị cột của chúng.Bây giờ để thêm các ma trận, chúng ta chỉ cần đi qua cả hai phần tử ma trận theo phần tử và chèn phần tử nhỏ hơn (một phần có giá trị hàng và col nhỏ hơn) vào ma trận kết quả.traverse through both matrices element by element and insert the smaller element (one with smaller row and col value) into the resultant matrix.

Làm thế nào để bạn tìm thấy một ma trận thưa thớt trong Python?

Để kiểm tra xem ma trận có phải là ma trận thưa thớt hay không, chúng ta chỉ cần kiểm tra tổng số phần tử bằng không.Nếu số lượng này nhiều hơn (m * n)/2, chúng ta sẽ trả về true.check the total number of elements that are equal to zero. If this count is more than (m * n)/2, we return true.

Làm thế nào để bạn viết một ma trận ở dạng thưa thớt?

S = thưa thớt (a) Chuyển đổi một ma trận đầy đủ thành dạng thưa thớt bằng cách vắt ra bất kỳ phần tử 0 nào.Nếu một ma trận chứa nhiều số không, việc chuyển đổi ma trận thành lưu trữ thưa thớt sẽ lưu bộ nhớ.S = thưa thớt (m, n) tạo ra một ma trận m -by -n tất cả không. converts a full matrix into sparse form by squeezing out any zero elements. If a matrix contains many zeros, converting the matrix to sparse storage saves memory. S = sparse( m,n ) generates an m -by- n all zero sparse matrix.