Tôi có một cơ sở dữ liệu SQLite chứa loại lược đồ sau:
termcount[doc_num, term , count]
Bảng này chứa các điều khoản với số lượng tương ứng của chúng trong tài liệu. giống
[doc1 , term1 ,12]
[doc1, term 22, 2]
.
.
[docn,term1 , 10]
Ma trận này có thể được coi là ma trận thưa thớt vì mỗi tài liệu chứa rất ít thuật ngữ sẽ có giá trị khác không.
Làm thế nào tôi sẽ tạo ra một ma trận dày đặc từ ma trận thưa thớt này bằng cách sử dụng Numpy vì tôi phải tính toán sự tương đồng giữa các tài liệu sử dụng sự tương đồng cosine.
Ma trận dày đặc này sẽ trông giống như một bảng có tài liệu là cột đầu tiên và tất cả các thuật ngữ sẽ được liệt kê là hàng đầu tiên. Và các ô còn lại sẽ chứa số lượng.
1 câu trả lời. Bạn có thể sử dụng hàm Todense [] hoặc ToArray [] để chuyển đổi ma trận CSR thành ma trận dày đặc.todense[] or toarray[] function to convert a CSR matrix to a dense matrix.
1 câu trả lời. Bạn có thể sử dụng hàm Todense [] hoặc ToArray [] để chuyển đổi ma trận CSR thành ma trận dày đặc.
>>> from scipy.sparse import csr_matrix
>>> import pandas as pd
>>> r = np.array[[0, 0, 1, 1, 2, 2, 2, 3, 4, 4, 5, 6, 6]]
>>> c = np.array[[0, 3, 4, 1, 3, 5, 6, 3, 1, 6, 0, 1, 3]]
>>> data = np.array[[1]*len[r]]
>>> X = csr_matrix[[data, [r, c]],
shape=[7, 7]]
>>> X
>>> Y=X.todense[]
>>> Y
matrix[[[1, 0, 0, 1, 0, 0, 0],
[0, 1, 0, 0, 1, 0, 0],
[0, 0, 0, 1, 0, 1, 1],
[0, 0, 0, 1, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 1, 0, 0, 0]]]
>>> Z=X.toarray[]
>>> Z
array[[[1, 0, 0, 1, 0, 0, 0],
[0, 1, 0, 0, 1, 0, 0],
[0, 0, 0, 1, 0, 1, 1],
[0, 0, 0, 1, 0, 0, 0],
[0, 1, 0,
0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 1, 0, 0, 0]]]
Trả về một đại diện ma trận dày đặc của ma trận này.
Tham sốOrder {‘c,‘ f,}, tùy chọnorder{‘C’, ‘F’}, optionalCho dù lưu trữ dữ liệu đa chiều trong thứ tự C [Row-Major] hoặc Fortran [Cột-Major] trong bộ nhớ. Mặc định là ‘không có, không cung cấp bảo đảm đặt hàng. Không thể được chỉ định kết hợp với đối số ra.
Outndarray, 2-D, tùy chọnndarray, 2-D, optionalNếu được chỉ định, hãy sử dụng mảng này [hoặc numpy.matrix
] làm bộ đệm đầu ra thay vì phân bổ một mảng mới để trả về. Mảng được cung cấp phải có hình dạng và dtype giống như ma trận thưa thớt mà bạn đang gọi phương thức.
Một đối tượng ma trận NUMPY có cùng hình dạng và chứa cùng một dữ liệu được biểu thị bằng ma trận thưa thớt, với thứ tự bộ nhớ được yêu cầu. Nếu ra ngoài được thông qua và là một mảng [chứ không phải là numpy.matrix
], nó sẽ được lấp đầy với các giá trị thích hợp và được trả lại trong một đối tượng numpy.matrix
có chung bộ nhớ.
Mục tiêu công thức
Các đối tượng thưa thớt được 'nén' khi bất kỳ dữ liệu nào khớp với một giá trị cụ thể [giá trị NAN / Thiếu, mặc dù bất kỳ giá trị nào cũng có thể được chọn]. Một theo dõi đối tượng SparseIndex đặc biệt trong đó dữ liệu đã được 'sparsifie'.
Vì vậy, công thức này là một ví dụ ngắn về cách chuyển đổi DataFrame/Matrix thưa thớt thành Ma trận/DataFrame dày đặc. Bắt đầu nào.
Mục lục
- Mục tiêu công thức
- Các đối tượng thưa thớt được 'nén' khi bất kỳ dữ liệu nào khớp với một giá trị cụ thể [giá trị NAN / Thiếu, mặc dù bất kỳ giá trị nào cũng có thể được chọn]. Một theo dõi đối tượng SparseIndex đặc biệt trong đó dữ liệu đã được 'sparsifie'.
- Vì vậy, công thức này là một ví dụ ngắn về cách chuyển đổi DataFrame/Matrix thưa thớt thành Ma trận/DataFrame dày đặc. Bắt đầu nào.
- Mục lục
- Bước 1 - Nhập thư viện
Các đối tượng thưa thớt được 'nén' khi bất kỳ dữ liệu nào khớp với một giá trị cụ thể [giá trị NAN / Thiếu, mặc dù bất kỳ giá trị nào cũng có thể được chọn]. Một theo dõi đối tượng SparseIndex đặc biệt trong đó dữ liệu đã được 'sparsifie'.
import pandas as pd
Vì vậy, công thức này là một ví dụ ngắn về cách chuyển đổi DataFrame/Matrix thưa thớt thành Ma trận/DataFrame dày đặc. Bắt đầu nào.
Vì vậy, công thức này là một ví dụ ngắn về cách chuyển đổi DataFrame/Matrix thưa thớt thành Ma trận/DataFrame dày đặc. Bắt đầu nào.
df = pd.DataFrame[{"A": pd.arrays.SparseArray[[0, 1, 0]]}]
Mục lục
Bước 1 - Nhập thư viện
Mục lục
df.sparse.to_dense[]
print[df]
Bước 1 - Nhập thư viện
Bước 1 - Nhập thư viện
Bước 2 - Thiết lập dữ liệu
Scroll down to the ipython file to look at the results.