关于朴素贝叶斯的代码实现
朴素贝叶斯分类算法
一.贝叶斯分类的原理
贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。也就是说,贝叶斯分类器是最小错误率意义上的优化。
贝叶斯分类器是用于分类的贝叶斯网络。该网络中应包含类结点C,其中C 的取值来自于类集合( c1 , c2 , ... , cm),还包含一组结点X = ( X1 , X2 , ... , Xn),表示用于分类的特征。对于贝叶斯网络分类器,若某一待分类的样本D,其分类特征值为x = ( x1 , x2 , ... , x n) ,则样本D 属于类别ci 的概率P( C = ci | X1 = x1 , X2 = x 2 , ... , Xn = x n) ,( i = 1 ,2 , ... , m) 应满足下式:
P( C = ci | X = x) = Max{ P( C = c1 | X = x) , P( C = c2 | X = x ) , ... , P( C = cm | X = x ) }
贝叶斯公式:
P( C = ci | X = x) = P( X = x | C = ci) * P( C = ci) / P( X = x) 其中,P( C = ci) 可由领域专家的经验得到,而P( X = x | C = ci) 和P( X = x) 的计算则较困难。
二.贝叶斯伪代码
整个算法可以分为两个部分,“建立模型”与“进行预测”,其建立模型的伪代码如下:
numAttrValues 等简单的数据从本地数据结构中直接读取 构建几个关键的计数表
for(为每一个实例) {
for( 每个属性 ){
为 numClassAndAttr 中当前类,当前属性,当前取值的单元加 1 为 attFrequencies 中当前取值单元加 1
}
}
预测的伪代码如下:
for(每一个类别){
for(对每个属性 xj){
for(对每个属性 xi){
多项式模型(MM)和伯努利模型(BM),实现了可运行的代码,并进行了 一些数据测试。...第 2 章 朴素贝叶斯文本分类算法现在开始进入本文的主旨部分:如何将贝叶斯分类器...
实验中, 朴素贝叶斯分类算法串行实现软件采[10 ] 它集 用的是新西兰怀卡托大学开源数据挖掘工具 Weka , 成了数据挖掘的大部分算法, 且被学术界广泛使用, 但文献...
例如, 在某种假定下, 可以证明正如朴素贝叶斯分类一样, 许多神经网络和曲线拟合算法输出最大 的后验假定。 七、Batyes 程序 decision=attribute(X,n); %提取决策...
基于朴素贝叶斯分类算法实现 暂无评价0人阅读0次下载举报文档 实现了基于朴素...
朴素贝叶斯分类算法研究_专业资料。分类算法研究是机器学习和人工智能的一个重要领域,本文介绍了朴素贝叶斯分类器及其扩展和优化方法(NB、TAN和SNB),使用国际通用人工...
Jo u a rn l 》 lica 用应 App 机算 uter 计《 Comp of t n io s Jo u a rn l 》 lica 用应 App 机算 uter 计《 Comp of t n io s Jo ...
一种新型朴素贝叶斯文本分类算法_互联网_IT/计算机_专业资料 暂无评价
本研究旨在自主开发出一套基于贝叶斯理论的分类的算法程序,并结合实际应用, 研究算法性能,并解决实际问题. 二、主要设计内容 朴素贝叶斯分类算法的研究及应用重点体现...
基于属性相关的朴素贝叶斯分类算法_数学_自然科学_专业资料 暂无评价
通过计算条件属性和决策属性之间的相关系数 ,对不同的条件属 性赋予不同的权重 ,从而在保持简单性的基础上有效地提高了朴素贝叶斯算法的分类性能 ? 首先给出了基于...
热门文档