我讨厌在没有包含代码和数据的独立示例的情况下发布此内容,但我无法始终如一地重现自己的问题,我想知道是否有人可以提供帮助。
我正在尝试使用sklearn的GaussianNB
类。使用训练数据训练模型后,我尝试查看分数并检索实际预测。但是,当我运行这些时,即使我不在两者之间运行fit
,分数和预测也会不断变化。以下是大致的工作流程:
from sklearn.naive_bayes import GaussianNB
gnb = GaussianNB()
classified = gnb.fit(training_data_features,training_data_results)
classified.score(test_data_features,test_data_results)
classified.predict(test_data_features)
我做错了什么致命的事情吗?有什么我应该注意的陷阱吗?
谢谢!
简而言之,不,得分和预测不适合。
http://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.GaussianNB.html
可能发生的情况是,您的数据集太小或太接近,并且您的大多数示例都位于两个高斯分布之间的模糊区域中,因此当您运行测试数据时,有时它落在一个分布中,而另一些则落在另一个分布中。
您正在使用的数据集是什么?