Chuyển đổi ma trận thưa Python

Xem các phiên từ Hội nghị chuyên đề WiML về các mô hình khuếch tán với KerasCV, ML trên thiết bị, v.v. Xem theo yêu cầu

  • TenorFlow
  • API
  • TenorFlow v2. 11. 0
  • con trăn

tf. thưa thớt. chuyển vị Sắp xếp ngăn nắp với các bộ sưu tập Lưu và phân loại nội dung dựa trên sở thích của bạn

Xem ổn định Xem hàng đêm

Chuyển vị một SparseTensor

Xem bí danh

Bí danh tương thích để di chuyển

Xem Hướng dẫn di chuyển để biết thêm chi tiết

tf.compat.v1.sparse.transpose, tf.compat.v1.sparse_transpose

tf.sparse.transpose[
    sp_input, perm=None, name=None
]

Được sử dụng trong sổ ghi chép

Được sử dụng trong hướng dẫn
  • Làm việc với tensors thưa thớt

Thứ nguyên i của tenxơ được trả về sẽ tương ứng với thứ nguyên đầu vào perm[i]. Nếu perm không được cung cấp, nó được đặt thành [n-1. 0], trong đó n là thứ hạng của tenxơ đầu vào. Do đó, theo mặc định, thao tác này thực hiện chuyển đổi ma trận thông thường trên các Tenor đầu vào 2-D

Chúng ta sẽ tìm hiểu về “Python Scipy Sparse Csr_matrix” trong hướng dẫn này để chúng ta có thể tạo ma trận CSR và sử dụng các kỹ thuật khác nhau bao gồm phép nhân, dấu chấm và chuyển vị

Các khái niệm sau sẽ được đề cập, cùng với việc định vị chỉ mục của các mục tối đa và tối thiểu trong ma trận CSR

  • Scipy Sparse Csr_matrix là gì
  • Python scipy thưa thớt Csr_matrix
  • Python Scipy thưa thớt Csr_matrix Nhân lên
  • Python Scipy Sparse Csr_matrix Indptr
  • Dấu chấm Csr_matrix thưa thớt của Python Scipy
  • Python Scipy Hình dạng Csr_matrix thưa thớt
  • Python Scipy Sparse Csr_matrix Sắp xếp chỉ số
  • Python Scipy Sparse Csr_matrix Nnz
  • Chuyển vị Csr_matrix thưa thớt của Python Scipy
  • Python Scipy Sparse Csr_matrix Argmax
  • Python Scipy Sparse Csr_matrix Argmin

Mục lục

Scipy Sparse Csr_matrix là gì?

Có hai loại ma trận phổ biến. thưa thớt và dày đặc. Trái ngược với các ma trận dày đặc, có đa số các phần tử khác không, ma trận thưa có đa số các số không

Khi có sẵn một ma trận lớn, thông thường phần lớn các phần tử đều bằng 0. Do đó, việc tiến hành các phép toán chỉ sử dụng các số khác 0 là hợp lý vì 0 nhân với mọi thứ luôn dẫn đến 0

  • Nhiều hàm ma trận thưa thớt trong Scipy chỉ lưu các phần tử khác không. Bằng cách này, dung lượng bộ nhớ cần thiết để lưu trữ dữ liệu có thể giảm xuống. Các khung dữ liệu cần được lưu trữ trong bộ nhớ thường xuyên cho các quá trình học máy
  • Khung dữ liệu được chia để nó có thể vừa với RAM. Dữ liệu có thể vừa với RAM một cách dễ dàng bằng cách nén. Hiệu suất thực thi của thuật toán có thể được tăng tốc đáng kể bằng cách thực hiện các thao tác trên các giá trị khác không duy nhất của ma trận thưa thớt

Một trong những thuật toán do Scipy cung cấp được gọi là Hàng thưa được nén [CSR]. Đây là cách nó hoạt động

Giả sử rằng một tài liệu văn bản chứa các từ hoặc văn bản giống như dưới đây

Đây là một Tsinfo

Không Tsinfo. Đó là Tsinfotechnologists, phải không?

Bước đầu tiên là lập chỉ mục. Các từ được cho số. Gán các số giống nhau nếu các từ được lặp lại. Chúng ta có thể xác định tổng số từ trong tài liệu từ bước này

This is a Tsinfo
 0   1  2   3
This is not Tsinfo. It is Tsinfotechnologies, Is it?
 0   1  4    3     5   1       6              1  5  

