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

公司网站介绍范文自适应网站制作简创网络

公司网站介绍范文,自适应网站制作简创网络,赣州疾控发布风险提示,线上推广渠道有哪些方式第1关#xff1a;Bagging 任务描述 本关任务#xff1a;补充 python 代码#xff0c;完成 BaggingClassifier 类中的 fit 和 predict 函数。请不要修改 Begin-End 段之外的代码。 相关知识 为了完成本关任务#xff0c;你需要掌握#xff1a; 什么是 Bagging#xf…第1关Bagging 任务描述 本关任务补充 python 代码完成 BaggingClassifier 类中的 fit 和 predict 函数。请不要修改 Begin-End 段之外的代码。 相关知识 为了完成本关任务你需要掌握 什么是 BaggingBagging 算法如何训练与预测。 什么是Bagging Bagging 是 Bootstrap Aggregating 的英文缩写刚接触的童鞋不要误认为 Bagging 是一种算法 Bagging 和 Boosting 都是集成学习中的学习框架代表着不同的思想。与 Boosting 这种串行集成学习算法不同 Bagging 是并行式集成学习方法。大名鼎鼎的随机森林算法就是在 Bagging 的基础上修改的算法。 ** Bagging 方法的核心思想就是三个臭皮匠顶个诸葛亮**。如果使用 Bagging 解决分类问题就是将多个分类器的结果整合起来进行投票选取票数最高的结果作为最终结果。如果使用 Bagging 解决回归问题就将多个回归器的结果加起来然后求平均将平均值作为最终结果。 那么 Bagging 方法如此有效呢举个例子。狼人杀我相信大家都玩过在天黑之前村民们都要根据当天所发生的事和别人的发现来投票决定谁可能是狼人。 如果我们将每个村民看成是一个分类器那么每个村民的任务就是二分类假设hi​(x)表示第 i 个村民认为 x 是不是狼人( -1 代表不是狼人1 代表是狼人)f(x)表示 x 真正的身份(是不是狼人)ϵ表示为村民判断错误的错误率。则有P(hi​(x)​f(x))ϵ。 根据狼人杀的规则村民们需要投票决定天黑前谁是狼人也就是说如果有超过半数的村民投票时猜对了那么这一轮就猜对了。那么假设现在有T个村民H(x)表示投票后最终的结果则有H(x)sign(∑i1T​hi​(x))。 现在假设每个村民都是有主见的人对于谁是狼人都有自己的想法那么他们的错误率也是相互独立的。那么根据 Hoeffding不等式 可知H(x)的错误率为 P(H(x)​f(x))k0∑T/2​CTk​(1−ϵ)kϵT−k≤exp(−21​T(1−2ϵ)2) 根据上式可知如果 5 个村民每个村民的错误率为 0.33那么投票的错误率为 0.749如果 20 个村民每个村民的错误率为 0.33那么投票的错误率为 0.315如果 50 个村民每个村民的错误率为 0.33那么投票的错误率为 0.056如果 100 个村民每个村民的错误率为 0.33那么投票的错误率为 0.003。从结果可以看出村民的数量越大那么投票后犯错的错误率就越小。这也是 Bagging 性能强的原因之一。 Bagging方法如何训练与预测 训练 Bagging 在训练时的特点就是随机有放回采样和并行。 随机有放回采样假设训练数据集有 m 条样本数据每次从这 m 条数据中随机取一条数据放入采样集然后将其返回让下一次采样有机会仍然能被采样。然后重复 m 次就能得到拥有 m 条数据的采样集该采样集作为 Bagging 的众多分类器中的一个作为训练数据集。假设有 T 个分类器随便什么分类器那么就重复 T 此随机有放回采样构建出 T 个采样集分别作为 T 个分类器的训练数据集。 并行假设有 10 个分类器在 Boosting 中1 号分类器训练完成之后才能开始 2 号分类器的训练而在 Bagging 中分类器可以同时进行训练当所有分类器训练完成之后整个 Bagging 的训练过程就结束了。 Bagging 训练过程如下图所示 预测 Bagging 在预测时非常简单就是投票比如现在有 5 个分类器有 3 个分类器认为当前样本属于 A 类1 个分类器认为属于 B 类1 个分类器认为属于 C 类那么 Bagging 的结果会是 A 类因为 A 类的票数最高。 Bagging 预测过程如下图所示: 编程要求 在 begin-end 中完成 BaggingClassifier 类中的 fit 和 predict 函数。分类器可使用 sklearn 提供的 DecisionTreeClassifier。要求模型保存在 self.models 中。 fit 函数用于 Bagging 的训练过程其中 feature 训练集数据类型为 ndarraylabel 训练集标签类型为 ndarray。 predict 函数实现预测功能并将标签返回其中 feature 测试集数据类型为 ndarray 。PSfeature中有多条数据 测试说明 只需完成 fit 与 predict 函数即可程序内部会调用您所完成的 fit 函数构建模型并调用 predict 函数来对数据进行预测。预测的准确率高于 0.9 视为过关。 import numpy as np from collections import Counter from sklearn.tree import DecisionTreeClassifier class BaggingClassifier():def __init__(self, n_model10):初始化函数#分类器的数量默认为10self.n_model n_model#用于保存模型的列表训练好分类器后将对象append进去即可self.models []def fit(self, feature, label):训练模型:param feature: 训练数据集所有特征组成的ndarray:param label:训练数据集中所有标签组成的ndarray:return: None#************* Begin ************#for i in range(self.n_model):m len(feature)index np.random.choice(m, m)sample_data feature[index]sample_lable label[index]model DecisionTreeClassifier()model model.fit(sample_data, sample_lable)self.models.append(model)#************* End **************#def predict(self, feature)::param feature:训练数据集所有特征组成的ndarray:return:预测结果如np.array([0, 1, 2, 2, 1, 0])#************* Begin ************#result []vote []for model in self.models:r model.predict(feature)vote.append(r)vote np.array(vote)for i in range(len(feature)):v sorted(Counter(vote[:, i]).items(), keylambda x: x[1], reverseTrue)result.append(v[0][0])return np.array(result)#************* End **************#第2关随机森林算法流程 任务描述 本关任务补充 python 代码完成 RandomForestClassifier 类中的 fit 和 predict 函数。请不要修改 Begin-End 段之外的代码。 相关知识 为了完成本关任务你需要掌握随机森林的训练与预测流程 随机森林的训练流程 随机森林是 Bagging 的一种扩展变体随机森林的训练过程相对与 Bagging 的训练过程的改变有 基学习器 Bagging 的基学习器可以是任意学习器而随机森林则是以决策树作为基学习器。随机属性选择假设原始训练数据集有 10 个特征从这 10 个特征中随机选取 k 个特征构成训练数据子集然后将这个子集作为训练集扔给决策树去训练。其中 k 的取值一般为 log2(特征数量) 。 这样的改动通常会使得随机森林具有更加强的泛化性因为每一棵决策树的训练数据集是随机的而且训练数据集中的特征也是随机抽取的。如果每一棵决策树模型的差异比较大那么就很容易能够解决决策树容易过拟合的问题。 随机森林训练过程伪代码如下 #假设数据集为D标签集为A需要构造的决策树为treedef fit(D, A):models []for i in range(决策树的数量):有放回的随机采样数据得到数据集sample_D和标签sample_A从采样到的数据中随机抽取K个特征构成训练集sub_D构建决策树treetree.fit(sub_D, sample_A)models.append(tree)return models 随机森林的预测流程 随机森林的预测流程与 Bagging 的预测流程基本一致如果是回归就将结果基学习器的预测结果全部加起来算平均如果是分类就投票票数最多的结果作为最终结果。但需要注意的是在预测时所用到的特征必须与训练模型时所用到的特征保持一致。例如第 3 棵决策树在训练时用到了训练集的第 258 这 3 个特征。那么在预测时也要用第 258 这 3 个特征所组成的测试集传给第 3 棵决策树进行预测。 编程要求 在 begin-end 中完成 RandomForestClassifier 类中的 fit 和 predict 函数。分类器可使用 sklearn 提供的 DecisionTreeClassifier 要求模型保存在 self.models 中。 fit 函数用于随机森林的训练过程其中 feature 训练集数据类型为 ndarraylabel 训练集标签类型为 ndarray。 predict 函数实现预测功能并将标签返回其中 feature 测试集数据类型为 ndarray 。PSfeature中有多条数据 测试说明 只需完成 fit 与 predict 函数即可程序内部会调用您所完成的 fit 函数构建模型并调用 predict 函数来对数据进行预测。预测的准确率高于 0.9 视为过关。 import numpy as np from collections import Counter from sklearn.tree import DecisionTreeClassifier class RandomForestClassifier():def __init__(self, n_model10):初始化函数#分类器的数量默认为10self.n_model n_model#用于保存模型的列表训练好分类器后将对象append进去即可self.models []#用于保存决策树训练时随机选取的列的索引self.col_indexs []def fit(self, feature, label):训练模型:param feature: 训练数据集所有特征组成的ndarray:param label:训练数据集中所有标签组成的ndarray:return: None#************* Begin ************#for i in range(self.n_model):m len(feature)index np.random.choice(m, m)col_index np.random.permutation(len(feature[0]))[:int(np.log2(len(feature[0])))]sample_data feature[index]sample_data sample_data[:, col_index]sample_lable label[index]model DecisionTreeClassifier()model model.fit(sample_data, sample_lable)self.models.append(model)self.col_indexs.append(col_index)#************* End **************#def predict(self, feature)::param feature:训练数据集所有特征组成的ndarray:return:预测结果如np.array([0, 1, 2, 2, 1, 0])#************* Begin ************#result []vote []for i, model in enumerate(self.models):f feature[:, self.col_indexs[i]]r model.predict(f)vote.append(r)vote np.array(vote)for i in range(len(feature)):v sorted(Counter(vote[:, i]).items(), keylambda x: x[1], reverseTrue)result.append(v[0][0])return np.array(result)#************* End **************#第3关手写数字识别 任务描述 本关任务使用 sklearn 中的 RandomForestClassifier 类完成手写数字识别任务。请不要修改Begin-End段之外的代码。 相关知识 为了完成本关任务你需要掌握如何使用 sklearn 提供的 RandomForestClassifier 类。 数据简介 本关使用的是手写数字数据集该数据集有 1797 个样本每个样本包括 8*8 像素实际上是一条样本有 64 个特征每个像素看成是一个特征每个特征都是 float 类型的数值的图像和一个 [0, 9] 整数的标签。比如下图的标签是 2 RandomForestClassifier RandomForestClassifier 的构造函数中有两个常用的参数可以设置 n_estimators 森林中决策树的数量 criterion 构建决策树时划分节点时用到的指标。有 gini 基尼系数, entropy (信息增益)。若不设置默认为 gini max_depth 决策树的最大深度如果发现模型已经出现过拟合可以尝试将该参数调小。若不设置默认为 None max_features 随机选取特征时选取特征的数量一般传入 auto 或者 log2默认为 auto auto 表示 max_featuressqrt(训练集中特征的数量) log2 表示 max_featureslog2(训练集中特征的数量)。 RandomForestClassifier 类中的 fit 函数实现了随机森林分类器训练模型的功能predict 函数实现了模型预测的功能。 其中 fit 函数的参数如下 X 大小为 [样本数量,特征数量] 的 ndarry存放训练样本Y 值为整型大小为 [样本数量] 的 ndarray存放训练样本的分类标签。 而 predict 函数有一个向量输入 X 大小为 [样本数量,特征数量] 的 ndarry存放预测样本。 RandomForestClassifier 的使用代码如下 from sklearn.ensemble import RandomForestClassifierclf RandomForestClassifier(n_estimators50)clf.fit(X_train, Y_train)result clf.predict(X_test) 编程要求 在右侧区域的 begin-end 之间填写digit_predict(train_image, train_label, test_image)函数完成手写数字分类任务其中 train_image 包含多条训练样本的样本集类型为 ndarray shape 为 [-1, 8, 8] 在喂给分类器之前请记得将其变形 train_label 包含多条训练样本标签的标签集类型为 ndarray test_image 包含多条测试样本的测试集类型为 ndarray return test_image 对应的预测标签类型为 ndarray。 测试说明 只需完成 digit_predict 函数即可程序内部会检测您的代码预测正确率高于 0.98 视为过关。 from sklearn.ensemble import RandomForestClassifier import numpy as npdef digit_predict(train_image, train_label, test_image):实现功能训练模型并输出预测结果:param train_image: 包含多条训练样本的样本集类型为ndarray,shape为[-1, 8, 8]:param train_label: 包含多条训练样本标签的标签集类型为ndarray:param test_image: 包含多条测试样本的测试集类型为ndarry:return: test_image对应的预测标签类型为ndarray#************* Begin ************#X np.reshape(train_image, newshape(-1, 64))clf RandomForestClassifier(n_estimators500, max_depth10)clf.fit(X, ytrain_label)return clf.predict(test_image)#************* End **************#
http://www.zqtcl.cn/news/600822/

