xgboost实例分析(xgboost实例推导)

XGBoost是梯度提升集成算法的强大且流行的实现,配置XGBoost模型的一个重要方面是选择在模型训练期间最小化的损失函数。 该损失函数必须匹配预测建模问题类型,以同样的方式,我们必须选择根据问题类型与深学习神经网络的适当的损耗的功能。 XGBoost和损失函数 ExtremeGradientBoosting,简称XGBoost,是梯度提升算法的高效开源实现。因此XGBoost是一个算法、一个开…

XGBoost 是梯度方向提高集成化优化算法的强劲且时兴的完成,配备 XGBoost 模型的一个主要领域是挑选在模型练习期内降到最低的损失函数。

该损失函数务必配对预测分析模型问题种类,以相同的方法,大家需要挑选依据问题种类与深学习培训神经元网络的合理的耗损的作用。

XGBoost 和损失函数

Extreme Gradient Boosting,通称 XGBoost,是梯度方向提高优化算法的高效率开源系统完成。因而 XGBoost 是一个优化算法、一个开源软件和一个 Python 库。

「迷你教程」掌握Xgboost损失函数构建你的完美模型

它最开始由 Tianqi Chen 开发设计,并由 Chen 和 Carlos Guestrin 在 2016 年题写“ XGBoost:A Scalable Tree Boosting System ”的文章中开展了叙述。

它被设计为测算高效率(例如实行速度更快)和高效率,很有可能比别的开源系统完成更合理。

XGBoost 适用一系列不一样的预测分析模型问题,更显着的是分类和重归。 根据降到最低目标函数对数据的损害开展练习。因而,损失函数的选用是一个主要的超参数,立即与要处理的问题种类有关,如同深度神经网络神经元网络一样。

该完成容许根据 objective 超参数特定目标函数,并应用适用大部分状况的有效初始值。

殊不知,针对在练习 XGBoost 模型时应用哪些损失函数,新手依然具有一些疑惑。

在逐渐以前,使我们开展配备

XGBoost 可以当做单独库安裝,而且可以应用 scikit-learn API 开发设计 XGBoost 模型。

安裝 XGBoost 库(假如并未安裝)。这可以在大部分服务平台上应用 pip python 包管理工具来完成。

pip install xgboost

随后,您可以确定 XGBoost 库已恰当安裝而且可以根据运作下列脚本制作来应用。

import xgboost
print(xgboost.._version__)

运作该脚本制作将打印出您已安裝的 XGBoost 库的版本号。

1.1.1

您很有可能在应用新版本的库时碰到问题。不是你的的问题,由于有时候库的最新版会明确提出另外的规定,或是很有可能不太平稳。

假如您在试着运作以上脚本制作时的确碰到不正确,我我们建议您降权到 1.0.1(或更低版)。这可以根据特定要安裝到 pip 指令的版本号来完成,如下所示所显示:

pip install xgboost==1.0.1

假如您见到警示信息,现在可以安心地忽视它。例如,下列是您也许会见到并可以忽视的警示信息实例:

FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.

假如您必须对于您的开发工具的特殊表明,客户程序实例教程:

XGBoost 安裝手册

XGBoost 源有自身的自定 API,虽然大家将根据 scikit-learn 包装类应用该方式:XGBRegressorXGBClassifier 。这将使人们可以应用 scikit-learn 人工神经网络库文件的整套专用工具来提前准备数据信息和评定模型。

2个模型以同样的形式运作,并选用同样的技术参数来危害决策树算法的建立和加上到集成化的方法。

分类的 XGBoost 损失函数

分类每日任务涉及到在给出键入样版的情形下预测分析每一个很有可能类型的标识或几率。

「迷你教程」掌握Xgboost损失函数构建你的完美模型

具备互斥标识的分类每日任务有2种关键种类:具备2个类标识的二元分类和具备2个以上类标识的多种类型分类。

  • 二元分类:具备2个类标识的分类每日任务。
  • 多类分类:具备2个以上类标识的分类每日任务。

相关不一样种类分类每日任务的其他信息,客户程序实例教程:

人工神经网络中的 4 种分类每日任务,分别是:二元分类、多类分类、多标识分类、不平衡分类。

XGBoost 为这种问题种类中的每一种都保证了损失函数。

在人工神经网络中,典型性的作法是练习模型来预测分析几率每日任务的类组员几率,及其每日任务是不是必须明确的类标识来对预测分析的几率开展后处理工艺(例如应用argmax)。

这类方式 在练习深度神经网络神经元网络开展分类时应用,在使用 XGBoost 开展分类时也建议应用。

用以预测分析二元分类问题几率的损失函数是 binary:logistic ,用以预测分析多类问题类型几率的损失函数是 multi:softprob

  • binary:logistic :用以二进制分类的 XGBoost 损失函数。
  • multi:softprob :用于多类分类的 XGBoost 损失函数。

在配备 XGBClassifier 模型时,可以根据“ objective ”超参数特定这种字符串数组值。

针对二元分类

# 二元分类模型
model = XGBClassifier(objective=\'binary:logistic\')

对于多类分类

# 多元化分类模型
model = XGBClassifier(objective=\'multi:softprob\')

关键的是,假如您不特定 objective 超参数,XGBClassifier 将依据练习过程中给予的数据信息全自动挑选这种损失函数之一。

我们可以根据一个合理有效的事例来实际表明这一点。

下边的实例建立一个生成二元分类数据,应用默认设置超参数在数据上线性拟合 XGBClassifier ,随后打印出模型总体目标配备。

from sklearn.datasets import make_classification
from xgboost import XGBClassifier
# 随机生成数据信息
X, y = make_classification(n_samples=1000, n_features=20, n_informative=15, n_redundant=5, random_state=1)
# 挑选模型
model = XGBClassifier()
# 线性拟合模型
model.fit(X, y)
# 归纳模型损失函数
print(model.objective)

运作实例在数据上线性拟合模型并打印损失函数配备。

我们可以见到模型全自动选取一个损失函数开展二元分类。

binary:logistic

或是,我们可以特定总体目标并线性拟合模型,确定应用了损失函数。

from sklearn.datasets import make_classification
from xgboost import XGBClassifier
# 随机生成数据信息
X, y = make_classification(n_samples=1000, n_features=20, n_informative=15, n_redundant=5, random_state=1)
# 挑选模型
model = XGBClassifier(objective=\'binary:logistic\')
# 线性拟合模型
model.fit(X, y)
# 归纳模型损失函数
print(model.objective)

运作实例在数据上线性拟合模型并打印损失函数配备。

我们可以见到用以特定二元分类损失函数的模型。

binary:logistic

使我们在具备2个以上类的数据上反复此实例。在这样的情况下,三个类型。

下边列举了完善的实例。

from sklearn.datasets import make_classification
from xgboost import XGBClassifier
# 随机生成数据信息
X, y = make_classification(n_samples=1000, n_features=20, n_informative=15, n_redundant=5, random_state=1, n_classes=3)
# 挑选模型
model = XGBClassifier()
# 线性拟合模型
model.fit(X, y)
# 归纳模型损失函数
print(model.objective)

运作实例在数据上线性拟合模型并打印损失函数配备。

我们可以见到模型全自动为多种类型分类挑选了一个损失函数。

multi:softprob

或是,我们可以手动式特定损失函数并确定它用以练习模型。

from sklearn.datasets import make_classification
from xgboost import XGBClassifier
# 随机生成数据信息
X, y = make_classification(n_samples=1000, n_features=20, n_informative=15, n_redundant=5, random_state=1, n_classes=3)
# 挑选模型
model = XGBClassifier(objective=\"multi:softprob\")
# 拟合模型
model.fit(X, y)
# 归纳模型损失函数
print(model.objective)

运作实例在数据上拟合模型并打印损失函数配备。

我们可以见到用以为多种类型归类特定损失函数的模型。

multi:softprob

最终,也有别的损失函数可用以归类,包含:用以二元归类的 binary:logitrawbinary:hinge及其用以多类归类的 multi:softmax

您可以在这里查询详细目录:

Learning Task Parameters: objective

回归的 XGBoost 损失函数

回归就是指在给出键入样版的情形下预测分析标值的预测分析建模问题。

「迷你教程」掌握Xgboost损失函数构建你的完美模型

尽管预测分析几率听起来像一个回归问题(即概率是一个标值),但它通常不被视作回归种类的预测分析建模问题。

预测标值时采用的 XGBoost 目标函数是 reg:squarederror 损失函数。

  • reg:squarederror :回归预测分析建模问题的损失函数。

在配备XGBRegressor模型时,可以根据“ objective ”超参数特定此字符串数组值。

例如:

model = XGBRegressor(objective=\'reg:squarederror\')

关键的是,假如你沒有特定 objective 超参数,XGBRegressor 会全自动给你挑选这一目标函数。

我们可以根据一个合理有效的事例来实际表明这一点。

下边的实例建立一个生成回归数据,在数据集上线性拟合XGBRegressor,随后打印出模型总体目标配备。

from sklearn.datasets import make_regression
from xgboost import XGBRegressor
# 随机生成数据信息
X, y = make_regression(n_samples=1000, n_features=20, n_informative=15, noise=0.1, random_state=7)
# 挑选模型
model = XGBRegressor()
# 拟合模型
model.fit(X, y)
# 归纳损失函数
print(model.objective)

运作实例在数据上拟合模型并打印损失函数配备。

我们可以见到模型全自动选取一个损失函数开展回归。

reg:squarederror

或是,我们可以特定总体目标并拟合模型,确定应用了损失函数。

from sklearn.datasets import make_regression
from xgboost import XGBRegressor
# 随机生成数据信息
X, y = make_regression(n_samples=1000, n_features=20, n_informative=15, noise=0.1, random_state=7)
# 挑选模型
model = XGBRegressor(objective=\'reg:squarederror\')
# 拟合模型
model.fit(X, y)
# 归纳损失函数
print(model.objective)

运作实例在数据上拟合模型并打印损失函数配备。

我们可以见到模型应用特定的损失函数开展回归。

reg:squarederror

最终,也有别的损失函数可用以回归,包含:reg:squaredlogerrorreg:logisticreg:pseudohubererrorreg:gammareg:tweedie

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年5月7日 下午1:19
下一篇 2022年5月7日 下午1:21

相关推荐

  • 如何提高网站的排名,快速网站排名提升技巧

    建立网站很简单,但是想要运营推广网站就比较复杂,有很多需要注意和操作的地方,像网站的推广优化,这是网站成熟后的操作,下面靖歌阁和大家来聊聊怎么快速提高网站排名。   首先,有一个稳定的服务器 有条件的可以设置单独的服务器来保证访问者,搜索蜘蛛可以快速打开网站。现在百度算法已经把加载速度作为影响排名的因素。负载越快,排名越高。速度越慢,超过50%的流量将会丢失。交通直接影响重量。同时,服务器是不稳定…

    2022年7月14日
    550
  • 内存卡报价(最新 闪迪存储卡报价及评测)

    作为常用摄影配件,存储卡对于我们的拍摄可谓是尤为重要的。近两年智能手机的像素数不断攀升,照片的尺寸也越来越大,这就需要大容量、高速microsd存储卡来支持扩展(很多Android手机支持扩展),同时还有很多运动摄像机以及无人机为了保证产品的轻量化,同样也采用了microsd卡作为存储设备。当前,闪迪旗下的一款128GBA1级的microsd卡在京东的售价仅为109元,性价比相当不错。 闪迪至尊高…

    2022年10月24日
    420
  • logo设计app有哪些,设计logo的手机软件推荐

    logo设计软件有多重要?logo有多重要?我想作为企业的一员应该都知道,公司logo对公司起着至关重要的作用,不仅代表着企业形象而且简单易记的logo还有更好的传播性。但是并不是人人都是学设计的,没学过设计或者对一些图片处理软件操作不熟练的童鞋一样可以设计出具有创意性的logo,那么这些logo设计软件就就是你的设计利器,logo设计软件到底有哪些呢?下面logofree君给大家推荐一些。 1….

    2022年6月15日
    610
  • 外贸推广渠道有哪些,外贸企业海外推广方式

    (一)传统展会 展会是外贸最传统的方式,也是最直接有效的宣传品牌渠道。给买卖双方提供面对面交流的机会。 优势: 能直接有效的展示产品和企业,面对面的沟通,可以更好的了解客户的需求,同事增加信任度。 劣势: 成本高,互联网发展之后,采购商越来越少,会前会后买家都会通过网站来深入了解公司。所以这里再次强调网站内容的丰富性。 注意事项: 1)提前给潜在客户发参展信息,邀约参展, 2)做好参展准备,备足宣…

    2022年5月31日
    680
  • 外卖行业发展现状怎么样,2020外卖行业趋势

    2020年疫情突如其来,对餐饮业经营产生冲击性影响。餐饮外卖市场2月底至4月底有望迎来高增长。另根据测算,积极假设条件下,2020年餐饮业全年营业收入将下降4.2%,而悲观假设则为-16.7%。 面对突如其来的疫情,各行各业都受影响,餐饮业更是首当其冲。特别是春节期间,餐饮企业提前储备了大量食材,形成积压,损失较大。 1月29日,国家市场监督管理总局启动“保价格、保质量、保供应”系列行动(以下简称…

    2022年7月8日
    950
  • iphone通讯录没了怎么恢复,iphone同步通讯录教程

    苹果通讯录怎么不见了?苹果通讯录没了怎么办?手机通讯录是我们苹果手机里重要的联系人存储软件,通过苹果手机里的通讯录,我们可以很好的找到需要通话或者发短信的联系人,当我们使用苹果手机时,手机通讯录丢失了该怎么办呢?通讯录对我们的重要性不言而喻,通常我们会将最重要的联系人备份起来,但我们也不会每次都会备份,因为我们因为工作需要,常常会添加新的联系人,因此如何能将丢失的手机通讯录找回,还是非常重要的。今…

    2022年5月22日
    1990
  • qq群排名靠前方法有哪些,做群排名技巧推荐

    上篇文章说加入别人的QQ群卖产品,这种方法局限性太多,别人的地盘由不得你乱来,容易被T群。现在来说说QQ群营销的终极大招——自建群,我的地盘我作主,最最最关键的,如何提升群排名。 建群之前我们首先花几分钟想清楚,这个群的定位是什么,卖什么产品,还是服务,定位好了,后面才好开展。好了,现在开始建群。 一、选择群类别 最简单的方法就是,看同行,看排名最好的几个选的是什么类别,借鉴之。以“APP开发”为…

    2022年6月3日
    690
  • 手机游戏模拟器app哪个好(模拟器游戏大全)

    Apple的M系列处理器让Mac可以运行iOSApp,哪么在Intel平台的Mac或M1系列的Mac上是否可以运行安卓App呢?当然可以,这五款模拟器安装后,就可以自由在模拟器中下载安卓App。而且他们在Mac上的运行界面非常友好。 Bluestacks 蓝叠在windows和MacOS平台都可以运行,它是目前最好的安卓模拟器之一,采用了独特的“LayerCake”技术,它可以帮助PC平台的用户非…

    2022年5月6日
    740
  • 口碑最好的国产手机是什么,2020年值得入手的手机推荐

    1.vivoX9 vivoX9在国产线下市场卖的很棒,该机凭借出色的设计以及稳定的性能受到了广大消费者的好评。该机创新的将双摄设计在了正面,同时配备了补光灯,加上软件上的优化,为用户带来了全新的拍照体验。 2.华为Mate9Pro 华为Mate9Pro是华为首款双曲面屏幕产品,该机使用了精致的设计堪称经典。配置方面该机内置海思麒麟960处理器,配备了第二代莱卡双摄,质量过硬让该机备受好评。 3.一…

    2022年6月20日
    640
  • js function 返回值的函数(js获取后端方法的返回值)

    JavaScript函数及数组 第一部分Js函数的定义及使用 1.函数定义 1).函数是把一些功能语句集中定义到一起的。可以被重复调用。 2).JavaScript函数可以与事件驱动相关联。这与其它语言不一样。 2.函数建立 两种方法 1.用户自行建立的函数(自定义函数) 2.JavaScript的内置函数(系统函数) function函数名([参数1,参数2,…]) {…… <函数内容&g…

    2022年5月12日
    1010

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信