Lập chỉ mục bắt đầu từ số không. Từ đầu tiên là “This”, có chỉ số là “0. ” Mọi từ khác biệt cũng sẽ có một chỉ mục. Vì từ “This” xuất hiện hai lần trong tài liệu nên mỗi lần nó nhận được giá trị chỉ mục giống hệt nhau là “0”

Bước thứ hai là biểu diễn vector tài liệu. Có một biểu diễn véc-tơ được tạo cho mỗi dòng trong tài liệu

Có bao nhiêu chỉ số riêng biệt?

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
[1111000],[1111000],[2210000]

Bước thứ ba là tạo một vectơ thưa thớt cho mọi tài liệu. Biểu diễn ma trận thưa thớt của mỗi tài liệu được hiển thị bên dưới. Nó loại bỏ tất cả các giá trị bằng 0 và chỉ lưu trữ các giá trị khác không

Doc
Doc

Đọc. Python scipy thống kê phù hợp

Python scipy thưa thớt Csr_matrix

Hàm trong gói con Scipy

import numpy as np
from scipy.sparse import csr_matrix
2 cho phép chúng tôi tạo ma trận CSR, viết tắt của ma trận hàng thưa được nén

Ma trận CSR phù hợp nếu thứ chúng ta cần là một ma trận có thể thực hiện phép cộng, phép nhân, phép trừ, lũy thừa ma trận và phép chia

Như được trình bày bên dưới, có nhiều cách tiếp cận để tạo ma trận CSR, nhưng ở đây chúng tôi sẽ sử dụng một trong các cách để tạo ma trận. Để biết thêm, vui lòng truy cập tài liệu chính thức của Python Scipy

Chúng ta sẽ sử dụng phương thức csr_matrix[D] hay còn gọi là ndarray rank_2 hoặc ma trận dày đặc

Nhập các thư viện cần thiết bằng mã bên dưới

import numpy as np
from scipy.sparse import csr_matrix

Tạo ma trận hạng 2 bằng mã bên dưới

D = np.array[[[1, 0, 1, 0, 0, 0], [2, 0, 2, 0, 0, 1],\
 [0, 0, 0, 2, 0, 1]]]

Kiểm tra ma trận thùng bằng mã dưới đây

________số 8_______

Truyền ma trận đã tạo cho hàm

import numpy as np
from scipy.sparse import csr_matrix
3, để tạo
import numpy as np
from scipy.sparse import csr_matrix
4 và xem nó bằng mã bên dưới

# Creating csr matrix
csr_m = csr_matrix[D]
csr_m.toarray[]

Python scipy thưa thớt Csr_matrix

Đây là cách tạo ma trận CSR bằng phương pháp

import numpy as np
from scipy.sparse import csr_matrix
5 của Python scipy

Đọc. Python scipy tải tập tin Mat

Python Scipy thưa thớt Csr_matrix Nhân lên

Ma trận thưa thớt là ma trận trong đó phần lớn các phần tử của nó bằng không. Gói ma trận thưa thớt 2-D của SciPy dành cho dữ liệu số được gọi là “scipy. thưa thớt”. Nó cung cấp cho chúng ta, nhiều lớp khác nhau, nhiều lớp khác nhau để xây dựng các ma trận thưa thớt. Hai lớp này là csc_matrix và csr_matrix

Trái ngược với csr_matrix[], được sử dụng để tạo ma trận hàng thưa được nén, csc_matrix[] tạo ma trận cột thưa được nén

Để nhân hai ma trận thưa thớt, chúng tôi sử dụng phương pháp

import numpy as np
from scipy.sparse import csr_matrix
6 được cung cấp bởi các lớp ma trận CSR. Hãy lấy một ví dụ minh họa bằng cách làm theo đoạn mã dưới đây

Nhập các thư viện cần thiết bằng mã python bên dưới

from scipy import sparse
import numpy as np

Tạo ma trận CSR đầu tiên bằng mã bên dưới

row_1 = np.array[[0, 1, 2, 0 ]]
col_1 = np.array[[0, 3, 0, 1]]
data_1 = np.array[[3, 4, 9, 8]]
  
csr_matrix_A = sparse.csr_matrix[[data_1, 
                          [row_1, col_1]],
                        shape = [3, 4]]
print["first CSR matrix: \n", 
      csr_matrix_A.toarray[]]

Tạo ma trận CSR thứ hai bằng mã bên dưới

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
0

