Lưu python ma trận thưa thớt

Trong phân loại nhiều nhãn, hàm này tính toán độ chính xác của tập hợp con. tập hợp nhãn được dự đoán cho một mẫu phải khớp chính xác với tập hợp nhãn tương ứng trong y_true

Đọc thêm trong Hướng dẫn sử dụng .

Thông số . y_true Mảng 1d giống như mảng hoặc mảng chỉ báo nhãn/ma trận thưa thớt

Nhãn sự thật [chính xác]

y_pred Mảng 1d giống như mảng hoặc mảng chỉ báo nhãn/ma trận thưa thớt

Các nhãn được dự đoán, như được trả về bởi một bộ phân loại

chuẩn hóa bool, mặc định=True

Nếu

Example 2
---------

Construct a matrix in COO format:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array[[0,3,1,0]]
>>> J = array[[0,3,1,2]]
>>> V = array[[4,5,7,9]]
>>> A = sparse.coo_matrix[[V,[I,J]],shape=[4,4]]
6, trả về số lượng mẫu được phân loại chính xác. Nếu không, hãy trả lại phần mẫu được phân loại chính xác

sample_weight hình dạng giống như mảng [n_samples,], default=None

trọng lượng mẫu

Trả về . điểm trôi nổi

Nếu

Example 2
---------

Construct a matrix in COO format:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array[[0,3,1,0]]
>>> J = array[[0,3,1,2]]
>>> V = array[[4,5,7,9]]
>>> A = sparse.coo_matrix[[V,[I,J]],shape=[4,4]]
7, trả về tỷ lệ mẫu được phân loại chính xác [float], ngược lại trả về số lượng mẫu được phân loại chính xác [int]

Hiệu suất tốt nhất là 1 với

Example 2
---------

Construct a matrix in COO format:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array[[0,3,1,0]]
>>> J = array[[0,3,1,2]]
>>> V = array[[4,5,7,9]]
>>> A = sparse.coo_matrix[[V,[I,J]],shape=[4,4]]
7 và số lượng mẫu với
Example 2
---------

Construct a matrix in COO format:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array[[0,3,1,0]]
>>> J = array[[0,3,1,2]]
>>> V = array[[4,5,7,9]]
>>> A = sparse.coo_matrix[[V,[I,J]],shape=[4,4]]
9

Xem thêm

In [129]: from scipy import sparse
In [130]: M = sparse.csr_matrix[np.arange[16].reshape[4,4]]
In [131]: M
Out[131]: 

In [132]: M.A
Out[132]: 
array[[[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]]]
0

Tính toán độ chính xác cân bằng để xử lý các bộ dữ liệu mất cân bằng

In [129]: from scipy import sparse
In [130]: M = sparse.csr_matrix[np.arange[16].reshape[4,4]]
In [131]: M
Out[131]: 

In [132]: M.A
Out[132]: 
array[[[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]]]
1

Tính điểm hệ số tương tự Jaccard

In [129]: from scipy import sparse
In [130]: M = sparse.csr_matrix[np.arange[16].reshape[4,4]]
In [131]: M
Out[131]: 

In [132]: M.A
Out[132]: 
array[[[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]]]
2

Tính toán tổn thất Hamming trung bình hoặc khoảng cách Hamming giữa hai bộ mẫu

>>> import numpy as np
>>> accuracy_score[np.array[[[0, 1], [1, 1]]], np.ones[[2, 2]]]
0.5
0

Tính toán tổn thất phân loại Zero-one. Theo mặc định, hàm sẽ trả về tỷ lệ phần trăm của các tập hợp con được dự đoán không hoàn hảo

Tùy thuộc vào việc lập chỉ mục, việc xây dựng ma trận trích xuất/lập chỉ mục với kiểu đầu vào

Example 2
---------

Construct a matrix in COO format:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array[[0,3,1,0]]
>>> J = array[[0,3,1,2]]
>>> V = array[[4,5,7,9]]
>>> A = sparse.coo_matrix[[V,[I,J]],shape=[4,4]]
7 có thể dễ dàng hơn

In [129]: from scipy import sparse
In [130]: M = sparse.csr_matrix[np.arange[16].reshape[4,4]]
In [131]: M
Out[131]: 

In [132]: M.A
Out[132]: 
array[[[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]]]

Ma trận trích xuất vuông với các giá trị "đường chéo" mong muốn

In [133]: extractor = sparse.csr_matrix[[[1,1],[[0,3],[0,3]]]]
In [134]: extractor
Out[134]: 

Nhân ma trận một chiều chọn cột

In [135]: [email protected]
Out[135]: 

In [136]: _.A
Out[136]: 
array[[[ 0,  0,  0,  3],
       [ 4,  0,  0,  7],
       [ 8,  0,  0, 11],
       [12,  0,  0, 15]]]

và mặt khác, các hàng

In [137]: [email protected]
Out[137]: 

In [138]: _.A
Out[138]: 
array[[[ 0,  1,  2,  3],
       [ 0,  0,  0,  0],
       [ 0,  0,  0,  0],
       [12, 13, 14, 15]]]
In [139]: extractor.A
Out[139]: 
array[[[1, 0, 0, 0],
       [0, 0, 0, 0],
       [0, 0, 0, 0],
       [0, 0, 0, 1]]]

Example 2
---------

Construct a matrix in COO format:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array[[0,3,1,0]]
>>> J = array[[0,3,1,2]]
>>> V = array[[4,5,7,9]]
>>> A = sparse.coo_matrix[[V,[I,J]],shape=[4,4]]
8 làm điều tương tự, nhưng với

