python - 为什么 fscore 的值大于 1?
问题描述
我使用 XGBClassifier 来拟合数据集并使用以下代码获得 feature_score:
feature_score = clf.get_booster().get_score()
我得到的 fscores 都大于 1,但这怎么可能呢?
解决方案
XGBoost 用来评估特征重要性的不是 F1 分数。F1 分数传达了准确率和召回率之间的平衡,并且在 [0, 1] 之间变化。XGBoost 使用特征分数评估特征的重要性,该分数表明特征在集成中出现的次数,并且可以在 [0, x] 之间变化,其中 x 是集成中树的数量。
推荐阅读
- reactjs - 如何仅通过街道地址和城市做出反应来获得建筑物的地理距离?
- google-analytics - 我想要在 PHP 中使用 orderBy 和 Filters 的 Google Analytics Data API (GA4) 示例代码
- ruby-on-rails - 如何在 Ruby on Rails 中显示数据库中的图像文件?
- r - 根据日期范围合并两个数据集。R
- css - 使用 Material UI 库时,我无法更改模板的图像 - 如何更改随机飞溅以设置图像?
- arrays - 修改已存储在数组中的多个 csv 文件
- ios - 当我使用它的值创建对象 Xcode 时,日期变量设置为零
- java - React Native HeadlessJS 地理位置不起作用
- pytorch - 如何在 Pytorch 中选择数据集的子集?
- javascript - 辅助函数在 Javascript 中不起作用