有誰知道如何在python中對稀疏矩陣執行svd操作?似乎scipy.sparse.linalg中沒有提供這樣的功能。python中的稀疏矩陣svd
6
A
回答
3
您可以使用Divisi庫來實現此目的;從主頁開始:
- 這是一個用Python編寫的庫,使用C庫(SVDLIBC)使用Lanczos算法執行稀疏SVD操作。其他數學計算由NumPy執行。
3
您可以嘗試scipy.sparse.linalg.svd,雖然文檔仍然是一個工作進程,因此相當簡潔。
+1
您可能是指稱爲「svds」的過程。我嘗試過,但自己對結果不滿意...... – dividebyzero 2011-12-14 17:40:05
4
聽起來像sparsesvd是你在找什麼! SVDLIBC高效地包裝在Python中(沒有額外的數據副本在RAM中製作)。
只需運行「easy_install sparsesvd」即可進行安裝。
2
使用庫一個簡單的例子:
from recsys.algorithm.factorize import SVD
svd = SVD()
svd.load_data(dataset)
svd.compute(k=100, mean_center=True)
ITEMID1 = 1 # Toy Story
svd.similar(ITEMID1)
# Returns:
# [(1, 1.0), # Toy Story
# (3114, 0.87060391051018071), # Toy Story 2
# (2355, 0.67706936677315799), # A bug's life
# (588, 0.5807351496754426), # Aladdin
# (595, 0.46031829709743477), # Beauty and the Beast
# (1907, 0.44589398718134365), # Mulan
# (364, 0.42908159895574161), # The Lion King
# (2081, 0.42566581277820803), # The Little Mermaid
# (3396, 0.42474056361935913), # The Muppet Movie
# (2761, 0.40439361857585354)] # The Iron Giant
ITEMID2 = 2355 # A bug's life
svd.similarity(ITEMID1, ITEMID2)
# 0.67706936677315799
相關問題
- 1. 用於R中稀疏矩陣的SVD
- 2. python稀疏矩陣的矩陣功率
- 3. 稀疏矩陣
- 4. csv稀疏矩陣python
- 5. 稀疏矩陣和矩陣
- 6. Numba中的稀疏矩陣
- 7. 以稀疏矩陣
- 8. 50Kx50K稀疏矩陣
- 9. 稀疏三元組稀疏矩陣matlab
- 10. 確定稀疏矩陣的稀疏性(Lil矩陣)
- 11. svd的一個非常大的稀疏矩陣
- 12. 在Numpy/Python中快速稀疏矩陣
- 13. Python中是否支持稀疏矩陣?
- 14. 在Python中創建稀疏矩陣
- 15. 大型稀疏矩陣的全SVD(只需要特徵值)
- 16. 巨大的python稀疏矩陣
- 17. 98%稀疏矩陣的矩陣完成
- 18. Matlab的稀疏svd函數
- 19. 稀疏矩陣的劃分
- 20. Python稀疏矩陣非零值交點
- 21. python如何反轉稀疏矩陣
- 22. Python - 將稀疏矩陣轉換爲JSON
- 23. R矩陣包:Demean稀疏矩陣
- 24. 稀疏矩陣 - 矩陣乘法
- 25. 稀疏矩陣子集密集矩陣
- 26. 組合矩陣和稀疏矩陣
- 27. 在Python中連接零矩陣和稀疏矩陣
- 28. 連續稀疏矩陣Eigen
- 29. 反相稀疏矩陣
- 30. 稀疏矩陣內存
看來你的運氣了,不得不換一個Fortran庫如PROPACK自己。或者要求Scipy開發人員在即將推出的版本中添加基於PROPACK的SVD。 – Philipp 2010-07-13 07:16:14
還有SVDPACK庫,它有C和C++版本/接口。 – Philipp 2010-07-13 07:24:26