机器学习实战-边学边读python代码(5)
def classifyNB(vec2Classify, p0Vec, p1Vec, pClass1):
p1 = sum(vec2Classify * p1Vec) + log(pClass1)
p0 = sum(vec2Classify * p0Vec) + log(1.0 - pClass1)
if p1 > p0:
return 1
else:
return 0
注意:
p1Vect = log(p1Num/p1Denom)
p0Vect = log(p0Num/p0Denom)
>>> p0V
array([ 0.04166667, 0.04166667, 0.04166667, 0. , 0. ,
.
.
0.04166667, 0. , 0.04166667, 0. , 0.04166667,
0.04166667, 0.125 ])
>>> p1V
array([ 0. , 0. , 0. , 0.05263158, 0.05263158,
.
.
0. , 0.15789474, 0. , 0.05263158, 0. ,
0. , 0. ])
p(w0,w1,w2..wN|ci) = p(w0|ci)p(w1|ci)p(w2|ci)...p(wN|ci),
在本例中,ci分为侮辱性和非侮辱性两个类别,而w0,w1,w2..wN为单词向量(文档中所有单词的汇总),p0V和p1V是由训练文档计算出来的,如果文档为侮辱性文档,统计文档中各个词语在单词向量中出现情况,计算出概率向量p0V,同样计算出p1V.
贝叶斯定理如下:
p(ci|w)
= p(w|ci)p(ci)/p(w)
=p(w0,w1,w2..wN|ci)p(ci)/p(w)
=p(w0|ci)p(w1|ci)p(w2|ci)..p(wN|ci)p(ci)/p(w)
计算一个特定的文档w属于c0(侮辱性文档)或者c1(非侮辱性文档),统计这篇文档中各个单词在两个不同类别中的出现概率,由贝叶斯公式进行量化,也就是把特定文档中的每个单词在p0V或者p1V中找到对应的单词概率,把这些概率相乘,即p(w0|ci)p(w1|ci)p(w2|ci)..p(wN|ci),再乘以p(ci),最后的结果得出两个概率值,概率大的即为特定文档最后的类别。
机器学习实战-边学边读python代码(5)的更多相关文章
- 机器学习实战-边学边读python代码(4)
程序2-4 分类器针对约会网站的测试代码(4) def datingClassTest():hoRatio = 0.10 //将文件读入内存矩阵datingDataMat,datingLabels = ...
- 机器学习实战-边学边读python代码(3)
程序清单2-3 归一化特征值: def autoNorm(dataSet): /* >>> barray([[ 1., 2., 3.], [ 2., 3., 4.], [ 10., ...
- 《机器学习实战》之一:knn(python代码)
数据 标称型和数值型 算法 归一化处理:防止数值较大的特征对距离产生较大影响 计算欧式距离:测试样本与训练集 排序:选取前k个距离,统计频数(出现次数)最多的类别 def classify0(inX, ...
- 《机器学习实战》——k-近邻算法Python实现问题记录(转载)
py2.7 : <机器学习实战> k-近邻算法 11.19 更新完毕 原文链接 <机器学习实战>第二章k-近邻算法,自己实现时遇到的问题,以及解决方法.做个记录. 1.写一个k ...
- 【机器学习实战】Machine Learning in Action 代码 视频 项目案例
MachineLearning 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远 Machine Learning in Action (机器学习实战) | ApacheCN(apa ...
- 《机器学习实战》AdaBoost算法(手稿+代码)
Adaboost:多个弱分类器组成一个强分类器,按照每个弱分类器的作用大小给予不同的权重 一.Adaboost理论部分 1.1 adaboost运行过程 注释:算法是利用指数函数降低误差,运行过程通过 ...
- Python 机器学习实战 —— 监督学习(下)
前言 近年来AI人工智能成为社会发展趋势,在IT行业引起一波热潮,有关机器学习.深度学习.神经网络等文章多不胜数.从智能家居.自动驾驶.无人机.智能机器人到人造卫星.安防军备,无论是国家级军事设备还是 ...
- Python 机器学习实战 —— 无监督学习(上)
前言 在上篇<Python 机器学习实战 -- 监督学习>介绍了 支持向量机.k近邻.朴素贝叶斯分类 .决策树.决策树集成等多种模型,这篇文章将为大家介绍一下无监督学习的使用.无监督学习顾 ...
- Python 机器学习实战 —— 无监督学习(下)
前言 在上篇< Python 机器学习实战 -- 无监督学习(上)>介绍了数据集变换中最常见的 PCA 主成分分析.NMF 非负矩阵分解等无监督模型,举例说明使用使用非监督模型对多维度特征 ...
随机推荐
- html CSS 学习总结
HTML文件格式 <!DOCTYPE HTML> <html lang="en"> <head> <meta charset=" ...
- js原型对象与Java类的比较
在我学习Javascript的原型对象时,我总是不自觉地拿Java的类思想来做比较,时间久了,我渐渐认识到二者有巨大的不同. 首先,类是不能直接当方法来运行,它最简便的方式是调用其静态方法:而原型对象 ...
- jq遍历url判断是否为当前页面然后给导航上色
举例:我们希望在此页面点击“我的头像”从而加亮它的背景颜色,跟“我的爱好”的背景颜色一样. 之前: 之后: 我是这样实现的:通过判断当前url是否存在某字段,遍历字段所在的位置给加上相应的样式,我这么 ...
- jquery_DOM操作
DOM操作:DOM Core(核心),HTML_DOM,CSS_DOM CSS_DOM操作: css()获取或添加样式 opacity()透明设置 height()高度值 width()宽度 offs ...
- css 多行溢出
<div style=" height: 38px; max-width: 180px; -webkit-box-orient: vertical; word-break: break ...
- javaBean Request生命周期
request: 在request范围内,JavaBean对象的有效范围为: ① 客户请求访问的当前JSP页面② 和当前JSP页面共享同一个请求的页面,包括<%@ include%>指令以 ...
- linux一些名词
硬链接: 同一个索引节点的两个文件 ln a b //创建a的连接文件b,删除a,不失效软连接: 不同索引节点,相当于一个快捷方式ln -s a b,删除a,b失效 网络协议: 网络协议就是通信规则的 ...
- node exports与 module.exports的区别
你肯定非常熟悉nodejs模块中的exports对象,你可以用它创建你的模块.例如:(假设这是rocker.js文件) exports.name = function() { console.log( ...
- python中的Queue
一.先说说Queue(队列对象) Queue是python中的标准库,可以直接import 引用,之前学习的时候有听过著名的“先吃先拉”与“后吃先吐”,其实就是这里说的队列,队列的构造的时候可以定义它 ...
- centos安装配置amoeba以及测试
一.amoeba介绍网址:http://docs.hexnova.com/amoeba/ 二.安装java se1.5 三.安装amoeba2.2.01.下载地址:http://sourceforge ...