J'essaie actuellement de construire un classifieur naïf de Bayes comme mentionné dans ce lien. En référence à la ligne
X_new_tfidf = tfidf_transformer.transform(X_new_counts)
sous la sous-rubrique Training the Classifier
, j'avais dans mon code une ligne similaire, X_new_counts = count_vect.transform(input.plot_movie)
, qui devrait prendre une valeur itérable en tant qu'entrée de la fonction de transformation. Le input
est un enregistrement d'un DataFrame de type pd.Series
Et contient les entrées suivantes, parmi lesquelles j'envoie input.plot_movie
Comme entrée de la fonction de transformation:
Cependant, j'obtiens l'erreur suivante: Iterable over raw text documents expected, string object received
Comment puis-je corriger cette erreur? J'ai également fait référence à this answer où la personne dit que s
est une variable, car une chaîne lui a été attribuée. Je suis aussi tombé sur ce lien où un TypeError: 'String' object is not iterable
Est rencontré. Est-ce que j'ai râté quelque chose? Les liens semblent se contredire.
EDIT: Je viens de me rendre compte que input.plot_movie
Est de type unicode et j'ai décidé de le convertir en chaîne. Je rencontre à nouveau la même erreur.
La solution à ce problème est que l'entrée est simplement une chaîne, mais que vous avez besoin d'une liste (ou d'une liste itérable) contenant un seul élément (qui n'est rien d'autre que la chaîne elle-même).
L'erreur peut être supprimée en ajoutant la ligne suivante:
input=[input]
avant
X_new_counts = count_vect.transform(input.plot_movie)