相关文章:

  • 目前个人网站做地最好是哪几家做汽配网站需要多少钱
  • php做网站多少钱网络营销推广方案3篇
  • 浙江坤宇建设有限公司 网站省直部门门户网站建设
  • 直播类网站怎么做上海市建设质量协会网站
  • 筑巢做网站怎么样网站设计接单
  • 会ps的如何做网站wordpress 仿虎嗅
  • 免费响应式网站建设嘉兴建企业网站
  • 织梦网站首页幻灯片不显示建设银行网站特色
  • php企业网站开发东莞网站建设时间
  • 仿win8网站模板网站开发接私活的经理
  • 仿牌网站 域名注册衡水安徽网站建设
  • 合肥义城建设集团有限公司网站专业建站公司电话咨询
  • 国外平面设计网站有哪些建商城网站公司
  • 深圳做响应式网站网站建设公司行业现状
  • 网站部署城阳网站开发公司
  • 旅游网站的网页设计素材如何网络推广运营
  • 惠州网站建设多少钱注册邮箱
  • 视频制作网站都有哪些网站优化的公司
  • 网站开发运营推广叫什么苏州seo关键词优化推广
  • 龙泉驿区建设局网站引流推广平台软件
  • 做盗版网站韩国服装网站建设
  • 网站策划书籍推荐高端网站设计制作的
  • 优秀电商设计网站有哪些微博网站可以做兼职吗
  • 网站建设 验证码电子商务网站建设流程图
  • 做内贸什么网站资源比较多岳阳网上房地产
  • 去国外网站开发客户中的contact us 没有邮箱失败营销案例100例
  • 网站怎么做图片动态图片大全靖江 建设局网站
  • 汉子由来 外国人做的网站wordpress微信小程序部署
  • 兰州网站建设最新招聘信息江苏网站建设简介模板
  • 最具口碑的企业网站建设企业做网站的流程