1.朴素贝叶斯算法简介
最前面的一句话:朴素贝叶斯算法基于贝叶斯公式和样本的每个特征之间是相互独立的。1.1数学中理解
数学基础是贝叶斯公式:
可以这么理解这个公式:如果知道A和B事件的单独发生概率,只要知道了以下任意一个事件的概率,就可以求出来另外一个事件的发生概率:
1)发生事件A的前提下,发生事件B的概率,即P(B|A)
2)发生事件B的前提下,发生事件A的概率,即P(A|B)
1.2样本数据集中理解
使用以下相亲样本数据集来讲解朴素贝叶斯算法,假设有以下相亲样本数据集:
features=['looks', 'credit', 'height', 'education']
#特征looks(相貌)的特征值范围 'nice', 'ugly'
#特征credit(名声)的特征值范围 'bad', 'good'
#特征height(身高)的特征值范围'S','H','M',S代表Short, H代表High, M代表Middle
#特征education(学历)的特征值范围'low','high'
#特征值=['nice','ugly','bad','good','S','H','M','low','high']
#标签取值范围['yes','no'], yes表示女生接受男生,no表示女生不接受男生
samples=[['nice', 'bad', 'S', 'low', 'no'],
['ugly', 'good', 'S', 'high', 'no'],
['nice', 'good', 'S', 'high', 'yes'],
['ugly', 'good', 'H', 'high', 'yes'],
['nice', 'bad', 'S', 'high', 'no'],
['nice', 'bad', 'S', 'high', 'no'],
['nice', 'good', 'H', 'low', 'yes'],
['ugly', 'good', 'M', 'high', 'yes'],
['nice', 'good', 'M', 'high', 'yes'],
['ugly', 'bad', 'H', 'high', 'yes'],
['nice', 'good', 'S', 'low', 'no'],
['nice', 'good', 'S', 'low', 'no']]
上面是贝