web-dev-qa-db-ja.com

未加工のテキストドキュメントで反復可能、文字列オブジェクトを受信

this link。 で言及されているように、私は現在、単純なベイズ分類器を構築しようとしています。

_X_new_tfidf = tfidf_transformer.transform(X_new_counts)
_

_Training the Classifier_小見出しの下に、変換関数への入力としてiterableを使用するコードにX_new_counts = count_vect.transform(input.plot_movie)という同様の行がありました。 inputはDataFrameからのレコードであり、タイプ_pd.Series_であり、以下のエントリを含みます。これらのエントリから、変換関数への入力として_input.plot_movie_を送信します。

enter image description here

ただし、次のエラーが表示されます:_Iterable over raw text documents expected, string object received_

このエラーを修正するにはどうすればよいですか?また、 this answerを参照しました。この場合、sは文字列が割り当てられているため反復可能であると人は言います。また、 このリンク に遭遇しました。ここで_TypeError: 'String' object is not iterable_が見つかります。ここに何かが足りませんか?リンクは互いに矛盾しているようです。

EDIT:_input.plot_movie_がUnicode型であることに気づき、それを文字列に変換することにしました。同じエラーが再び発生します。

12
thegreatcoder

この問題の解決策は、入力が単なる文字列であるためですが、必要なのは、単一の要素(文字列以外の何物でもない)を含むリスト(または反復可能)であるということです。

このエラーは、次の行を追加することで削除できます。

input=[input]

X_new_counts = count_vect.transform(input.plot_movie)
23
thegreatcoder