【JAVA实现】朴素贝叶斯分类算法

数据挖掘—朴素贝叶斯分类算法(Java实现) 算法描述 (1)扫描训练样本数据集,分别统计训练集中类别 Ci 的个数 Di 和属于类别Ci 的样本中属性Ak取值Xk为 Dik 的实例样本个数,构成统计表; (2)计算先验概率和条件概率,构成概率表; (3)构建分类模型; (4)扫描待分类的样本数据集,调用已得到的统计表、概率表以及构建好的分类准则,得出分类结果; 代码 public class Bayes { //将训练集按巡逻集合的最后一个值进行分类 Map<String, ArrayList<ArrayList 阅读详情

       之前博客提到的KNN算法以及决策树算法都是要求分类器给出“该数据实例属于哪一类”这类问题的明确答案,正因为如此,才出现了使用决策树分类时,有时无法判定某一测试实例属于哪一类别。使用朴素贝叶斯算法则可以避免这个问题,它给出了这个实例属于某一类别的概率值,然后通过比较概率值,可以找到该实例最有可能属于哪一类别。

       该算法可以用如下形式表示:


       直接求解概率值很困难,因此我们可以通过下列式子进行变化。


       因为分母对于所有类别都是固定值,所以我们只要求能使得分子最大化的类别即可。又因为朴素贝叶斯假设各特征属性条件独立,所以有:


       朴素贝叶斯分类器通常有两种实现方式:一种基于贝努利模型实现,一种基于多项式模型实现。贝努利实现方式也称“词集模型”,其不考虑词在文档中出现的次数,只考虑出不出现,因此在这个意义上相当于假设词是等权重的。而多项式模型也称“词袋模型”,它考虑词在文档中的出现次数。本文采用的是多项式模型。

       这次的案例使用的是使用朴素贝叶斯过滤垃圾邮件。训练集如下所示:


       第一个文件夹下放的是25篇正常的纯文本邮件,第二个文件夹放的是25篇纯文本垃圾邮件。

       首先是邮件内容的封装。

package naivebayesian;

import java.util.List;

public class Email {
	
	private List<String> wordList;
	private int flag;
	
	public int getFlag() {
		return flag;
	}
	public void setFlag(int flag) {
		this.flag = flag;
	}
	public List<String> getWordList() {
		return wordList;
	}
	public void setWordList(List<String> wordList) {
		this.wordList = 
机器学习-朴素贝叶斯分类算法(java,判断西瓜好坏案例) 概率论和高中数学都学习过贝叶斯公式来计算条件概率,A发生下B发送的概率这种题,比较熟悉。朴素贝叶斯分类算法或许和这个有点关系吧… 原文链接 1、贝叶斯原理 “逆向概率”:相对“正向概率”而言,正向概率就像是一个袋子各种颜色球然后摸求概率这种问题,上帝视角解决问题。而大多数我们需要解决的问题确不能在上帝视角解决的。于是贝叶斯提出这样一个问题:不知道袋中白球和黑球的个数,而是通过摸出球的颜色来判断带中白球和黑球个数的比例 贝叶斯公式 P(A|B) = (P(B|A) * P(A))/ P(B) 2、朴素贝叶. 阅读详情

相关推荐

朴素贝叶斯算法Java实现

一、构造分类器

Amy的专栏 1454

Java代码利用朴素贝叶斯分类算法实现信息分类

贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯(Naïve Bayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算法能运用到大型数据库中,而且方法简单、分类准确率高、速度快。由于贝叶斯定理假设一个属性值对给定类的影响独立于其它属性的值,而此假设在实际情况中经常是不成立的,因此其分类准确率可能会下降。为此,就衍生出许多降低独立性假设的贝叶斯分类算法,如TAN(tree augmented Bayes network)算法。那么既然是朴素贝叶斯

洛阳泰山的博客 1829

java实现朴素贝叶斯分类算法

java实现朴素贝叶斯分类算法

STM32 野火MINI 用FontCvtST.exe 生成.c文件 写汉字到文本框 按钮上

STM32 野火MINI 用FontCvtST.exe 生成.c文件 写汉字到文本框 按钮上 参考了好多大神博客,自己写的过程中发现,还有些小细节。 一、打开Notepad写需要的字 另存为 UTF-16LE 也就是Unicode。 二、打开FontCvtST转 删掉所有字 读入test.txt里的字 选择刚才的test.txt 另存为.c文件 改个英文名 复制到RTOS的例程文件夹下 三、打开GUIBuilder 画一个这样的 保存之前要注意路径配置要在当前位置,否则存不上 生成的D

weixin_41376117的博客 1935

STM32L051低功耗模式下LPUART的使用

STM32L0系列低功耗UART配置代码清单及注释,大家可参考学习使用。

嵌入式工程师 2104

Ferry工单平台部署

ferry工单平台部署

运维求生之路 1897

一文详解心电图(ECG)监测原理

介绍心电图的监测原理,从心电信号产生、获取到心电图的基本组成

m0_50146396的博客 3290

Camera AF和FF

Camera按对焦功能可以分为FF(Fixed Focus)和AF(Auto Focus),即固定对焦和自动对焦。固定对焦顾名思义就是焦距是固定的,而自动对焦可以通过移动镜头位置来改变焦距从而实现自动对焦。以前摄像的功能机大多是固定对焦,现在的手机都带有自动对焦功能。 FF模组包括镜头(Lens),传感器(Sensor),红外滤色器(IR Filter),电路板(PCB),镜头支撑(Lens Holder),连接器(Connector)。 Fig 1. FF Module AF模组包括FF模组,音圈马达(V

Coppa的博客 1万+

接地设计的本质:按电流类型选择物理连接方式

接地是电子系统中实现电位参考、噪声抑制与安全保护的基础技术,其核心原理在于为不同性质的电流提供可控的低阻抗返回路径。从直流到GHz频段,电流的频率特性、能量等级和持续时间决定了接地的物理实现方式——工频安全电流依赖低电阻导体,高频噪声需低感平面或磁珠衰减,ESD脉冲要求受控泄放电阻,浪涌能量则必须通过独立短路径导入大地。这种‘目的决定方式’的设计逻辑,直接关联EMC合规性、信号完整性与系统可靠性。本文聚焦PCB级与设备级工程实践,详解安全地、功能地、浪涌地与静电地的判据差异及六种典型连接策略,帮助硬件工程师

weixin_36369848的博客 260

补丁1.0:使用Eviews做ADF检验

补丁1.0:使用Eviews做ADF检验

Jet4505的博客 1961

Unity如何实现3D物体拆解组装

最近有一个需求,是做一个发动机的拆卸和安装功能,其实是一个很简单的功能,但是其中有一个点我觉的非常有意思,就是拖拽组装时,物体如何精准拖到目标位置,思路有了,但是我一直找不到实现方式,早晨刷牙时无意间想到了叉乘,我才有了解决方案。就凭这一次的灵光乍现,也很有必要写篇博客来记录一下。首先,我们先来看下我们要实现的效果,就是对一个发动机(任意多组件物体,如:车)的360°预览查看,手动拖拽拆解,手动拖拽组装。360°旋转视角远近拉伸视角点击拖拽拆卸拖拽组装。

TxNet 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: 2014-2015学年大三上半学期总结,下学期展望
下一篇: 【JAVA实现】用Logistic回归进行分类
C_son
博客等级 码龄12年 70粉丝 20原创
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值