无监督学习------分类学习-----朴素贝叶斯(navie bayes)
朴素贝叶斯是一个实用性很强的分类模型,不过线性分类器和支持向量机分类器(基于线性假设的模型)不同,朴素贝叶斯的构造基础是贝叶斯理论
这个模型的基本数学假设是:各个维度上的特征被分类的条件概率之间是相互独立的。
朴素贝叶斯模型有着广泛的实际应用环境,特别是在文本分类的任务中间,包括互联网新闻的分类,垃圾邮件的筛选等等。
一:以经典的20类新闻文本作为测试数据。
(1)读取20类新闻文本的数据细节
print(len(news.data))
print(news.data[0])
不同于前面的样例数据,这些文本数据既没有被设定特征,也没有数字化的量度。因此,再交给朴素贝叶斯分类器学习之前,要对数据作进一步的处理。
(2)20类新闻文本数据分割
#从sklearn.model_selection导入train_test_split
from sklearn.model_selection import train_test_split
#随机采样25%的数据样本作为测试集
X_train,X_test,y_train,y_test=train_test_split(news.data,news_traget,news_size=0.25,random_state=33)
(3)首先将文本转化为特征向量,然后利用朴素贝叶斯模型从训练数据中估计参数,最后利用这些概率参数对同样转化为特征向量的测试新闻样本进行分类预测。
使用朴素贝叶斯分类器对新闻文本数据进行类别预测
#从sklearn.feature_extraction.text里导入用于文本特征向量转化模块。
from sklearn.feature_extraction.text import CountVectorizer
vec=CountVectorizer()
X_train=vec.fit_transform(X_train)
X_test=vec.transform(X_test)
#从sklearn.navie_bayes里导入朴素贝叶斯模型
from sklearn.navie_bayes import MultinomialNB
#使用默认配置初始化朴素贝叶斯模型
mnb=MultinomailNB()
$利用训练数据对模型参数进行估计
mnb.fit(X_train,y_train)
#对测试样本进行类别预测,结果存储在变量y_predict中
y_predict=mnb.predict(X_test)
(4)性能评估,对朴素贝叶斯分类器在新闻文本数据上的表现性能进行评估
#从sklearn.metrics里导入classifiercation_report用于详细的分类性能描述
from sklearn.metrics import classification_report
print('The accuracy of navie bayes classifier id',mnb.score(X_test,y_test))
print(classification_report(y_test,y_predict,target_names=news.target_names))
(5)特点分析:朴素贝叶斯模型被广泛应用于海量互联网文本分类任务。由于其较强的特征条件独立假设,使得模型预测所需要估计的参数规模从幂指数量级向线性量级减少,极大地节约了内存消耗和计算时间。但是也正是受这种强假设的限制模型训练时无法将各个特征之间的联系考量在内,使得该模型在其他数据特征关联性较强的分类任务上的性能表现不佳
无监督学习------分类学习-----朴素贝叶斯(navie bayes)相关推荐
- 机器学习监督学习之分类算法---朴素贝叶斯代码实践
目录 1. 言论过滤器 1.1 项目描述 1.2 朴素贝叶斯 工作原理: 1.2.1 词条向量 1.3 开发流程: 1.4 代码实现 1.4.1 创建样本 1.4.2 构建词汇表,用于建立词集向量 1 ...
- 机器学习监督学习之分类算法---朴素贝叶斯理论知识
感谢Jack-Cui大佬的知识分享 机器学习专栏点击这里 目录 感谢Jack-Cui大佬的知识分享 0. 概述 1. 朴素贝叶斯理论 1.1 贝叶斯理论 1.1.1 相关计算公式:条件概率公式,贝叶斯 ...
- 《机器学习实战》学习笔记(四):基于概率论的分类方法 - 朴素贝叶斯
欢迎关注WX公众号:[程序员管小亮] [机器学习]<机器学习实战>读书笔记及代码 总目录 https://blog.csdn.net/TeFuirnever/article/details ...
- 情感分类与朴素贝叶斯
本文介绍一种机器学习分类算法--朴素贝叶斯算法及其在NLP中的应用.具体实现部分可参考朴素贝叶斯用于情感分类的实现 NLP中的分类 许多自然语言处理任务涉及分类,分类也是人类和机器智能的核心. 文本分 ...
- 【无标题】机器学习——朴素贝叶斯
朴素贝叶斯(Naive Bayesian algorithm)是有监督学习的一种分类算法,它基于"贝叶斯定理"实现,该原理的提出人是英国著名数学家托马斯·贝叶斯. 一.贝叶斯定理 ...
- 基于概率论的分类方法—朴素贝叶斯
基于概率论的分类方法-朴素贝叶斯 转载于:https://www.cnblogs.com/liuys635/p/11181304.html
- 机器学习:基于朴素贝叶斯(Naive Bayes)的分类预测
目录 一.简介和环境准备 简介: 环境: 二.实战演练 2.1使用葡萄(Wine)数据集,进行贝叶斯分类 1.数据导入 2.模型训练 3.模型预测 2.2模拟离散数据集–贝叶斯分类 1.数据导入.分析 ...
- 机器学习一:朴素贝叶斯(Naive Bayes)
朴素贝叶斯 Naive Bayes 1. Introduction 1.1 离散属性 1.2 连续属性 1.2.1 Gaussian Naive Bayes 1.2.2 Multinomial Nai ...
- 朴素贝叶斯 Naive Bayes Classifier
目录 前言 一.朴素贝叶斯是什么? 二.朴素贝叶斯的优点和缺点 三.朴素贝叶斯的应用场景 四.构建朴素贝叶斯模型的注意事项 五.朴素贝叶斯模型的实现类库 六.朴素贝叶斯模型的评价指标 七.类库scik ...
最新文章
- 用TCP/IP进行网际互联一
- 10 家世界顶级的公司都在用 Python 做什么?
- Cocos2d学习之路三(使用Zwoptex创建精灵表单和CCAnimate动画)
- 易语言服务器不在一个网段,设置二级路由器保持局域网在同一个网段
- Android之看起来像奔溃了但是没有发现奔溃日志
- 使用Redis的理由
- 2021年量子计算机奖,中兴通讯携手中国移动共获“2021年未来网络领先创新科技成果”奖...
- C++笔试题整理(一)
- Angular CLI: 全局脚本
- centos7下扩充swap空间
- php http请求 微信,微信小程序封装http请求类的代码实例
- 数字图像处理学习 matable
- 西门子/软件/博途/TIA PORTAL V14 SP1
- .net构建轻微博实时热搜新闻站
- 关于Generator expression must be parenthesized out报错或者Error creating Django application: Error on pyt
- 语音识别之Fbank特征提取工具的比较(kaldi、python_speech_features、torchaudio)
- SaaS行业验尸报告:他们死于资本狂欢前夜
- 手机上网占多大流量?WiFi要不要进行限速?
- 南农计算机考研真题,南京农业大学考研真题汇总
- 百元级冷门高音质蓝牙耳机推荐,300左右为什么不试试这几款蓝牙耳机?