当前位置: 首页 > wzjs >正文

bootstrap网站开发教程帮别人发广告赚钱平台

bootstrap网站开发教程,帮别人发广告赚钱平台,网站建设一站通.网站模板一站平台,dedecms做的系统网站主页是哪一个文件贝叶斯分类是一种统计学分类方法,基于贝叶斯定理,对给定的数据集进行分类。 它的历史可以追溯到18世纪,当时英国统计学家托马斯贝叶斯发展了贝叶斯定理,这个定理为统计决策提供了理论基础。 不过,贝叶斯分类在实际应用…

贝叶斯分类是一种统计学分类方法,基于贝叶斯定理,对给定的数据集进行分类。
它的历史可以追溯到18世纪,当时英国统计学家托马斯·贝叶斯发展了贝叶斯定理,这个定理为统计决策提供了理论基础。

不过,贝叶斯分类在实际应用中的广泛使用是在20世纪80年代,当时计算机技术的进步使得大规模数据处理成为可能。

1. 算法概述

贝叶斯分类基于贝叶斯公式,通过已知样本信息来计算未知样本属于各个类别的概率,然后选择概率最大的类别作为未知样本的分类结果。

贝叶斯公式的简化公式:P(A|B)=P(B|A)P(A)P(B)P(A|B)=P(B|A)P(A)P(B)
其中:

  1. P(A)P(A):事件A发生的概率
  2. P(B)P(B):事件B发生的概率
  3. P(A|B)P(A|B):在事件B出现的前提下,A发生的概率
  4. P(B|A)P(B|A):在事件A出现的前提下,B发生的概率

贝叶斯分类就是基于这个公式扩展而来。
比如,一个具有nn个特征的样本x=(x1,x2,...,xn)x=(x1,x2,...,xn),该样本属于K个可能的类别y1,y2,...,yky1,y2,...,yk。
那么,任一个样本xx属于某个类别ykyk的概率为:P(yk|x)=P(X|yk)P(yk)P(x)P(yk|x)=P(X|yk)P(yk)P(x)
根据这个模型,训练样本之后,就可以根据模型来预测某个样本属于哪个类别概率最大

这里讨论的贝叶斯分类算法,并没有考虑特征之间的关联关系,我们假设每个特征之间是相互独立的。
所以,这个算法也叫做朴素贝叶斯分类

2. 创建样本数据

贝叶斯分类可以
这次用scikit-learn中的样本生成器make_classification来生成分类用的样本数据。

import matplotlib.pyplot as plt
from sklearn.datasets import make_classification# 分类数据的样本生成器
X, y= make_classification(n_samples=1000, n_classes=4, n_informative=3)
plt.scatter(X[:, 0], X[:, 1], marker="o", c=y, s=25)plt.show()

image.png


关于样本生成器的详细内容,请参考:TODO

3. 模型训练

训练之前,为了减少算法误差,先对数据进行标准化处理(将数据缩放到0~100之间)。

from sklearn import preprocessing as pp# 数据标准化
X = pp.minmax_scale(X, feature_range=(1, 100))
y = pp.minmax_scale(y, feature_range=(1, 100))

然后,分割训练集测试集

from sklearn.model_selection import train_test_split# 分割训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

按照8:2的比例来划分训练集和测试集。

scikit-learn中的朴素贝叶斯算法支持多种不同的分类器,
这些分类器基于不同的先验概率分布,适用于不同的数据类型和问题场景。
我们训练模型的时候要根据数据情况选择合适的分类器。

from sklearn.naive_bayes import (GaussianNB,MultinomialNB,ComplementNB,BernoulliNB,CategoricalNB,
)reg_names = ["高斯朴素贝叶斯","多项式朴素贝叶斯","补码朴素贝叶斯","伯努利朴素贝叶斯","分类朴素贝叶斯",
]# 定义
regs = [GaussianNB(),MultinomialNB(),ComplementNB(),BernoulliNB(),CategoricalNB(min_categories=101),
]# 训练模型
for reg in regs:reg.fit(X_train, y_train)

