gpt4 book ai didi

python - Hashingvectorizer 和多项式朴素贝叶斯不能一起工作

转载 作者:太空宇宙 更新时间:2023-11-04 03:15:28 24 4
gpt4 key购买 nike

我正在尝试在 python 2.7 中使用 Scikit-learn 编写一个 Twitter 情绪分析程序。操作系统是 Linux Ubuntu 14.04。

在矢量化步骤中,我想使用Hashingvectorizer()。为了测试分类器的准确性,它可以与 LinearSVCNuSVCGaussianNBBernoulliNBLogisticRegression< 一起正常工作 分类器,但对于 MultinomialNB,它返回此错误

Traceback (most recent call last):
File "/media/test.py", line 310, in <module>
classifier_rbf.fit(train_vectors, y_trainTweets)
File "/home/.local/lib/python2.7/site-packages/sklearn/naive_bayes.py", line 552, in fit
self._count(X, Y)
File "/home/.local/lib/python2.7/site-packages/sklearn/naive_bayes.py", line 655, in _count
raise ValueError("Input X must be non-negative")
ValueError: Input X must be non-negative
[Finished in 16.4s with exit code 1]

这是与此错误相关的 block 代码

vectorizer = HashingVectorizer()
train_vectors = vectorizer.fit_transform(x_trainTweets)
test_vectors = vectorizer.transform(x_testTweets)

classifier_rbf = MultinomialNB()
classifier_rbf.fit(train_vectors, y_trainTweets)
prediction_rbf = classifier_rbf.predict(test_vectors)

为什么会这样,我该如何解决?

最佳答案

如果 non_negative 参数不可用(就像我的版本一样)

尝试放置: 向量化器 = HashingVectorizer(alternate_sign=False)

关于python - Hashingvectorizer 和多项式朴素贝叶斯不能一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36456518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com