X_train1
は実際にはスクリーンショットのフォーマットに基づいて、パンダのデータフレームです。問題は、Description
が単語リスト(おそらく長さが等しくない)の列であることです。このような何か:
X = np.array([['alpha','beta'],['theta','theta','gamma'],['delta','delta']])
X_train1 = pd.DataFrame(X, columns=["Description"])
X_train1
Description
0 [alpha, beta]
1 [theta, theta, gamma]
2 [delta, delta]
X_train1.shape # (3,1)
ですから、(形状(nrow, 1)
付き)単語のリストの10,000行を持っています。
CountVectorizer
(sklearn
クラスを使用していると仮定します)は、一連のドキュメントを取ります。 CountVectorizer
:documentationからトークンの行列にテキスト文書のコレクションを変換し、
具体的 をカウントfit()
に引数の定義を考えてみます。
raw_documentsを:str、unicode、またはファイルオブジェクトを生成するiterable。
X_train1
を試してみると、予想される入力が得られません。文字列のリストオブジェクトを含む列を含むデータフレームを渡しています。あなたはそれを行う奇妙な出力を期待する必要があります。
X_train1
の各行は、文書を表すと仮定すると、次にCountVectorizer
に渡し、各行の単語リストに参加してみてください:
X = X_train1.Description.apply(lambda row: ' '.join(row))
ctvec = CountVectorizer()
ctvec.fit_transform(X) # combine fit(X) and transform(X)
出力:
<3x5 sparse matrix of type '<class 'numpy.int64'>'
with 5 stored elements in Compressed Sparse Row format>
この出力は、に沿って複数あります意図された入力。
'X_train1'から数行を表示してください。 –
私は質問を編集し、X_train1 @andrew_reeceのサンプルを追加しました – Chhitij
'X_train1'は列' Description'を持つPandasデータフレームのようです。あれは正しいですか? –