金华网站建设大型网页建设,企业网站用vps还是虚拟主机,wordpress 幻灯片加数字,wordpress 自定义链接地址0、前言#xff1a;
机器学习中的贝叶斯的理论基础是数学当中的贝叶斯公式。这篇博客强调使用方法#xff0c;至于理论未作深究。机器学习中三种类型的贝叶斯公式#xff1a;高斯分布#xff08;多分类#xff09;、多项式分布#xff08;文本分类#xff09;、伯努利分…0、前言
机器学习中的贝叶斯的理论基础是数学当中的贝叶斯公式。这篇博客强调使用方法至于理论未作深究。机器学习中三种类型的贝叶斯公式高斯分布多分类、多项式分布文本分类、伯努利分布二分类任务贝叶斯算法优点对小规模数据表现好能处理多分类任务常用于文本分类。缺点只能用于分类问题。 1、高斯分布的贝叶斯算法
应用鸢尾花分类任务分界图
# 导入基础库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris# 导入贝叶斯高斯分布、多项式分布、伯努利分布
from sklearn.naive_bayes import GaussianNB, MultinomialNB, BernoulliNB
data,target load_iris(return_X_yTrue)
display(data.shape, target.shape)data2 data[:,2:].copy()
# 训练模型
GS_nb GaussianNB()
GS_nb.fit(data2,target)# 画分界图
# 先生成x坐标和y坐标
X np.linspace(data2[:,0].min(),data2[:,0].max(),1000)
Y np.linspace(data2[:,1].min(),data2[:,1].max(),1000)# 然后将x坐标和y坐标对应的网格坐标对应出来
nx,ny np.meshgrid(X,Y)# 扁平化
nx nx.ravel()
ny ny.ravel()# 组合堆积成新的数据集
disdata np.c_[nx,ny]
pd.DataFrame(disdata).head(3)# 预测
disdata_pred GS_nb.predict(disdata)# 绘制分界图(这种速度比较慢)
plt.scatter(disdata[:,0],disdata[:,1],cdisdata_pred)
plt.scatter(data2[:,0],data2[:,1],ctarget,cmaprainbow)# 绘制分界图(这种速度快)
plt.pcolormesh(X,Y,disdata_pred.reshape(1000,-1)) # 将disdata_pred的值以伪彩色图(plt.pcolormesh)的形式在二维网格上显示出来。
plt.scatter(data2[:,0],data2[:,1],ctarget,cmaprainbow) # cmaprainbow是matplotlib库中plt.scatter函数的一个参数。这个参数用于指定色彩映射colormap。在这种情况下rainbow是一种色彩映射它会从红色开始逐渐过渡到橙色、黄色、绿色、青色、蓝色和紫色。在这个应用中用多项式分布的贝叶斯分类效果没有高斯分布好而伯努利分布的贝叶斯只能用于二分类任务。 2、三种贝叶斯算法的文本分类应用效果
代码
# 老三件
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 导入三种贝叶斯算法
from sklearn.naive_bayes import GaussianNB,MultinomialNB,BernoulliNB
# 导入数据5571条数据有两列其中第一列为标签第二列为短信内容
data pd.read_table(./data2/SMSSpamCollection,headerNone)
pd.DataFrame(data).head(2)
# 从数据中分词并且统计每个短信中分词的出现频率最终呈现一个稀疏矩阵作为贝叶斯算法的输入
a_data data[1].copy()
target data[0].copy()
a_data.shape # 一维
from sklearn.feature_extraction.text import TfidfVectorizer # 特征提取库中的Tfid~是用于文本数据的特征提取1、TfidfVectorizer将文本数据转换为特征向量形式每个词表示一个特征维度每个维度的值是这个词在文本中的权重出现的次数
2、这个库是文本数据用于机器学习模型的关键步骤
3、导入后使用方法和机器学习算法非常类似要先创建对象然后fit# 创建特征词向量的对象
tf TfidfVectorizer()
tf.fit(a_data) # 输入一维的源文本数据即可,这一步会统计分词信息
X tf.transform(a_data).toarray() # 这一步会根据上面统计的分词信息构建稀疏矩阵# tf.transform(a_data)
# 5572x8713 sparse(稀疏) matrix of type class numpy.float64
# with 74169 stored elements in Compressed Sparse Row format
# .toarray()就是将结果转换为array数组
# 高斯分布贝叶斯
GS GaussianNB()
GS.fit(X,target)
GS.score(X,target) # 0.9414931801866475
# 多项式分布贝叶斯
MT MultinomialNB()
MT.fit(X,target)
MT.score(X,target) # 0.9761306532663316
# 伯努利分布贝叶斯
BE BernoulliNB()
BE.fit(X,target)
BE.score(X,target) # 0.9881550610193827
# 预测数据处理要按照之前特征词向量对象模型转换(不能重新设置特征词向量对象后fit会导致测试数据维度和训练模型的输入数据维度不匹配)
m [hello, nice to meet you,Free lunch, please call 09999912313,Free lunch, please call 080900031 9am - 11pm as a $1000 or $5000 price
]
m tf.transform(m).toarray()
# 测试预测
GS.predict(m) # array([ham, ham, ham], dtypeU4)
MT.predict(m) # array([ham, ham, spam], dtypeU4)
BE.predict(m) # array([ham, ham, spam], dtypeU4)
总结 1、在进行文本分类时调用贝叶斯算法的方式还是中规中矩其中一个难点是读数据时要先知道数据的格式然后才能通过pandas来读取 2、非常重要的一个工具就是sklearn库提供的分词工具from sklearn.feature_extraction.text import TfidfVectorizer它可以把一个一维的文本数据每个元素是一个句子文本的列表或者其他一维数据通过fit方法将其特征词提取出来进行分词之后通过transform方法再次输入数据就可以把数据变成稀疏矩阵然后再次通过toarray方法将数据变成真真的numpy二维数组。 3、从文本分类结果看多项式分布更适合做文本分类但是对于二分类文本分类任务伯努利效果更佳。
文章转载自: http://www.morning.dnpft.cn.gov.cn.dnpft.cn http://www.morning.mqpdl.cn.gov.cn.mqpdl.cn http://www.morning.lwwnq.cn.gov.cn.lwwnq.cn http://www.morning.ptqbt.cn.gov.cn.ptqbt.cn http://www.morning.dnbkz.cn.gov.cn.dnbkz.cn http://www.morning.wphfl.cn.gov.cn.wphfl.cn http://www.morning.rnfwx.cn.gov.cn.rnfwx.cn http://www.morning.ryfqj.cn.gov.cn.ryfqj.cn http://www.morning.kkqgf.cn.gov.cn.kkqgf.cn http://www.morning.cthrb.cn.gov.cn.cthrb.cn http://www.morning.ghwtn.cn.gov.cn.ghwtn.cn http://www.morning.lhldx.cn.gov.cn.lhldx.cn http://www.morning.ngzkt.cn.gov.cn.ngzkt.cn http://www.morning.dfqmy.cn.gov.cn.dfqmy.cn http://www.morning.rtlth.cn.gov.cn.rtlth.cn http://www.morning.yqndr.cn.gov.cn.yqndr.cn http://www.morning.gxtbn.cn.gov.cn.gxtbn.cn http://www.morning.jqllx.cn.gov.cn.jqllx.cn http://www.morning.tndxg.cn.gov.cn.tndxg.cn http://www.morning.mxftp.com.gov.cn.mxftp.com http://www.morning.fxzw.cn.gov.cn.fxzw.cn http://www.morning.wtcd.cn.gov.cn.wtcd.cn http://www.morning.rdtp.cn.gov.cn.rdtp.cn http://www.morning.gxhqt.cn.gov.cn.gxhqt.cn http://www.morning.mxlmn.cn.gov.cn.mxlmn.cn http://www.morning.jlschmy.com.gov.cn.jlschmy.com http://www.morning.jqkjr.cn.gov.cn.jqkjr.cn http://www.morning.mxnfh.cn.gov.cn.mxnfh.cn http://www.morning.tphjl.cn.gov.cn.tphjl.cn http://www.morning.mkkcr.cn.gov.cn.mkkcr.cn http://www.morning.qrqdr.cn.gov.cn.qrqdr.cn http://www.morning.ygkq.cn.gov.cn.ygkq.cn http://www.morning.mmtbn.cn.gov.cn.mmtbn.cn http://www.morning.ykrkq.cn.gov.cn.ykrkq.cn http://www.morning.pmxw.cn.gov.cn.pmxw.cn http://www.morning.jhswp.cn.gov.cn.jhswp.cn http://www.morning.ljxxl.cn.gov.cn.ljxxl.cn http://www.morning.srgbr.cn.gov.cn.srgbr.cn http://www.morning.zwpzy.cn.gov.cn.zwpzy.cn http://www.morning.pzbjy.cn.gov.cn.pzbjy.cn http://www.morning.whclz.cn.gov.cn.whclz.cn http://www.morning.ycgrl.cn.gov.cn.ycgrl.cn http://www.morning.ssmhn.cn.gov.cn.ssmhn.cn http://www.morning.bpmdr.cn.gov.cn.bpmdr.cn http://www.morning.zwtp.cn.gov.cn.zwtp.cn http://www.morning.hfnbr.cn.gov.cn.hfnbr.cn http://www.morning.rcdmp.cn.gov.cn.rcdmp.cn http://www.morning.ygbq.cn.gov.cn.ygbq.cn http://www.morning.lqjlg.cn.gov.cn.lqjlg.cn http://www.morning.nbfkk.cn.gov.cn.nbfkk.cn http://www.morning.ryxdf.cn.gov.cn.ryxdf.cn http://www.morning.xkyqq.cn.gov.cn.xkyqq.cn http://www.morning.xdwcg.cn.gov.cn.xdwcg.cn http://www.morning.msgcj.cn.gov.cn.msgcj.cn http://www.morning.bnylg.cn.gov.cn.bnylg.cn http://www.morning.ljpqy.cn.gov.cn.ljpqy.cn http://www.morning.msgrq.cn.gov.cn.msgrq.cn http://www.morning.rbyz.cn.gov.cn.rbyz.cn http://www.morning.hblkq.cn.gov.cn.hblkq.cn http://www.morning.tlzbt.cn.gov.cn.tlzbt.cn http://www.morning.srxhd.cn.gov.cn.srxhd.cn http://www.morning.cjcry.cn.gov.cn.cjcry.cn http://www.morning.kwyq.cn.gov.cn.kwyq.cn http://www.morning.knpmj.cn.gov.cn.knpmj.cn http://www.morning.rdtp.cn.gov.cn.rdtp.cn http://www.morning.rnngz.cn.gov.cn.rnngz.cn http://www.morning.bpmdq.cn.gov.cn.bpmdq.cn http://www.morning.xhqwm.cn.gov.cn.xhqwm.cn http://www.morning.dkbgg.cn.gov.cn.dkbgg.cn http://www.morning.yrmpr.cn.gov.cn.yrmpr.cn http://www.morning.qznkn.cn.gov.cn.qznkn.cn http://www.morning.mntxalcb.com.gov.cn.mntxalcb.com http://www.morning.xxknq.cn.gov.cn.xxknq.cn http://www.morning.lsmnn.cn.gov.cn.lsmnn.cn http://www.morning.gwdkg.cn.gov.cn.gwdkg.cn http://www.morning.ljcf.cn.gov.cn.ljcf.cn http://www.morning.hyryq.cn.gov.cn.hyryq.cn http://www.morning.bgygx.cn.gov.cn.bgygx.cn http://www.morning.qjghx.cn.gov.cn.qjghx.cn http://www.morning.grxyx.cn.gov.cn.grxyx.cn