CountVectorizer: AttributeError: 'numpy.ndarray' objet n'a pas d'attribut "inférieure"

J'ai un tableau à une dimension avec de grandes chaînes de chacun des éléments. Je suis en train d'utiliser un CountVectorizer pour convertir des données de texte dans des vecteurs. Cependant, je reçois un message d'erreur indiquant:

AttributeError: 'numpy.ndarray' object has no attribute 'lower'

mealarray contient de grandes chaînes de chacun des éléments. Il y a 5000 de tels échantillons. Je suis en train de vectoriser ce comme indiqué ci-dessous:

vectorizer = CountVectorizer(
    stop_words='english',
    ngram_range=(1, 1),  #ngram_range=(1, 1) is the default
    dtype='double',
)
data = vectorizer.fit_transform(mealarray)

La pleine stacktrace :

File "/Library/Python/2.7/site-packages/sklearn/feature_extraction/text.py", line 817, in fit_transform
    self.fixed_vocabulary_)
  File "/Library/Python/2.7/site-packages/sklearn/feature_extraction/text.py", line 748, in _count_vocab
    for feature in analyze(doc):
  File "/Library/Python/2.7/site-packages/sklearn/feature_extraction/text.py", line 234, in <lambda>
    tokenize(preprocess(self.decode(doc))), stop_words)
  File "/Library/Python/2.7/site-packages/sklearn/feature_extraction/text.py", line 200, in <lambda>
    return lambda x: strip_accents(x.lower())
AttributeError: 'numpy.ndarray' object has no attribute 'lower'
Quelqu'un (sans avoir la totalité de la trace de pile, il est difficile de dire qui, scikit ou Numpy) est d'essayer de traiter un tableau Numpy comme une chaîne de caractères ("FOO".lower() retourne "foo"). Êtes-vous sûr mealarray'contenu sont des chaînes de caractères, ou que CountVectorizer veut un tableau de chaînes de caractères?
juste ajouté plein de trace de pile à la question !

OriginalL'auteur ashu | 2014-10-14

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *