2
我有一個像sframe:sFrame到scipy.sparse csr_matrix
x = sf.SFrame({'users': [{'123': 1.0, '122': 5},
{'134': 3.0, '123': 10}]})
我想轉換成scipy.sparse csr_matrix而不調用graphlab創建,但只使用sframe和Python。
怎麼辦呢?
我有一個像sframe:sFrame到scipy.sparse csr_matrix
x = sf.SFrame({'users': [{'123': 1.0, '122': 5},
{'134': 3.0, '123': 10}]})
我想轉換成scipy.sparse csr_matrix而不調用graphlab創建,但只使用sframe和Python。
怎麼辦呢?
假設您希望行號是輸出稀疏矩陣中的行索引,唯一棘手的步驟是使用SFrame.stack
- 從那裏您應該可以直接構建csr_matrix
。
import sframe as sf
from scipy.sparse import csr_matrix
x = sf.SFrame({'users': [{'123': 1.0, '122': 5},
{'134': 3.0, '123': 10}]})
x = x.add_row_number('row_id')
x = x.stack('users')
A = csr_matrix((x['X3'], (x['row_id'], x['X2'])),
shape=(2, 135))
我也在這裏硬編碼矩陣的維度,但這可能是你想要編程的東西。
謝謝。這很有幫助。但是,我仍然有一些問題。我有一個user_len = 1444418322. 但是,以下沒有在Ubuntu的服務器上的Python工作。 (df_temp ['Total'],(df_temp ['ClusterId'],df_temp ['UserId'])),shape =(100,users_len + 1)) 但是它在redhat C3集羣上工作正常。 我認爲它可能與python的64設置或sklearn等一些不正確版本的庫有關。 請指教。 – dvshekar