数据挖掘十大算法(一)------朴素贝叶斯算法

一、朴素贝叶斯

二、决策树

三、逻辑(Logistic)回归

四、线性回归

五、KNN算法(最邻近算法)

六、SVM

七:聚类算法

八:Apriori算法(频繁项挖掘算法)

九:EM(最大期望算法)

十:分类回归算法

朴素贝叶斯算法

一、贝叶斯算法归属于分类算法

贝叶斯分类是一类算法的总称,这类算法均已贝叶斯定理为基础。故统称为贝叶斯分类。

朴素贝叶斯分类是贝叶斯分类中最简单、最常见的一种分类方法。

分类的定义:已知集合,确定映射规则y = f(x),使得任意有且仅有一个,使得成立,其中C为类别集合,y1,y2...为类别(归属于哪一类),I 为特征集合,x1,x2为待分类项,f 为分类器。总结:将待分类的x1,x2 通过  f 分类器,将他们归属到y1,y2的类别中

分类算法的核心就是构造分类器 f ,可以使得很好的分类,错误率低。

二、朴素贝叶斯算法

①贝叶斯公式:

数据挖掘十大算法(一)------朴素贝叶斯算法_第1张图片

 转化一下

 具体来说就是统计每一种可能的概率,概率越大,所被划分为该类别越大

用个例题来说明

由4个特征,来推断该女子是否嫁给该男生

实质比较 P(嫁|不帅、性格不好、矮、不上进)P(不嫁|不帅、性格不好、矮、不上进) 的概率,最终选择嫁与不嫁的答案

运用贝叶斯公式(不会求就百度)求得概率,P(不嫁|不帅、性格不好、矮、不上进) > P(嫁|不帅、性格不好、矮、不上进)

所以该女子选择不嫁

三、朴素贝叶斯的优缺点

优点:①、算法逻辑简单、易于实现。(使用贝叶斯算法公式即可)

           ②、分类过程时间、空间开销小(若特征相互独立,则只涉及二维存储。)

缺点:朴素贝叶斯算法更适合在各属性之间相互独立的情况中使用,但在实际过程中往往是不成立的。属性之间相关性越大,分类误差也就越大

四、朴素贝叶斯实战

朴素贝叶斯实际应用场景

  • 文本分类
  • 垃圾邮件过滤
  • 病人分类
  • 拼写检查
  • ......

 

python中的sklearn库有3种不同类型的朴素贝叶斯:

  • 高斯分布型:用于分类(classification)问题,假定 属性/特征 服从正态分布。
  • 多项式型:用于离散值模型。比如文本分类问题里面我们提到过,我们不光看词语是否在文本中出现,也得看出现次数。如果总词数为n,出现词数为m的话,有点像掷骰子n次出现m次这个词的场景。
  • 伯努利型:要求特征是离散的,且为布尔类型,即true和false,或者1和0,最后得到的特征只有0(没出现)和1(出现过)

后期有需要再补充

参考博客:https://blog.csdn.net/fisherming/article/details/79509025

你可能感兴趣的:(算法分析)