朴素贝叶斯分类器(Naïve Bayes classifier)是一种相当简单常见但是又相当有效的分类算法,在监督学习领域有着很重要的应用.朴素贝叶斯是建立在“全概率公式”的基础下的,由已知的尽可能多的事件A.B求得的$P(A|B)$来推断未知$P(B|A)$. 优点: 模型训练使用TF-IDF对训练数据做词频及概率统计: 分类使用朴素贝叶斯计算所有类目的概率; 适用于电商的短文本分类,加入部分人工干预,top3准确率可达到95%左右: 分类预测完全可解释,不存在神经网络黑盒,但比较依赖分词效果…
实现本文的文本数据可以在THUCTC下载也可以自己手动爬虫生成, 本文主要参考:https://blog.csdn.net/hao5335156/article/details/82716923 nb表示朴素贝叶斯 rf表示随机森林 lg表示逻辑回归 初学者(我)通过本程序的学习可以巩固python基础,学会python文本的处理,和分类器的调用.方便接下来的机器学习的学习. 各个参数直观的含义: # -*- coding: utf-8 -*- """ Created on…
关于bayes的基础知识,请参考: 基于朴素贝叶斯分类器的文本聚类算法 (上) http://www.cnblogs.com/phinecos/archive/2008/10/21/1315948.html  基于朴素贝叶斯分类器的文本聚类算法 (下) http://www.cnblogs.com/phinecos/archive/2008/10/21/1316044.html 算法杂货铺——分类算法之朴素贝叶斯分类 http://www.cnblogs.com/leoo2sk/archive/…
朴素贝叶斯假设各属性间相互独立,直接从已有样本中计算各种概率,以贝叶斯方程推导出预测样本的分类. 为了处理预测时样本的(类别,属性值)对未在训练样本出现,从而导致概率为0的情况,使用拉普拉斯修正(假设属性值与类别均匀分布). 代码及注释如下: 一.离散值 1,朴素贝叶斯算法计算相关参数并返回,预测使用这些参数即可 # 手写拉普拉斯修正的朴素贝叶斯 import numpy as np import pandas as pd def naive_bayes(data): '''data:panda…
1.朴素贝叶斯实现新闻分类的步骤 (1)提供文本文件,即数据集下载 (2)准备数据 将数据集划分为训练集和测试集:使用jieba模块进行分词,词频统计,停用词过滤,文本特征提取,将文本数据向量化 停用词文本stopwords_cn.txt下载 jieba模块学习:https://github.com/fxsjy/jieba :    https://www.oschina.net/p/jieba (3)分析数据:使用matplotlib模块分析 (4)训练算法:使用sklearn.naive_b…
贝叶斯是搞概率论的.学术圈上有个贝叶斯学派.看起来吊吊的.关于贝叶斯是个啥网上有很多资料.想必读者基本都明了.我这里只简单概括下:贝叶斯分类其实就是基于先验概率的基础上的一种分类法,核心公式就是条件概率.举个俗气的例子,通过我们的以往观察,鲤鱼中尾巴是红色的占比达90%,鲫鱼中尾巴是红色的占比只有1%不到,那么新来了一条小鱼,他是鲤鱼还是鲫鱼呢?我看一下他的尾巴,发现是红色,根据过去的先验概率经验,它是鲤鱼的概率比较大,我认为它是鲤鱼. 这当时是个最简单的例子,实践中的问题就复杂了.比如说特征不…
def trainNB0(trainMatrix,trainCategory): numTrainDocs = len(trainMatrix) numWords = len(trainMatrix[0]) pAbusive = sum(trainCategory)/float(numTrainDocs) p0Num = ones(numWords); p1Num = ones(numWords) #change to ones() p0Denom = 2.0; p1Denom = 2.0 #c…
1.K-近邻算法(KNN) 1.1 定义 (KNN,K-NearestNeighbor) 如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别. 1.2 距离公式 两个样本的距离可以通过如下公式计算,又叫欧式距离. 简单理解这个算法: 这个算法是用来给特征值分类的,是属于有监督学习的领域,根据不断计算特征值和有目标值的特征值的距离来判断某个样本是否属于某个目标值. 可以理解为根据你的邻居来判断你属于哪个类别. 1.3 API sklea…
(一)生成学习算法 在线性回归和Logistic回归这种类型的学习算法中我们探讨的模型都是p(y|x;θ),即给定x的情况探讨y的条件概率分布.如二分类问题,不管是感知器算法还是逻辑回归算法,都是在解空间中寻找一条直线从而把两种类别的样例分开,对于新的样例,只要判断在直线的哪一侧即可:这种直接对问题求解的方法可以称为判别学习方法.   而生成学习算法则是对两个类别分别进行建模,用新的样例去匹配两个模板,匹配度较高的作为新样例的类别,比如分辨大象(y=1)和狗(y=0),首先,观察大象,然后建立一…
该系列来自于我<人工智能>课程回顾总结,以及实验的一部分进行了总结学习机 垃圾分类是有监督的学习分类最经典的案例,本文首先回顾了概率论的基本知识.则以及朴素贝叶斯模型的思想.最后给出了垃圾邮件分类在Matlab中用朴素贝叶斯模型的实现 1.概率 1.1 条件概率 定义:事件B发生的情况下,事件A发生的概率记作条件概率P(A|B)P(A|B) P(A|B)=P(A∧B)P(B) P(A|B)=\frac{P(A\land B)}{P(B)} 条件概率也叫后验概率.无条件概率也叫先验概率(在没有不…