Я получаю ошибку isnan при слиянии двух счетчиков - PullRequest
0 голосов
/ 19 мая 2019

Я собираюсь классифицировать текст на диалекте, и у меня есть этот код:

from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer

vectorizerN = CountVectorizer(analyzer='char',ngram_range=(3,4))
XN = vectorizerN.fit_transform(X_train)

vectorizerMX = CountVectorizer(vocabulary=a['vocabs'])
MX = vectorizerMX.fit_transform(X_train)

from sklearn.pipeline import FeatureUnion
combined_features = FeatureUnion([('CountVectorizer', MX),('CountVect', XN)])
combined_features.transform(test_data)

Когда я запускаю этот код, я получаю эту ошибку:

TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

Я следовал за кодом вэтот пост: Слияние CountVectorizer с извлечением функций Scikit-Learn

Кроме того, как я могу тренироваться и прогнозировать впоследствии?

1 Ответ

1 голос
/ 19 мая 2019

Вы должны объединить vectorizerN и vectorizerMX, а не MX и XN. Измените строку на

combined_features = FeatureUnion([('CountVectorizer', vectorizerMX), ('CountVect', vectorizerN)])
...