XGBOOST:sample_Weights 与scale_pos_weight

2024-01-01

我有一个高度不平衡的数据集,想知道在哪里考虑权重,因此我试图理解之间的区别scale_pos_weight论证中XGBClassifiersample_weight的参数fit方法。如果可以同时使用这两种方法或者如何选择其中一种方法,我们将不胜感激对两者之间差异的直观解释。

文档表明scale_pos_weight:

控制正负权重的平衡..&典型值 考虑:总和(负例)/总和(正例)

Example:

from xgboost import XGBClassifier
import xgboost as xgb
LR=0.1
NumTrees=1000
xgbmodel=XGBClassifier(booster='gbtree',seed=0,nthread=-1,
                       gamma=0,scale_pos_weight=14,learning_rate=LR,n_estimators=NumTrees,
                      max_depth=5,objective='binary:logistic',subsample=1)
xgbmodel.fit(X_train, y_train)

OR

from xgboost import XGBClassifier
import xgboost as xgb
LR=0.1
NumTrees=1000
xgbmodel=XGBClassifier(booster='gbtree',seed=0,nthread=-1,
                       gamma=0,learning_rate=LR,n_estimators=NumTrees,
                      max_depth=5,objective='binary:logistic',subsample=1)
xgbmodel.fit(X_train, y_train,sample_weight=weights_train)

The sample_weight参数允许您为每个训练示例指定不同的权重。这scale_pos_weight参数可让您为整个示例类别(“正”类别)提供权重。

它们对应于成本敏感型学习的两种不同方法。如果您认为错误分类正面示例(错过癌症患者)的成本对于所有正面示例都是相同的(但不仅仅是错误分类负面示例,例如告诉某人他们实际上没有患有癌症),那么您可以指定一个所有正例的权重通过scale_pos_weight.

XGBoost 将 labels = 1 视为“正”类。从下面的代码中可以看出这一点:

if (info.labels[i] == 1.0f) w *= param_.scale_pos_weight

See 这个问题 https://stats.stackexchange.com/questions/243207/what-is-the-proper-usage-of-scale-pos-weight-in-xgboost-for-imbalanced-datasets.

另一种情况是您有依赖于示例的成本。一个例子是检测欺诈交易。不仅漏报(漏掉欺诈性交易)比误报(阻止合法交易)成本更高,而且漏报漏报的成本与被盗资金的金额成正比。因此,您希望为金额较高的正面(欺诈)示例赋予更大的权重。在这种情况下,您可以使用sample_weight参数来指定特定于示例的权重。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XGBOOST:sample_Weights 与scale_pos_weight 的相关文章

