k-近邻算法和决策树分类器有时会产生错误结果,这是可以要求分类器给出一个最优的类别猜测结果,同时给出这个猜测的概率估计值
概率论是许多机器学习算法的基础,所以深刻理解这一主题就非常重要。有一些使用概率论进行分类的方法。首先是从一个最简单的概率分类器开始,然后给出一些假设来学习朴素贝叶斯分类器,我们之所以称之为“朴素”,是因为整个形式化过程只做最原始、最简单的假设。
朴素贝叶斯的优缺点:
优点:在数据较少的情况下仍然有效,可以处理多类别问题。
缺点:对于输入数据的准备方式较为敏感。
适用数据类型:标称型数据。
朴素贝叶斯是贝叶斯决策理论的一部分。
假设我们有一个数据集,它由两类数据组成。数据分布如下:
我们现在使用p1(x,y)表示数据点(x,y)属于类别1(蓝色)的概率,用p2(x,y)表示数据点(x,y)属于类别1(橘色)的概率,那么对于一个新数据点(x,y),可以用下面的规则来判断它的类别:
1、如果p1(x,y)>p2(x,y),那么类别为1
2、如果p1(x,y)<p2(x,y),那么类别为2
也就是说,我们会选择高概率对应的类别。这就是贝叶斯决策理论的核心思想,即选择具有最高概率的决策。在上图中,如果该图中的整个数据使用6个浮点数来表示,那么计算类别概率的Python代码只有两行,有以下方法:
1、使用kNN,进行1000次距离计算
2、使用决策树,分别延x轴、y轴划分数据
3、计算数据点属于每个类别的概率,并进行比较
其中使用决策树不会非常成功,而和简单的概率计算相比,kNN的计算量非常大。因此,最佳选择还是使用概率比较方法。