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ớtNhã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ớtCá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=TrueNế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ácsample_weight hình dạng giống như mảng [n_samples,], default=Nonetrọng lượng mẫu
Trả về . điểm trôi nổiNế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]]
9Xem 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]]]
0Tí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]]]
1Tí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]]]
2Tí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.50
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ơnIn [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ớiIn [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]]
0Hã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]]
1Chú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]]
2Giả 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]]
3Cá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]]
4Chú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]]
5Là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]]
6Mộ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