xgboost predict_proba : 如何将概率与标签进行映射

我正在尝试使用xgboost算法解决多类分类问题,但是我不清楚predict_proba函数的具体工作原理。实际上,predict_proba函数会生成一系列概率,但我不知道每个概率对应哪个类别。

这是一个简单的例子:

这是我的训练数据:

+------------+----------+-------+| feature1   | feature2 | label |+------------+----------+-------+|    x       |    z     |   3   |+------------+----------+-------+|    y       |    u     |   0   |+------------+----------+-------+|    x       |    u     |   2   |+------------+----------+-------+

然后当我尝试为一个新样本预测概率时

model.predict_proba(['x','u'])

这会返回类似这样的结果:

[0.2, 0.3, 0.5]

我的问题是:概率为0.5的类别是哪个?是类别2,还是3或0?


回答:

看起来你使用的是xgboost的sklearn API。在这种情况下,模型有一个专用的属性model.classes_,它返回模型学习到的类别,并且输出数组中类别的顺序对应于概率的顺序。

这是一个使用虚拟数据的例子:

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注