06-《机器学习及实战》之朴素贝叶斯分类模型
2018-03-22 23:42
435 查看
朴素贝叶斯:单独考量每一维度特征被分类的条件概率,进而综合这些概率并对其所在的特征向量做出分类预测。
说白了:不要被他吓到了亲。我的理解是,牧场里面目前有3头牛、5匹马、7只羊还有9条狗。那么这个牧场可以私以为分为四个维度(当然这有些太明确了),然后呢随便挑出一个计算他在每一个维度里面的概率来极尽可能的采集这个维度的特征值,然后综合考量之后对后来加入的或者是一头牛或者是一只羊又或者是一只鸡进行合理的分类预测....
使用朴素贝叶斯分类器对新闻文本数据进行类别预测# -*- coding: UTF-8 -*-
#1、读取文本的数据细节
from sklearn.datasets import fetch_20newsgroups
news=fetch_20newsgroups(subset='all')
print len(news.data)
print news.data[0]
#2、20类新闻文本的数据分割
#从sklearn.model_selection的train_test_split模块用于数据分割
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train_test_split(news.data,news.target,test_size=0.25,random_state=33)
#查询训练样本的数量和类别分布
#print y_train.value_counts()
#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.naive_bayes里面导入朴素贝叶斯模型
from sklearn.naive_bayes import MultinomialNB
#从使用默认内置初始化
mnb=MultinomialNB()
#利用训练数据对模型参数进行评估。
mnb.fit(X_train,y_train)
#对测试样本进行类别预测,结果存储在变量y_predict里面
y_predict=mnb.predict(X_test)
print y_predict
#4、对朴素贝叶斯分类器在新闻文本的数据上的表现性能进行评估
#从sklearn.metrics 里面导入classification_report用于详细的分类性报告
from sklearn.metrics import classification_report
print 'the Accuracy of naive bayes Classifier is ',mnb.score(X_test,y_test)
print classification_report(y_test,y_predict,target_names=news.target_names)鸣谢《机器学习及实战》编者范淼、李超等
说白了:不要被他吓到了亲。我的理解是,牧场里面目前有3头牛、5匹马、7只羊还有9条狗。那么这个牧场可以私以为分为四个维度(当然这有些太明确了),然后呢随便挑出一个计算他在每一个维度里面的概率来极尽可能的采集这个维度的特征值,然后综合考量之后对后来加入的或者是一头牛或者是一只羊又或者是一只鸡进行合理的分类预测....
使用朴素贝叶斯分类器对新闻文本数据进行类别预测# -*- coding: UTF-8 -*-
#1、读取文本的数据细节
from sklearn.datasets import fetch_20newsgroups
news=fetch_20newsgroups(subset='all')
print len(news.data)
print news.data[0]
#2、20类新闻文本的数据分割
#从sklearn.model_selection的train_test_split模块用于数据分割
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train_test_split(news.data,news.target,test_size=0.25,random_state=33)
#查询训练样本的数量和类别分布
#print y_train.value_counts()
#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.naive_bayes里面导入朴素贝叶斯模型
from sklearn.naive_bayes import MultinomialNB
#从使用默认内置初始化
mnb=MultinomialNB()
#利用训练数据对模型参数进行评估。
mnb.fit(X_train,y_train)
#对测试样本进行类别预测,结果存储在变量y_predict里面
y_predict=mnb.predict(X_test)
print y_predict
#4、对朴素贝叶斯分类器在新闻文本的数据上的表现性能进行评估
#从sklearn.metrics 里面导入classification_report用于详细的分类性报告
from sklearn.metrics import classification_report
print 'the Accuracy of naive bayes Classifier is ',mnb.score(X_test,y_test)
print classification_report(y_test,y_predict,target_names=news.target_names)鸣谢《机器学习及实战》编者范淼、李超等
相关文章推荐
- 机器学习Matlab实战之垃圾邮件分类————朴素贝叶斯模型
- 机器学习实战笔记(Python实现)-07-模型评估与分类性能度量
- 【机器学习实战之二】:C++实现基于概率论的分类方法--朴素贝叶斯分类(Naive Bayes Classifier)
- 机器学习实战1:朴素贝叶斯模型:文本分类+垃圾邮件分类
- 【机器学习实战-python3】基于概率论的分类方法:朴素贝叶斯
- 07-《机器学习及实战》学习之K近邻分类模型
- 机器学习Matlab打击垃圾邮件的分类————朴素贝叶斯模型
- 【机器学习实战—第4章:基于概率论的分类方法:朴素贝叶斯】代码报错(python3)
- 机器学习实战之朴素贝叶斯进行文档分类(Python 代码版)
- 机器学习实战 - 第四章 基于概率论的分类方法:朴素贝叶斯 - 学习随手记
- 机器学习实战第四章——朴素贝叶斯分类(源码解析)
- 【机器学习实战】4.基于概率论的分类方法——朴素贝叶斯
- python机器学习实战3:朴素贝叶斯分类器
- 机器学习之朴素贝叶斯分类算法
- 05-《机器学习及实战》学习之支持向量机分类
- Python机器学习实战之决策树分类
- 【机器学习实战-kNN:约会网站约友分类】python3实现-书本知识【2】
- 【机器学习】模型训练前夜—数据集预处理(概念+图+实战)
- 机器学习—— 基于朴素贝叶斯分类算法构建文本分类器的Python实现
- 【机器学习】朴素贝叶斯分类