2011-04-21 107 views
8

我正在使用python中的大型稀疏矩陣(由文本生成的文檔特徵矩陣)。處理時間和內存需要花費相當多的時間和內存來咀嚼這些內容,並且我認爲稀疏矩陣可以提供一些改進。但是我擔心使用稀疏矩陣庫將會使其更難以插入其他python(以及R,通過rpy2)模塊。優點和缺點在python/R中使用稀疏矩陣?

可誰已經邁過這道坎的人已經提供了一些建議嗎?在性能,可伸縮性和兼容性方面,在python/R中使用稀疏矩陣有哪些優缺點?

回答

1

在Python中使用稀疏矩陣本身可能不是一個好主意。 你檢查出sparse matrices in numpy/scipy

numpy帶來了巨大的好處,主要使用C代碼來提供Python的性能提升。

從我在R中進行文本處理的有限經驗來看,除了探索性數據分析以外,性能使其幾乎不可用。無論如何,你不應該爲稀疏矩陣使用香草列表,它會(可以理解)需要一段時間來咀嚼它們。

+0

我已經看到了這個文件,但我有一個很難讀出的影響。其他庫是否與稀疏矩陣類兼容?我期望什麼類型的速度/記憶收益? – Abe 2011-04-28 01:54:50

1

有幾種方法來表示稀疏矩陣(文檔用於R SparseM包報告20層不同的方法來存儲稀疏矩陣數據),與所有的解決方案,以便完整的兼容性是可能不成問題。數字選項還表明,沒有最佳的情況解決方案。

根據您的重數字運算對這些矩陣例程被發現(或numpy的R)挑選任一numpy的稀疏矩陣或R的SparseM(通過rpy2)。