各个分类器的简要说明:

  1. GaussianNB:基于高斯分布的朴素贝叶斯分类器。它假设每个特征服从高斯分布,即正态分布。这种分类器适用于连续型数据,特别是对于数值型特征。
  2. MultinomialNB:基于多项式分布的朴素贝叶斯分类器。它假设每个特征服从多项式分布,适用于离散型数据,特别是对于类别型特征。
  3. ComplementNB:基于互补分布的朴素贝叶斯分类器。它适用于离散型数据,特别是对于二元分类问题。
  4. BernoulliNB:基于伯努利分布的朴素贝叶斯分类器。它适用于二元分类问题,特别是对于二元特征或者二元输出。
  5. CategoricalNB:基于分类分布的朴素贝叶斯分类器。它适用于离散型数据,特别是对于类别型特征。

最后验证各个分类器的模型的训练效果:

# 在测试集上进行预测
y_preds = []
for reg in regs:y_pred = reg.predict(X_test)y_preds.append(y_pred)for i in range(len(y_preds)):correct_pred = np.sum(y_preds[i] == y_test)print("【{}】 预测正确率:{:.2f}%".format(reg_names[i],correct_pred / len(y_pred) * 100))# 运行结果
【高斯朴素贝叶斯】 预测正确率:82.50%
【多项式朴素贝叶斯】 预测正确率:75.00%
【补码朴素贝叶斯】 预测正确率:72.50%
【伯努利朴素贝叶斯】 预测正确率:22.00%
【分类朴素贝叶斯】 预测正确率:50.50%

这里虽然高斯朴素贝叶斯分类器的正确率最高,但不能就认为这种分类器是最好的。
只能说明高斯朴素贝叶斯分类器最适合分类上面随机生成的样本数据。
换成其他的样本数据,高斯朴素贝叶斯分类器的正确率就不一定是最高的了。

4. 总结

总的来说,贝叶斯分类是一种有效的分类方法,适用于对未知样本进行分类的问题。
它的应用范围广泛,可以处理多分类问题,也可以用于连续变量的分类。

贝叶斯分类算法的主要优势在于:

  1. 是一种概率模型,可以给出分类结果的概率,因此更加可靠和稳定。
  2. 可以处理多分类问题,也可以用于连续变量的分类
  3. 实现相对简单,可以在较短的时间内训练出模型并进行预测。

贝叶斯分类算法也有其不足之处:

  1. 假设所有特征之间相互独立,但在实际应用中这个假设往往不成立,因此会影响分类结果的准确性。
  2. 对于大规模的数据集,训练时间和预测时间可能会较长
  3. 对于数据的缺失和异常值处理不够鲁棒,可能会对分类结果产生影响。

 

关注灵活就业新业态,了解更多程序员兼职项目,关注公账号:贤才宝(贤才宝https://www.51xcbw.com) 

http://www.dtcms.com/wzjs/241281.html

相关文章:

  • dw做一个小网站教程哪些网站可以免费发广告
  • 电商网站建设哪家公司好关键词智能优化排名
  • 备案成功后多久可以打开网站江西seo推广软件
  • 吕子乔做网站一段台词站长工具查询网站信息
  • 山东省政府办公厅马希军廊坊优化外包
  • 做网站用别人图片文章会侵权吗四川旅游seo整站优化站优化
  • 学校网站建设目的及功能定位惠州seo网络推广
  • 深圳知名网站建设公司优化人员是什么意思
  • 珠海网站建设哪家权威外贸订单一般在哪个平台接
  • 有域名之后怎么做网站建站平台
  • 网站里的个人中心下拉列表怎么做常见的网站推广方式
  • 手机企业网站怎么做网络营销一般月薪多少
  • 做酒店网站所用到的算法网站怎么注册
  • 做擦边球网站会不会违法呢深圳宝安seo外包
  • 网站详情页怎么做的发布软文的平台有哪些
  • 宿迁哪里有做网站开发的常州网站推广
  • 小型网站开发有哪些搜索引擎
  • 运营网站挣钱方法百度关键词搜索工具
  • 浙江网站建设公司广州推广工具
  • 邯郸网站建设方案培训课程设计
  • 做地产网站seo的基本内容
  • b2b网站分类seo是什么意思职业
  • 即墨网站建设哪家好我赢网seo优化网站
  • 新的网站设计制作免费外国网站浏览器
  • 这几年做哪些网站能致富百度一下你就知道
  • 网络网站开发成都seo网站qq
  • 几何印花图案设计网站南京广告宣传公司seo
  • 班级网站自助建设功能网站设计费用明细
  • 深圳建设网站培训机构故事性营销软文
  • 阿迪达斯网站建设的总体目标seo算法优化