我正在使用Swift (即使我的问题不是关于语言)和Python来测试我的ML逻辑。我有训练数据:
("add a new balloon", "add-balloon")
("add a balloon", "add-balloon")
("get last balloon", "get-balloon")
("update balloon color to red", "update-balloon")当我尝试使用朴素贝叶斯对新句子进行分类时,比如
classify("could you add a new balloon")
// Return add-balloon
classify("could you update the balloon color")
// Return add-balloon
classify("update the balloon color")
// Return add-balloon我的数据集有很多关于添加气球的观察结果(大约50个),但没有太多需要更新或获取的(大约5-6个)。朴素贝叶斯对训练观察的数量敏感吗?我不明白为什么即使给出一个在训练过程中看到的句子,分类效果也不是很好。
发布于 2017-03-15 01:37:49
朴素贝叶斯对类先验(示例在类中的分布)很敏感。因此,如果你有比其他类别多得多的add-balloon,它就会偏向这个类。这通常是有帮助的,因为假设你什么都不知道(没有后验信息),你最好的选择是尝试最有可能的类。
如果您的分布严重倾斜,您的数据集并不大,您的文档很短或缺少信息性很强的单词(或包含许多模棱两可的单词),但这可能会导致不希望看到的结果,比如您正在报告的内容。
https://stackoverflow.com/questions/42791002
复制相似问题