我们正在实现的代码是
from NaiveBayes import Poolimport osDClasses = ["python", "java", "hadoop", "django", "datascience", "php"]base = "learn/"p = Pool()for i in DClasses: p.learn(base + i, i)base = "test/"for i in DClasses: dir = os.listdir(base + i) for file in dir: res = p.Probability(base + i + "/" + file) print(i + ": " + file + ": " + str(res))
但是我们遇到了类似于未找到NaiveBayes模块的错误。
---------------------------------------------------------------------------ModuleNotFoundError Traceback (most recent call last)<ipython-input-21-30788f518a4c> in <module>()----> 1 from NaiveBayes import Pool 2 import os 3 4 DClasses = ["python", "java", "hadoop", "django", "datascience", "php"] 5 ModuleNotFoundError: No module named 'NaiveBayes'
请帮助解决此错误。谢谢。
回答:
代码似乎并非来自scikit-learn的朴素贝叶斯算法,无论如何,这些算法没有Pool
属性或方法。
看起来您正在尝试使用另一个NaiveBayes库,在这种情况下,您的导入语句应该是
from NaiveBayes.Pool import Pool
如示例中所示。但是错误信息表明您尚未安装它;请尝试在shell中执行
git clone https://github.com/yveskaufmann/Naive-Bayes
在当前目录下(另请参阅克隆Github仓库的文档)。