の列(列方向)としてそのリストを追加する方法
nb.fit(X_train, y_train)
ValueError: setting an array element with a sequence.
ために、次のエラーが発生します。私達はちょうど列ベクトル(スパース行列の用語でいえば)または単一列を持つ2次元配列にリストを変換する必要がある -
scipy.sparse.hstack((tweets, csr_matrix(lex).T))
scipy.sparse.hstack((tweets, np.asarray(lex)[:,None]))
サンプル実行 -
In [189]: from scipy.sparse import csr_matrix
In [194]: import scipy as sp
In [190]: a = np.random.randint(0,4,(5,10))
In [192]: a
Out[192]:
array([[2, 1, 1, 1, 0, 3, 1, 3, 2, 1],
[0, 2, 1, 2, 3, 0, 1, 1, 2, 3],
[0, 1, 1, 1, 2, 3, 0, 1, 0, 1],
[0, 0, 3, 0, 3, 0, 1, 0, 3, 1],
[1, 0, 2, 3, 3, 3, 2, 2, 0, 1]])
In [193]: b = [9,8,7,6,5] # equivalent to lex
In [191]: A = csr_matrix(a) # equivalent to tweets
In [195]: sp.sparse.hstack((A, csr_matrix(b).T))
Out[195]:
<5x11 sparse matrix of type '<type 'numpy.int64'>'
with 42 stored elements in COOrdinate format>
In [197]: _.toarray() # verify values by converting to dense array
Out[197]:
array([[2, 1, 1, 1, 0, 3, 1, 3, 2, 1, 9],
[0, 2, 1, 2, 3, 0, 1, 1, 2, 3, 8],
[0, 1, 1, 1, 2, 3, 0, 1, 0, 1, 7],
[0, 0, 3, 0, 3, 0, 1, 0, 3, 1, 6],
[1, 0, 2, 3, 3, 3, 2, 2, 0, 1, 5]])
お読みください[尋ねる]と[mcve]を与える。現在のところ、私はあなたが求めていることを伝えることさえできません。 –
なぜあなたは 'list(つぶやき)'をしますか? – Divakar
'np.asarray(mylist)'を使用してリストを配列に変換してから、処理を進めてください。 –