In [140]: extractor = sparse.csr_matrix[[[1,1],[[0,1],[0,3]]]]
In [142]: [[email protected]].A
Out[142]: 
array[[[ 0,  1,  2,  3],
       [12, 13, 14, 15]]]

Tổng hàng và cột cũng được thực hiện với phép nhân ma trận

________số 8

Đôi khi, khi làm việc với các ma trận thưa thớt lớn trong Python, bạn có thể muốn chọn một số hàng của ma trận thưa thớt hoặc một số cột nhất định của ma trận thưa thớt. Như chúng ta đã thấy trước đó, có nhiều loại ma trận thưa thớt có sẵn trong SciPy bằng Python. Mỗi loại ma trận thưa thớt được tối ưu hóa cho các hoạt động cụ thể

Chúng ta sẽ xem các ví dụ về việc cắt một ma trận thưa thớt theo hàng và cột. Về cơ bản, chúng tôi sẽ tạo một ma trận thưa thớt ngẫu nhiên và chọn một tập hợp con các hàng hoặc cột từ ma trận thưa thớt bằng cách sử dụng Scipy/NumPy trong Python

Hãy để chúng tôi tải các mô-đun cần thiết

Example 2
---------

Construct a matrix in COO format:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array[[0,3,1,0]]
>>> J = array[[0,3,1,2]]
>>> V = array[[4,5,7,9]]
>>> A = sparse.coo_matrix[[V,[I,J]],shape=[4,4]]
0

Hãy để chúng tôi tạo một ma trận ngẫu nhiên thưa thớt bằng cách sử dụng chức năng ngẫu nhiên của mô-đun thưa thớt của SciPy. Ở đây, chúng tôi tạo ma trận ngẫu nhiên thưa thớt có kích thước 5 x 5 chứa các số ngẫu nhiên từ phân phối Poisson

Example 2
---------

Construct a matrix in COO format:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array[[0,3,1,0]]
>>> J = array[[0,3,1,2]]
>>> V = array[[4,5,7,9]]
>>> A = sparse.coo_matrix[[V,[I,J]],shape=[4,4]]
1

Chúng ta có thể thấy nội dung của ma trận thưa bằng câu lệnh in và hàm todense[]

Example 2
---------

Construct a matrix in COO format:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array[[0,3,1,0]]
>>> J = array[[0,3,1,2]]
>>> V = array[[4,5,7,9]]
>>> A = sparse.coo_matrix[[V,[I,J]],shape=[4,4]]
2

Giả sử chúng ta quan tâm đến các hàng hoặc cột có chỉ số chẵn

Example 2
---------

Construct a matrix in COO format:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array[[0,3,1,0]]
>>> J = array[[0,3,1,2]]
>>> V = array[[4,5,7,9]]
>>> A = sparse.coo_matrix[[V,[I,J]],shape=[4,4]]
3

Cách chọn hàng từ ma trận thưa thớt?

Chúng tôi có thể tập hợp ma trận thưa thớt ban đầu của mình bằng cách sử dụng thao tác lát. Điều cần lưu ý là thưa thớt. chức năng ngẫu nhiên tạo ma trận thưa thớt ở định dạng COO theo mặc định. Tuy nhiên, ma trận COO không thân thiện với hoạt động lát

Vì vậy, trước tiên chúng tôi chuyển đổi ma trận thưa thớt COO thành ma trận CSR [Định dạng hàng thưa được nén] bằng cách sử dụng hàm tocsr[]. Và sau đó chúng ta có thể cắt các hàng ma trận thưa thớt bằng cách sử dụng mảng chỉ số hàng mà chúng ta đã tạo

Example 2
---------

Construct a matrix in COO format:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array[[0,3,1,0]]
>>> J = array[[0,3,1,2]]
>>> V = array[[4,5,7,9]]
>>> A = sparse.coo_matrix[[V,[I,J]],shape=[4,4]]
4

Chúng ta có thể thấy rằng sau khi cắt, chúng ta có một ma trận thưa thớt có kích thước 3 × 5 ở định dạng CSR. Để xem nội dung của ma trận thưa được cắt lát, chúng ta có thể sử dụng hàm todense[]. Bây giờ chúng tôi chỉ có ba hàng thay vì năm

Example 2
---------

Construct a matrix in COO format:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array[[0,3,1,0]]
>>> J = array[[0,3,1,2]]
>>> V = array[[4,5,7,9]]
>>> A = sparse.coo_matrix[[V,[I,J]],shape=[4,4]]
5

Làm cách nào để chọn các cột từ một ma trận thưa thớt?

Chúng ta có thể làm tương tự để cắt các cột của ma trận thưa thớt. Trước tiên, chúng tôi sẽ phải chuyển đổi sang ma trận CSR hoặc CSC, sau đó sử dụng thao tác cắt lát để chọn các cột mà chúng tôi quan tâm

Hãy để chúng tôi sử dụng tocsr[] như trước đây và chọn các cột có chỉ số chẵn

Example 2
---------

Construct a matrix in COO format:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array[[0,3,1,0]]
>>> J = array[[0,3,1,2]]
>>> V = array[[4,5,7,9]]
>>> A = sparse.coo_matrix[[V,[I,J]],shape=[4,4]]
6

Một tùy chọn khác để cắt các hàng hoặc cột của ma trận thưa thớt không lớn là chuyển đổi thành ma trận dày đặc và cắt các hàng/cột. Rõ ràng cách tiếp cận này là không hiệu quả hoặc không thể thực hiện được khi kích thước ma trận thưa thớt lớn

Chủ Đề