Python Scipy thưa thớt Csr_matrix Ví dụ nhân

Nhân cả hai ma trận bằng phương pháp

import numpy as np
from scipy.sparse import csr_matrix
7

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
1

Python Scipy thưa thớt Csr_matrix Nhân lên

Ma trận đầu ra chứa phép nhân của

import numpy as np
from scipy.sparse import csr_matrix
8 và
import numpy as np
from scipy.sparse import csr_matrix
9

Đây là cách áp dụng phương pháp

import numpy as np
from scipy.sparse import csr_matrix
6 trên ma trận CSR để lấy tích của hai ma trận CSR

Đọc Python Scipy ttest_ind

Python Scipy Sparse Csr_matrix Indptr

Thuộc tính

D = np.array[[[1, 0, 1, 0, 0, 0], [2, 0, 2, 0, 0, 1],\
 [0, 0, 0, 2, 0, 1]]]
1 của phương thức
import numpy as np
from scipy.sparse import csr_matrix
5 là mảng con trỏ chỉ mục của ma trận ở định dạng CSR

Cú pháp được đưa ra dưới đây

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
2

Tham số ở đâu

  • dữ liệu. Mảng dữ liệu định dạng CSR của ma trận
  • chỉ số. Mảng chỉ mục của ma trận ở định dạng CSR
  • indptr. Mảng con trỏ chỉ mục định dạng CSR của ma trận
  • hình dạng. Nó được sử dụng để xác định hình dạng của ma trận

Hãy tạo ma trận CSR bằng Indptr bằng cách thực hiện theo các bước bên dưới

Nhập các thư viện hoặc phương thức cần thiết bằng mã python bên dưới

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
3

Tạo ma trận CSR thưa thớt bằng indptr, chỉ số và giá trị dữ liệu

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
4

Python Scipy Sparse Csr_matrix Indptr

Để kiểm tra con trỏ chỉ mục, hãy sử dụng thuộc tính

D = np.array[[[1, 0, 1, 0, 0, 0], [2, 0, 2, 0, 0, 1],\
 [0, 0, 0, 2, 0, 1]]]
3 trên ma trận đã tạo ở trên

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
5

Python Scipy Sparse Csr_matrix Indptr Ví dụ

Đây là cách lấy mảng con trỏ chỉ mục của ma trận ở định dạng CSR bằng cách sử dụng thuộc tính

D = np.array[[[1, 0, 1, 0, 0, 0], [2, 0, 2, 0, 0, 1],\
 [0, 0, 0, 2, 0, 1]]]
4 trên ma trận CSR

Đọc. Định mức thống kê scipy của Python

Dấu chấm Csr_matrix thưa thớt của Python Scipy

Python Scipy thưa thớt có phương thức dot[] để tìm tích chấm thông thường của ma trận CSR

Hãy lấy một ví dụ bằng cách làm theo các bước dưới đây

Nhập các thư viện hoặc phương thức cần thiết bằng mã python bên dưới

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
3

Tạo một mảng cho sản phẩm chấm bằng mã bên dưới

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
7

Tạo ma trận CSR bằng mã bên dưới

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
8

Tính điểm của ma trận được tạo ở trên bằng cách áp dụng phương pháp

D = np.array[[[1, 0, 1, 0, 0, 0], [2, 0, 2, 0, 0, 1],\
 [0, 0, 0, 2, 0, 1]]]
5 trên ma trận bằng mã bên dưới

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
9

Dấu chấm Csr_matrix thưa thớt của Python Scipy

Đây là cách tìm tích vô hướng của bất kỳ ma trận CSR nào bằng phương pháp

D = np.array[[[1, 0, 1, 0, 0, 0], [2, 0, 2, 0, 0, 1],\
 [0, 0, 0, 2, 0, 1]]]
6 của Python Scipy

Đọc. Kiểm tra bình thường Python scipy

Python Scipy Hình dạng Csr_matrix thưa thớt

Phương pháp

D = np.array[[[1, 0, 1, 0, 0, 0], [2, 0, 2, 0, 0, 1],\
 [0, 0, 0, 2, 0, 1]]]
7 có thể được áp dụng cho ma trận CSR để có được hình dạng. Cú pháp được đưa ra dưới đây

[1111000],[1111000],[2210000]
0

Hãy lấy một ví dụ bằng cách làm theo các bước dưới đây

Nhập các thư viện hoặc phương thức cần thiết bằng mã python bên dưới

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
3

