【发布时间】:2021-05-22 02:03:52
【问题描述】:
我正在为我的数据挖掘课程研究朴素贝叶斯分类器算法,但是在计算概率时遇到了下溢问题。特定的数据集有大约 305 个属性,所以你可以想象,最终的概率会非常低。如何避免这个问题?
【问题讨论】:
标签: classification probability data-mining naivebayes probability-distribution
我正在为我的数据挖掘课程研究朴素贝叶斯分类器算法,但是在计算概率时遇到了下溢问题。特定的数据集有大约 305 个属性,所以你可以想象,最终的概率会非常低。如何避免这个问题?
【问题讨论】:
标签: classification probability data-mining naivebayes probability-distribution
一种方法是处理概率的对数而不是概率本身。这个想法是你永远不要用概率计算,因为担心你会得到 0.0,而是用对数概率计算。
大多数更改都很简单:例如,不是乘以概率,而是添加对数,对于许多分布(例如高斯),计算对数概率而不是概率很容易。
唯一有点棘手的地方是您是否需要将概率相加。但这是一个众所周知的问题,搜索logsumexp 会得到很多点击,例如here。我相信有一个logsumexp函数int scipy。
【讨论】: