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

网站设计是用什么做的专业装修图片

网站设计是用什么做的,专业装修图片,精品一卡2卡三卡4卡分类,宠物网站建设的目的Boosting方法的基本元素与基本流程#x1f4ab; 在Boosting集成算法当中#xff0c;我们逐一建立多个弱评估器#xff08;基本是决策树#xff09;#xff0c;并且下一个弱评估器的建立方式依赖于上一个弱评估器的评估结果#xff0c;最终综合多个弱评估器的结果进行输出… Boosting方法的基本元素与基本流程 在Boosting集成算法当中我们逐一建立多个弱评估器基本是决策树并且下一个弱评估器的建立方式依赖于上一个弱评估器的评估结果最终综合多个弱评估器的结果进行输出。 这个过程相当于有意地加重“难以被分类正确的样本”的权重同时降低“容易被分类正确的样本”的权重而将后续要建立的弱评估器的注意力引导到难以被分类正确的样本上。 不同的Boosting算法之间的核心区别就在于上一个弱评估器的结果具体如何影响下一个弱评估器的建立过程。此外Boosting算法在结果输出方面表现得十分多样。早期的Boosting算法的输出一般是最后一个弱评估器的输出当代Boosting算法的输出都会考虑整个集成模型中全部的弱评估器。一般来说每个Boosting算法会其以独特的规则自定义集成输出的具体形式。 由此我们可以确立任意boosting算法的三大基本元素以及boosting算法自适应建模的基本流程 损失函数L(x,y) 用以衡量模型预测结果与真实结果的差异弱评估器f(x) 一般为决策树不同的boosting算法使用不同的建树过程综合集成结果H(x)即集成算法具体如何输出集成结果 几乎所有boosting算法的原理都围绕这三大元素构建。在此三大要素基础上所有boosting算法都遵循以下流程进行建模 正如之前所言Boosting算法之间的不同之处就在于使用不同的方式来影响后续评估器的构建。无论boosting算法表现出复杂或简单的流程其核心思想一定是围绕上面这个流程不变的。  梯度提升树GBDT的基本思想  梯度提升树Gradient Boosting Decision TreeGBDT是提升法中的代表性算法它即是当代强力的XGBoost、LGBM等算法的基石也是工业界应用最多、在实际场景中表现最稳定的机器学习算法之一。在最初被提出来时GBDT被写作梯度提升机器Gradient Boosting MachineGBM它融合了Bagging与Boosting的思想、扬长避短可以接受各类弱评估器作为输入在后来弱评估器基本被定义为决策树后才慢慢改名叫做梯度提升树。作为一个Boosting算法GBDT中自然也包含Boosting三要素并且也遵循boosting算法的基本流程进行建模不过需要注意的是GBDT在整体建树过程中有几个关键点 弱评估器                       GBDT的弱评估器输出类型不再与整体集成算法输出类型一致。对于基础的Bagging和Boosting算法来说当集成算法执行的是回归任务时弱评估器也是回归器当集成算法执行分类任务时弱评估器也是分类器。但对于GBDT而言无论GBDT整体在执行回归/分类/排序任务弱评估器一定是回归器。GBDT通过sigmoid或softmax函数输出具体的分类结果但实际弱评估器一定是回归器。     损失函数 在GBDT算法中可以选择的损失函数非常多‘deviance’, ‘exponential’是因为这个算法从数学原理上做了改进——损失函数的范围不在局限于固定或者单一的某个损失函数而是推广到了任意可微的函数。 GBDT分类器损失函数‘deviance’, ‘exponential’ GBDT回归器损失函数‘squared_error’, ‘absolute_error’, ‘huber’, ‘quantile’ 拟合残差 GBDT依然自适应调整弱评估器的构建但不再通过调整数据分布来间接影响后续弱评估器而是通过修改后续弱评估器的拟合目标来直接影响后续弱评估器的结构。 具体地来说在GBDT当中我们不修改样本权重但每次用于建立弱评估器的是样本以及当下集成输出与真实标签的差异。这个差异在数学上被称之为残差Residual因此GBDT不修改样本权重而是通过拟合残差来影响后续弱评估器结构。 GBDT加入了随机森林中随机抽样的思想在每次建树之前允许对样本和特征进行抽样来增大弱评估器之间的独立性也因此可以有袋外数据集。虽然Boosting算法不会大规模地依赖于类似于Bagging的方式来降低方差但由于Boosting算法的输出结果是弱评估器结果的加权求和因此Boosting原则上也可以获得由“平均”带来的小方差红利。当弱评估器表现不太稳定时采用与随机森林相似的方式可以进一步增加Boosting算法的稳定性 梯度提升树GBDT的快速实现          sklearn当中集成了GBDT分类与GBDT回归我们使用如下两个类来调用它们  class sklearn.ensemble.GradientBoostingClassifierclass sklearn.ensemble.GradientBoostingRegressor                        GBDT算法的超参数看起来很多但是仔细观察的话你会发现GBDT回归器与GBDT分类器的超参数高度一致。并且所有超参数都给出了默认值需要人为输入的参数为0。所以就算是不了解参数的含义我们依然可以直接使用sklearn库来调用GBDT算法。 使用GBDT完成分类任务 import numpy as np import pandas as pd import matplotlib.pyplot as pltfrom sklearn.datasets import load_wine from sklearn.ensemble import GradientBoostingClassifier as GBC from sklearn.ensemble import RandomForestClassifier as RFC from sklearn.tree import DecisionTreeClassifier as DTC from sklearn.model_selection import train_test_split from sklearn.model_selection import cross_val_scoreX,y load_wine(return_X_yTrue,as_frameTrue)# 切分训练集和测试集 Xtrain, Xtest, Ytrain, Ytest train_test_split(X,y,test_size0.3,random_state0)# 使用GBDT完成对红酒数据集的预测 clf GBC() #实例化GBDT分类器并使用默认参数 clf clf.fit(Xtrain,Ytrain)train_score clf.score(Xtrain,Ytrain) test_score clf.score(Xtest,Ytest) print(fGBDT在训练集上的预测准确率为{train_score}) print(fGBDT在测试集上的预测准确率为{test_score}) GBDT在训练集上的预测准确率为1.0GBDT在测试集上的预测准确率为0.9629629629629629 梯度提升分类与其他算法的对比 dtc DTC(random_state0) #实例化单棵决策树 dtc dtc.fit(Xtrain,Ytrain) score_dtc dtc.score(Xtest,Ytest)rfc RFC(random_state0) #实例化随机森林 rfc rfc.fit(Xtrain,Ytrain) score_rfc rfc.score(Xtest,Ytest)gbc GBC(random_state0) #实例化GBDT gbc gbc.fit(Xtrain,Ytrain) score_gbc gbc.score(Xtest,Ytest) # 默认使用准确度accuracy作为评分方式,即预测正确的样本数占总样本数的比例print(决策树{}.format(score_dtc)) print(随机森林{}.format(score_rfc)) print(GBDT{}.format(score_gbc)) 决策树0.9444444444444444随机森林0.9814814814814815GBDT0.9629629629629629 画出决策树、随机森林和GBDT在十组五折交叉验证下的效果对比 score_dtc [] score_rfc [] score_gbc []for i in range(10):dtc DTC()cv1 cross_val_score(dtc,X,y,cv5)score_dtc.append(cv1.mean())rfc RFC()cv2 cross_val_score(rfc,X,y,cv5)score_rfc.append(cv2.mean())gbc GBC()cv3 cross_val_score(gbc,X,y,cv5)score_gbc.append(cv3.mean())plt.plot(range(1,11),score_dtc,label DecisionTree) plt.plot(range(1,11),score_rfc,label RandomForest) plt.plot(range(1,11),score_gbc,label GBDT) plt.legend(bbox_to_anchor(1.4,1)) plt.show() 使用GBDT完成回归任务 X,y fetch_california_housing(return_X_yTrue,as_frameTrue)Xtrain, Xtest, Ytrain, Ytest train_test_split(X,y,test_size0.3,random_state0)# 使用GBDT完成对加利福尼亚房屋数据集的预测gbr GBR(random_state0) #实例化GBDT gbr gbr.fit(Xtrain,Ytrain) r2_gbdt gbr.score(Xtest,Ytest) # 回归器默认评估指标为R2 r2_gbdt # 0.7826346388949185# 计算GBDT回归器的评估指标均方误差MSE from sklearn.metrics import mean_squared_error pred gbr.predict(Xtest) MSE mean_squared_error(Ytest,pred) MSE# 0.28979949770874125 梯度提升回归与其他算法的对比 import time modelname [DecisionTree,RandomForest,GBDT,RF-D] models [DTR(random_state0),RFR(random_state0),GBR(random_state0),RFR(random_state0,max_depth3)]for name,model in zip(modelname,models):start time.time()result cross_val_score(model,X,y,cv5,scoringneg_mean_squared_error).mean()end time.time()-startprint(name)print(\t MSE:{:.3f}.format(abs(result)))print(\t time:{:.2f}s.format(end))print(\n) 结果 DecisionTreeMSE:0.818time:0.66sRandomForestMSE:0.425time:70.69sGBDTMSE:0.412time:16.84sRF-DMSE:0.639time:11.49s 对比决策树和随机森林来说GBDT默认参数状态下已经能够达到很好的效果。 梯度提升树GBDT的重要参数和属性 由于GBDT超参数数量较多因此我们可以将GBDT的参数分为以下5大类别其他属性我们下次再进行分析验证
http://www.dnsts.com.cn/news/24184.html

相关文章:

  • 公司网站费用计入什么科目开发移动网站
  • c2c网站有哪几个青岛做网站皆赴青岛博
  • 如何做一个虚拟网站上海云盾为网站做防护
  • 网站开发流程包括需求分析乐陵seo外包公司
  • 大学生网站建设规划书中国建设银行 云南 网站首页
  • 深圳市门户网站建设企业网络游戏大型
  • 手机网站cms 开源中国化学工程第九建设公司网站
  • html网页制作网站wordpress图片存储
  • 滨州聊城网站建设黄页网站推广app
  • 沈阳网站制作方法wordpress menu order
  • 海南通信建设有限公司官方网站淘宝做标题网站
  • 众筹网站的分析与设计律师网站建设哪家专业
  • 自适应网站制作方案软件官网模板
  • 品牌型网站建设哪里好网页微信版下载
  • 网站建设后台管理流程工商网站备案查询
  • 爱站网备案查询有前景的长沙企业网站建设
  • 网站备案要上海公司黄页网站
  • 网站截图可以做证据吗宁波高端网站设计厂家
  • 做直播券的网站有多少钱商标查询怎么查
  • 单页营销式网站模板下载seo关键词布局案例
  • 电子商务网站开发 pdf网站开发用电脑配置
  • 红杭州网站建设wordpress 加密算法
  • 个人如何建立免费手机网站建设一个网站报价
  • 网站js文件夹wordpress字体编辑插件下载
  • 阿里巴巴黄页网站网站域名备案地址
  • 学院网站建设申请报告wordpress 精简
  • 上海 网站建设温州网站推广价钱
  • 网站首页尺寸石家庄seo排名公司
  • 西城网站建设学校网站设计流程
  • 忘记php网站后台密码清河网站建设费用