如何处理 Scikit.learn 管道中不平衡的 xgboost 多类分类?

雨果

我正在使用 XGBClassifier 对不平衡的多类目标进行建模。我有几个问题:

First I would like to now where should I use the parameter weight on the instantion of the classifier or on the fit step of the pipeline?

Second question is how I calculate a weights. I assume that the sum of the array should be 1.

Third: Is there any order of the weight array that maps the diferent label classes?

谢谢大家

伦伦

对于你的第一个问题:

我应该在哪里使用参数权重

使用sample_weightXGBClassifier.fit()

xgb_clf = xgb.XGBClassifier()
xgb_clf.fit(X, y, sample_weight=sample_weight)

使用时pipeline

pipe = Pipeline([
    ('my_xgb_clf', xgb.XGBClassifier()),
])
pipe.fit(X, y, my_xgb_clf__sample_weight=sample_weight)

顺便说一句,sklearn 中的某些 API 不支持sample_weightkwarg,例如learning_curve.

所以我只是这样做:

import functools
xgb_clf.fit = functools.partial(xgb_clf.fit, sample_weight=sample_weight)

注意:您需要fit()在网格搜索后再次修补,因为GridSearchCV.best_estimator_不会是原始估计器。


对于第二个问题:

我如何计算权重。我假设数组的总和应该是 1。

from sklearn.utils import compute_sample_weight
sample_weight = compute_sample_weight('balanced', y_train)

class_weight='balanced'在 sklearn 中模拟

笔记:

  • 数组的总和不是 1。您可以对其进行归一化,但我认为得分结果会有所不同。
  • 这不等于class_weight='balanced_subsample'我找不到模拟这个的方法。

对于第三个问题:

有什么顺序吗...

抱歉我没明白你的意思...

也许你想要订单xgb_clf.classes_您可以在调用后访问它xgb_clf.fit或者只是使用np.unique(y_train).

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

scikit-learn中多类问题的级联分类器

来自分类Dev

Scikit-Learn 中的 Micro F1 分数与类别不平衡

来自分类Dev

scikit-learn中多类分类器的平均值=“ micro”的精确召回曲线

来自分类Dev

处理二进制分类中的类不平衡

来自分类Dev

scikit-learn中处理nan / null的分类器

来自分类Dev

如何处理R中不平衡的数据集?

来自分类Dev

使用scikit-learn处理分类特征

来自分类Dev

使用scikit-learn处理分类特征

来自分类Dev

处理 scikit-learn MLPClassifier 的分类标签

来自分类Dev

Keras中类不平衡多类分类器的损失函数

来自分类Dev

Scikit-Learn中的分类数据转换

来自分类Dev

如何处理sklearn随机森林中的类不平衡。我应该使用样本权重还是班级权重参数

来自分类Dev

使用scikit学习OneHotEncoder时如何处理分类数据中的缺失值(NaN)?

来自分类Dev

scikit-learn计算多标签分类中的F1

来自分类Dev

如何在scikit Learn,Python中处理名义数据?

来自分类Dev

Python / Scikit-Learn-无法处理多类和连续类的混合

来自分类Dev

使用scikit-learn处理太多分类功能

来自分类Dev

XGBoost的多类别分类如何工作?

来自分类Dev

在SciKit Learn中使用相同的预处理器缩放数据框中的多列

来自分类Dev

Tensorflow 中的不平衡二元分类

来自分类Dev

使用scikit-learn(sklearn),如何处理缺失数据(因变量y)进行线性回归?

来自分类Dev

如何预处理新实例进行分类,以使特征编码与使用Scikit-learn的模型相同?

来自分类Dev

在Spark MLlib中处理不平衡的数据集

来自分类Dev

Scikit-learn Ridge分类器:提取类概率

来自分类Dev

Scikit-learn Ridge分类器:提取类概率

来自分类Dev

如何使图像不平衡?

来自分类Dev

在使用scikit-learn测试多类svm时,如何找到预测的置信度?

来自分类Dev

应该考虑哪种方法来评估不平衡的多类分类?

来自分类Dev

当数据集不平衡时,多类分类的最佳损失函数?

Related 相关文章

  1. 1

    scikit-learn中多类问题的级联分类器

  2. 2

    Scikit-Learn 中的 Micro F1 分数与类别不平衡

  3. 3

    scikit-learn中多类分类器的平均值=“ micro”的精确召回曲线

  4. 4

    处理二进制分类中的类不平衡

  5. 5

    scikit-learn中处理nan / null的分类器

  6. 6

    如何处理R中不平衡的数据集?

  7. 7

    使用scikit-learn处理分类特征

  8. 8

    使用scikit-learn处理分类特征

  9. 9

    处理 scikit-learn MLPClassifier 的分类标签

  10. 10

    Keras中类不平衡多类分类器的损失函数

  11. 11

    Scikit-Learn中的分类数据转换

  12. 12

    如何处理sklearn随机森林中的类不平衡。我应该使用样本权重还是班级权重参数

  13. 13

    使用scikit学习OneHotEncoder时如何处理分类数据中的缺失值(NaN)?

  14. 14

    scikit-learn计算多标签分类中的F1

  15. 15

    如何在scikit Learn,Python中处理名义数据?

  16. 16

    Python / Scikit-Learn-无法处理多类和连续类的混合

  17. 17

    使用scikit-learn处理太多分类功能

  18. 18

    XGBoost的多类别分类如何工作?

  19. 19

    在SciKit Learn中使用相同的预处理器缩放数据框中的多列

  20. 20

    Tensorflow 中的不平衡二元分类

  21. 21

    使用scikit-learn(sklearn),如何处理缺失数据(因变量y)进行线性回归?

  22. 22

    如何预处理新实例进行分类,以使特征编码与使用Scikit-learn的模型相同?

  23. 23

    在Spark MLlib中处理不平衡的数据集

  24. 24

    Scikit-learn Ridge分类器:提取类概率

  25. 25

    Scikit-learn Ridge分类器:提取类概率

  26. 26

    如何使图像不平衡?

  27. 27

    在使用scikit-learn测试多类svm时,如何找到预测的置信度?

  28. 28

    应该考虑哪种方法来评估不平衡的多类分类?

  29. 29

    当数据集不平衡时,多类分类的最佳损失函数?

热门标签

归档