随机推荐

  • 一次将多个商品添加到 WooCommerce 购物车

    我有 3 个不同商品的 ID 我想将它们添加到购物车中 我可以用https url com shop cart add to cart 3001但是当我想添加 3 个项目时我却做不到 我可以添加任何功能 脚本来将此功能添加到我的购物网站吗
  • python中物理量的命名

    我想为我的模拟代码中使用的物理 数学量建立一个良好的命名方案 考虑以下示例 from math import class GaussianBeamIntensity object Optical intensity profile of a
  • 哪里可以获得适用于 Windows 的预编译 GTK3? [复制]

    这个问题在这里已经有答案了 有没有地方可以下载 Windows 版预编译的 GTK3 GTK 站点仅提供 2 22 版本的二进制文件 GTK for Windows 是由志愿者生成的 因此发布日期不同步 并且取决于开发人员的可用性 一旦完成
  • 寻找一种使用 Shapely 快速查找点所属多边形的方法

    我有一组约 36 000 个多边形 代表该国家 地区的一个分区 约县 我的 python 脚本接收很多点 pointId 经度 纬度 对于每个点 我想发回 pointId polygonId 对于每个点 循环到所有多边形并使用 myPoin
  • CSS 可以根据语言选择不同的默认字体和大小吗

    我有以下 CSS 片段 INPUT font family Raavi font size 14px 当文本框包含一些旁遮普文字时 效果很好 如下所示 但用户可能会输入英文 而我宁愿使用不同大小的 Verdana 字体 因为 Raavi 字
  • android:使用单个媒体播放器对象播放音频文件并显示图像

    我需要依次显示图像并播放相应的音频文件 我尝试创建多个媒体播放器对象 但它显示error 1 17 所以请帮助大家 我的时间不多了 现在我有一个处理程序 它播放音频文件 然后在播放另一个音频文件时获取该音频文件的持续时间 这是我的方法 但我
  • D3.js 中的树形图 x 和 y 属性从何而来?

    这是 JavaScript 代码 d3 json city json function error root var nodes cluster nodes root var links cluster links nodes consol
  • UITableView 单元格上的 Peek 和 Pop 因 UISearchController 而失败

    Peek and Pop 正在与UISearchController 但是 一旦您开始使用以下命令搜索表 Peek 和 Pop 就会停止工作updateSearchResults I ve extended Apple s Table Se
  • 从“local hackage”安装软件包(通过 cabal)

    是否有可能让阴谋集团 下载特定的包源 包括所有依赖包源 在稍后阶段 当不再依赖互联网连接时 通过 cabal 从本地下载的文件中自动按正确的顺序安装这些软件包 以便构建所需的软件包 我知道你可以使用cabal unpack查看特定包的源代码
  • IBM Worklight 6.1 开发者版下载链接

    我正在尝试从市场或谷歌下载 IBM Worklight 6 1 但我看不到任何相同的结果 任何人都可以分享 IBM WL 6 1 的链接以及如何将修复包升级到 6 1 0 1 我也在寻找开发者版本 由于 6 2 已发布 我只能看到 6 2
  • Altair 结合多个数据集

    我最近才知道Vega Vega Lite and Altair并将其视为最佳 Python 绘图工具的真正竞争者 我目前正在努力解决的问题是将两个数据帧中的信息绘制到共享一个或两个轴的同一个图表中 我尝试过类似的事情 plot1 alt C
  • 如何使用正则表达式匹配不在两个特殊字符之间的内容?

    我有一个像这样的字符串 a b c a b a b b a a 我如何匹配每一个a不是由以下分隔的字符串的一部分 我想匹配这里粗体的所有内容 a bc a乙 乙 乙a a 我想替换这些匹配项 或者通过用空字符串替换它们来删除它们 因此删除匹
  • 如何在 Spring-Web 中使用 RestTemplate 解析 gzip 编码响应

    我修改后使用 RESTful Web 服务 https spring io guides gs consuming rest 调用示例通过id获取用户 https api stackexchange com docs users by id
  • 如何使用 cv2.createButton 在 OpenCV 3.1 中制作按钮?

    我正在尝试向图像处理脚本添加一个按钮 以保存二进制阈值的高 HSV 值和低 HSV 值 根据OpenCV 3 0文档here http docs opencv org 3 0 beta modules highgui doc qt new
  • 如何将 jquery.Validate 与 jquery.multiselect 下拉菜单一起使用?

    所以情况是这样的 尝试使用添加下拉框jquery multiselect http www erichynds com jquery jquery ui multiselect widget 当前使用的表单上的插件jquery 验证 htt
  • 按需发布时的最佳(您认为)GIT 工作流程(在大多数情况下一次 1-2 个票证)

    我是一个 Git 新手 我正在寻求你的建议 在我工作的公司中 我们有一个 工作流程 其中我们的项目有一个 Git 存储库 有 2 个分支 master and prod 所有开发人员都致力于master分支 如果票证完成 从开发人员的角度来
  • Python Tkinter 输入小部件不接受输入

    我在 Tkinter 条目小部件方面遇到了一个非常奇怪的问题 当我尝试向其中输入内容时 他们不接受我的输入 在重新启动电脑并重新安装 Python 之后 我弄清楚了为什么会发生这种情况 在root mainloop 在代码中 代码看起来像这
  • 拆分 SAS 数据集

    我有一个 SAS 数据集 如下所示 id dept 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 9 B 10 B 11 B 12 B 13 B 每个观察代表一个人 我想将数据集分成 团队 数据集 每个数据集最多可以有 3
  • 为什么我不能从 long 中导出?

    我的函数返回一些长值 其中包含低 32 位和高 32 位中的两个值 我认为处理返回值的最佳方法 是从 long 派生我的自定义类型并提供 类型扩展器 例如 GetLowerValue GetHigherValue 问题是 NET 不允许从
  • XGBOOST:sample_Weights 与scale_pos_weight

    我有一个高度不平衡的数据集 想知道在哪里考虑权重 因此我试图理解之间的区别scale pos weight论证中XGBClassifier和sample weight的参数fit方法 如果可以同时使用这两种方法或者如何选择其中一种方法 我们