2013-11-28 25 views
5

Vì mục đích tôi đã sử dụng giải pháp từ chủ đề đó link bây giờ, tuy nhiên nó cho lỗi bộ nhớ như mong đợi vì ma trận của tôi Kích thước là 6 triệu đến 40000 ma trận. Vì vậy, tôi đang tìm kiếm bất kỳ giải pháp nào khác để ước lượng ma trận tương quan. Làm thế nào tôi có thể tiêm chủng cho vấn đề đó? Bất kỳ trợ giúp được đánh giá cao.Làm thế nào để xấp xỉ ma trận tương quan trong các ma trận scipy thưa thớt lớn?

+0

Trước tiên, bạn cần phải trả lời câu hỏi sau: bạn có bao nhiêu phần tử không phải trong ma trận của mình. Gọi số này là nnz'. Bộ nhớ cần thiết để lưu trữ chúng là khoảng 16e-9 * nnz' gigabyte. Bạn cần bao nhiêu gigabyte? –

Trả lời

1

Vấn đề của bạn là bạn không thể giữ kết quả trong bộ nhớ (6e6^2 giá trị?).

Bạn có thể thả các hàng từ ma trận gốc. Ví dụ: nếu bạn đang tìm kiếm các hàng có độ tương quan cao, bạn có thể muốn nhóm các hàng để phá vỡ sự cố.

Bạn cũng có thể sử dụng scipy.sparse.linalg.svds để thu nhỏ số cột. Nhưng bạn vẫn sẽ phải xử lý các hàng^2 tương quan.

Các vấn đề liên quan