Tạo ma trận CSR thưa thớt bằng mã bên dưới

[1111000],[1111000],[2210000]
2

Bây giờ hãy sử dụng hàm

D = np.array[[[1, 0, 1, 0, 0, 0], [2, 0, 2, 0, 0, 1],\
 [0, 0, 0, 2, 0, 1]]]
8 trên ma trận CSR đã tạo ở trên

[1111000],[1111000],[2210000]
3

Python Scipy Hình dạng Csr_matrix thưa thớt

Đây là cách lấy hình dạng của bất kỳ ma trận CSR nào bằng phương thức get_shape[] trả về kết quả trong bộ dữ liệu

Đọc. Số liệu thống kê scipy của Python Poisson

Python Scipy Sparse Csr_matrix Sắp xếp chỉ số

Phương pháp

D = np.array[[[1, 0, 1, 0, 0, 0], [2, 0, 2, 0, 0, 1],\
 [0, 0, 0, 2, 0, 1]]]
9 của Python scipy được áp dụng cho ma trận CSR để sắp xếp các chỉ mục của ma trận

Nhập các thư viện hoặc phương thức cần thiết bằng mã python bên dưới

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
3

Tạo ma trận CSR thưa thớt bằng indptr, chỉ mục và giá trị dữ liệu

[1111000],[1111000],[2210000]
5

Bây giờ hãy áp dụng phương pháp

print[D]
0 trên ma trận trên bằng mã bên dưới

[1111000],[1111000],[2210000]
6

Python Scipy Sparse Csr_matrix Sắp xếp chỉ số

Đây là cách áp dụng thuộc tính

print[D]
1 trên ma trận CSR để sắp xếp chỉ số của ma trận

Đọc. Giá trị bản địa scipy của Python

Python Scipy Sparse Csr_matrix Nnz

Các phần tử “khác không” được giữ trong một số mảng thông qua một ma trận thưa thớt. Về cơ bản, nnz báo cáo kích thước của các mảng này

Hãy hiểu với một ví dụ và tìm kích thước của các phần tử khác 0 trong ma trận CSR bằng cách làm theo các bước dưới đây

Nhập các thư viện hoặc phương thức cần thiết bằng mã python bên dưới

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
3

Tạo ma trận CSR thưa thớt bằng mã bên dưới

[1111000],[1111000],[2210000]
8

Bây giờ hãy áp dụng phương pháp

print[D]
2 trên ma trận bằng mã bên dưới

[1111000],[1111000],[2210000]
9

Python Scipy Sparse Csr_matrix Nnz

Đây là cách biết kích thước hoặc số lượng phần tử khác 0 trong ma trận CSR bằng thuộc tính

print[D]
3 của Python scipy

Đọc. Chế độ thống kê scipy của Python

Chuyển vị Csr_matrix thưa thớt của Python Scipy

Bằng cách chuyển hàng thành cột hoặc cột thành hàng, bạn có thể tìm được phép đổi vị trí của ma trận. Python Scipy có một phương thức transpose[] có thể được áp dụng cho ma trận CSR để đảo ngược kích thước của ma trận thưa thớt

Cú pháp được đưa ra dưới đây

Doc
Doc
0

Tham số ở đâu

  • trục. Lý do duy nhất mà đối số này có trong chữ ký là để đảm bảo khả năng tương thích NumPy. Không có gì khác nên được nhập bên cạnh giá trị mặc định
  • sao chép [boolean]. Có hay không nên bắt chước các thuộc tính bản thân bất cứ khi nào có thể. Tùy thuộc vào loại ma trận thưa thớt được sử dụng, các thuộc tính khác nhau được sao chép ở các mức độ khác nhau

Hãy hiểu với một ví dụ và tính toán chuyển vị của ma trận CSR bằng cách làm theo các bước dưới đây

Nhập các thư viện hoặc phương thức cần thiết bằng mã python bên dưới

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
3

Tạo ma trận CSR thưa thớt bằng mã bên dưới

[1111000],[1111000],[2210000]
8

Bây giờ hãy áp dụng phương pháp

print[D]
4 trên ma trận
print[D]
5 bằng mã bên dưới

Doc
Doc
3

Chuyển vị Csr_matrix thưa thớt của Python Scipy

Đây là cách lật hàng thành cột hoặc cột thành hàng bằng phương pháp

print[D]
6của Python scipy trên ma trận CSR

Đọc. Python scipy Freqz

