Hướng dẫn convert coo to csr python - chuyển đổi coo sang csr python
Tôi đã tìm ra cách thực thi nó trong Python:
Output: Một ma trận thưa thớt ở định dạng tọa độ. Còn được gọi là định dạng ‘IJV, hoặc‘ Triplet Triplet. Điều này có thể được khởi tạo theo nhiều cách: COO_Matrix (D)với một ma trận dày đặc d coo_matrix(S)với một ma trận thưa thớt khác (tương đương với s.tocoo ()) COO_Matrix ((M, N), [DTYPE])Để xây dựng một ma trận trống với hình dạng (m, n) dtype là tùy chọn, mặc định thành dtype = xông d. COO_Matrix ((dữ liệu, (i, j)), [hình dạng = (m, n)]) để xây dựng từ ba mảng:
Trong đó Ghi chú Ma trận thưa thớt có thể được sử dụng trong các hoạt động số học: chúng hỗ trợ bổ sung, trừ, nhân, chia và công suất ma trận. Ưu điểm của định dạng COO
Ví dụ >>> # Constructing an empty matrix >>> from scipy.sparse import coo_matrix >>> coo_matrix((3, 4), dtype=np.int8).toarray() array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], dtype=int8) >>> # Constructing a matrix using ijv format >>> row = np.array([0, 3, 1, 0]) >>> col = np.array([0, 3, 1, 2]) >>> data = np.array([4, 5, 7, 9]) >>> coo_matrix((data, (row, col)), shape=(4, 4)).toarray() array([[4, 0, 9, 0], [0, 7, 0, 0], [0, 0, 0, 0], [0, 0, 0, 5]]) >>> # Constructing a matrix with duplicate indices >>> row = np.array([0, 0, 1, 3, 1, 0, 0]) >>> col = np.array([0, 2, 1, 3, 1, 0, 0]) >>> data = np.array([1, 1, 1, 1, 1, 1, 1]) >>> coo = coo_matrix((data, (row, col)), shape=(4, 4)) >>> # Duplicate indices are maintained until implicitly or explicitly summed >>> np.max(coo.data) 1 >>> coo.toarray() array([[3, 0, 1, 0], [0, 2, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1]])Thuộc tínhDtypedTypedtypedtype Kiểu dữ liệu của ma trận shape 2-tuple2-tupleCó được hình dạng của một ma trận. ndimintintSố lượng kích thước (đây luôn là 2) nnz Số lượng các giá trị được lưu trữ, bao gồm các số không rõ ràng. dữ liệuMảng dữ liệu định dạng COO của ma trận hàng ngangMảng chỉ mục hàng định dạng COO của ma trận colMảng chỉ số cột định dạng COO của ma trận Phương pháp
Định dạng COO trong Python là gì?COO là một định dạng nhanh để xây dựng ma trận thưa thớt.Khi một ma trận đã được xây dựng, hãy chuyển đổi thành định dạng CSR hoặc CSC cho các hoạt động vector số học và ma trận nhanh.Theo mặc định khi chuyển đổi sang định dạng CSR hoặc CSC, các mục trùng lặp (i, j) sẽ được tổng hợp lại với nhau.a fast format for constructing sparse matrices. Once a matrix has been constructed, convert to CSR or CSC format for fast arithmetic and matrix vector operations. By default when converting to CSR or CSC format, duplicate (i,j) entries will be summed together.
Tại sao CSR nhanh hơn COO?Có, CSR về mặt lý thuyết nên nhanh hơn COO cho phép nhân vector ma trận;Điều này là do kích thước lưu trữ ở định dạng CSR là O (2NNZ + N) so với O (3NNZs) và phép nhân vectơ ma trận thưa thớt trong nhiều trường hợp bị ràng buộc bộ nhớ.the storage size in CSR format is O(2nnz + n) vs O(3nnzs) and the sparse matrix vector multiplication is in many cases memory bound.
CSR_Matrix là gì?csr_matrix ((m, n), [dtype]) để xây dựng một ma trận trống với hình dạng (m, n) dtype là tùy chọn, mặc định thành dtype = 'd'.csr_matrix ((data, (row_ind, col_ind)), [spape = (m, n)]) trong đó dữ liệu, row_ind và col_ind thỏa mãn mối quan hệ a [row_ind [k], col_ind [k]] = data [k].to construct an empty matrix with shape (M, N) dtype is optional, defaulting to dtype='d'. csr_matrix((data, (row_ind, col_ind)), [shape=(M, N)]) where data , row_ind and col_ind satisfy the relationship a[row_ind[k], col_ind[k]] = data[k] . |
Bài Viết Liên Quan
Các vòng lặp trong Python là gì?
vòng lặp for được sử dụng khi bạn có một khối mã mà bạn muốn lặp lại một số lần cố định. Vòng lặp for luôn được sử dụng kết hợp với một ...
Làm cách nào để đặt tên động cho một hàm trong JavaScript?
Sử dụng tên động/duy nhất cho các hàm JavaScriptCó những trường hợp bạn sẽ cần sử dụng tên động/duy nhất cho các hàm JavaScriptXem xét tình huống sauĐiều ...
Docker-php
Codefresh có thể làm việc với các dự án Php sử dụng bất kỳ framework phổ biến nào (Laravel, Symphony, CakePHp, v.v. )Dự án php ví dụBạn có thể xem dự án ví ...
Bao nhiêu tiền trong tiếng Anh là gì?
Câu hỏi “How many” & “How much”HOW MANY1 – Cách sử dụng “How many” có nghĩa là “bao nhiêu”, nó được dùng trong câu hỏi hỏi về số lượng của các ...
Định dạng ngày giờ trong Python là gì?
Mô-đun datetime trong Python cung cấp các phương thức để làm việc với các giá trị ngày và giờ. Để sử dụng mô-đun này, trước tiên chúng ta phải nhập nó ...
Tôi có thể thêm HTML vào Python không?
Mô-đun này định nghĩa một lớp dùng làm cơ sở để phân tích cú pháp các tệp văn bản được định dạng bằng HTML (Ngôn ngữ đánh dấu siêu văn bản) và ...
Chúc mừng năm mới 2023
Tết Nguyên đán là một lễ kỷ niệm lớn không chỉ ở Trung Quốc, mà trên toàn thế giới. Việc đánh dấu năm mới âm lịch mang đến pháo hoa, diễu hành, ánh ...
Môi trường thời gian chạy Python trực tuyến
Python 3 Chạyđầu vào stdinnullđầu raCách sử dụng Trình biên dịch/Thông dịch viên Python trực tuyến nàyĐể chạy mã Python trực tuyến, hãy viết mã Python của ...
Mô hình lập trình tuyến tính trong Excel là gì?
Để cho Bộ giải Excel biết ô nào trên trang tính đại diện cho các biến quyết định, ràng buộc và hàm mục tiêu, chúng tôi bấm vào nút Bộ giải trên tab Dữ ...
Tệp python mở dòng mới
Python is the main dynamic language used at Google. This style guide is a list of dos and don’ts for Python programsTo help you format code correctly, we’ve created a settings file for Vim. For ...
Có phải tất cả các chương trình Python đều là mã nguồn mở không?
Python đang bùng nổ và trang Github của nó cũng vậy. Năm nay thật tuyệt vời đối với Python và chúng tôi đã thấy một số dự án mã nguồn mở Python rất mạnh ...
Từ Cần Thơ đến Đà Lạt bao nhiêu km
Bài viết sau đây của Hoa Dalat Travel về Cần Thơ Đi Đà Lạt sẽ cung cấp cho các bạn những thông tin cực kỳ hữu ích. Đặc biệt là những du khách mới đi ...
Python json null không được xác định
Tài liệu này mô tả cách tạo bảng có cột SELECT TO_JSON(STRUCT(1 AS id, [10,20] AS coordinates)) AS pt; 0, chèn dữ liệu JSON vào bảng BigQuery và truy vấn dữ liệu ...
Thách thức css và giải pháp
Vượt qua 835 dự án, trong đó Đông Nam Á có 74 và Việt Nam có 16 dự án, đội GDSC của Trường Đại học Hoa Sen (HSU) đã xuất sắc trở thành một trong ba đội ...
Windows 7 có chạy được python không
Python là ngôn ngữ lập trình chính phát triển nhanh nhất trên thế giới. Bạn muốn tham gia với tư cách là một lập trình viên Python và cài đặt Python trên máy ...
JavaScript là gì và nó được sử dụng như thế nào trong trang web?
JavaScript là một ngôn ngữ lập trình máy tính năng động. Nó nhẹ và được sử dụng phổ biến nhất như một phần của trang web, việc triển khai của nó cho ...
MySQL đóng kết nối
Bảo trì cơ sở dữ liệu hoặc máy chủ thường được thực hiện bởi quản trị viên cơ sở dữ liệu vào ban đêm. Tuy nhiên, những thói quen này đôi khi bị ...
Làm cách nào để thêm không gian trong PHP?
Như những người viết mã HTML đều hiểu, khoảng trắng (dòng trống, tab và các khoảng trắng thừa khác) trong mã của bạn có thể giúp duy trì môi trường lập ...
Giao điểm của n danh sách Python
Trước khi bắt đầu hướng dẫn này, khái niệm giao lộ sẽ được giải thích. Dưới đây, hai được đưa ra làm ví dụDanh sách1 = [4, 7, 23, 9, 6, 11]List2 = [6, 5, ...
KẾT HỢP MySQL
Trong bài viết này, tôi sẽ thảo luận về Chức năng COALESCE của MySQL với các ví dụ. Vui lòng đọc bài viết trước của chúng tôi, nơi chúng tôi đã thảo ...