我正在像这样在sklearn中运行MultinomialNB之前标准化我的文本输入:
vectorizer = TfidfVectorizer(max_df=0.5, stop_words='english', use_idf=True)
lsa = TruncatedSVD(n_components=100)
mnb = MultinomialNB(alpha=0.01)
train_text = vectorizer.fit_transform(raw_text_train)
train_text = lsa.fit_transform(train_text)
train_text = Normalizer(copy=False).fit_transform(train_text)
mnb.fit(train_text, train_labels)
Run Code Online (Sandbox Code Playgroud)
不幸的是,MultinomialNB不接受在LSA阶段创建的非负值。有什么解决办法吗?