Python Scipy Sparse Csr_matrix Argmax

Phương thức

print[D]
7 Python scipy của
print[D]
8 là các phần tử tối đa dọc theo một trục được trả về dưới dạng chỉ mục

Cú pháp được đưa ra dưới đây

Doc
Doc
4

Tham số ở đâu

trục[0,1,-1,-2]. Dọc theo trục này, argmax được tính. Nếu Không có [mặc định], chỉ mục của phần tử tối đa của dữ liệu làm phẳng được trả về

Nhập các thư viện hoặc phương thức cần thiết bằng mã python bên dưới

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
3

Tạo ma trận CSR thưa thớt bằng indptr, chỉ mục và giá trị dữ liệu

Doc
Doc
6

Bây giờ chuyển ma trận CSR sang phương thức

print[D]
9 bằng mã bên dưới

Doc
Doc
7

Python Scipy Sparse Csr_matrix Argmax

Đây là cách tìm chỉ số của phần tử lớn nhất trong ma trận CSR bằng phương pháp

# Creating csr matrix
csr_m = csr_matrix[D]
csr_m.toarray[]
0 của Python scipy

Đọc. Ma trận khoảng cách scipy Python

Python Scipy Sparse Csr_matrix Argmin

Phương thức

# Creating csr matrix
csr_m = csr_matrix[D]
csr_m.toarray[]
1 Python scipy của
print[D]
8 là các phần tử tối thiểu dọc theo một trục được trả về dưới dạng chỉ mục

Cú pháp được đưa ra dưới đây

Doc
Doc
8

Tham số ở đâu

trục[0,1,-1,-2]. Dọc theo trục này, argmin được tính. Nếu Không có [mặc định], chỉ mục của phần tử tối đa của dữ liệu được làm phẳng được trả về

Nhập các thư viện hoặc phương thức cần thiết bằng mã python bên dưới

[word-index]: [This-0], [is-1], [a-2], [Tsinfo-3], [not-4], [It-5], [Tsinfotechnologies-6]
3

Tạo ma trận CSR thưa thớt bằng indptr, chỉ mục và giá trị dữ liệu

import numpy as np
from scipy.sparse import csr_matrix
0

Bây giờ chuyển ma trận CSR sang phương thức

# Creating csr matrix
csr_m = csr_matrix[D]
csr_m.toarray[]
3 bằng mã bên dưới

import numpy as np
from scipy.sparse import csr_matrix
1

Python Scipy Sparse Csr_matrix Argmin

Đây là cách tìm chỉ số của phần tử tối thiểu trong ma trận CSR bằng phương pháp

# Creating csr matrix
csr_m = csr_matrix[D]
csr_m.toarray[]
1 của Python scipy

Bạn cũng có thể muốn đọc các hướng dẫn Python SciPy sau đây

  • Khoảng tin cậy Python scipy
  • Python scipy lognormal
  • Làm mịn Python scipy
  • Kiểm tra Chi-Square Python
  • Mô-đun đặc biệt Python scipy
  • Ma trận scipy Python + Ví dụ

Trong hướng dẫn này, chúng ta đã học cách tạo ma trận CSR và cũng khám phá cách sắp xếp, tìm chỉ mục của các phần tử tối đa và tối thiểu với hình dạng của ma trận, v.v. Ngoài ra bao gồm các chủ đề sau

  • Scipy Sparse Csr_matrix là gì
  • Python scipy thưa thớt Csr_matrix
  • Python Scipy thưa thớt Csr_matrix Nhân lên
  • Python Scipy Sparse Csr_matrix Indptr
  • Dấu chấm Csr_matrix thưa thớt của Python Scipy
  • Python Scipy Hình dạng Csr_matrix thưa thớt
  • Python Scipy Sparse Csr_matrix Sắp xếp chỉ số
  • Python Scipy Sparse Csr_matrix Nnz
  • Chuyển vị Csr_matrix thưa thớt của Python Scipy
  • Python Scipy Sparse Csr_matrix Argmax
  • Python Scipy Sparse Csr_matrix Argmin

Bijay Kumar

Python là một trong những ngôn ngữ phổ biến nhất ở Hoa Kỳ. Tôi đã làm việc với Python trong một thời gian dài và tôi có kinh nghiệm làm việc với nhiều thư viện khác nhau trên Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, v.v… Tôi có kinh nghiệm làm việc với nhiều khách hàng khác nhau . Kiểm tra hồ sơ của tôi

Chủ Đề