使用 sklearn MLP.predict_proba() 函数时找出类的标签

Posted

技术标签:

【中文标题】使用 sklearn MLP.predict_proba() 函数时找出类的标签【英文标题】:Figuring out labeling for classes when using sklearn MLP.predict_proba() function 【发布时间】:2018-05-01 17:53:40 【问题描述】:

我正在创建一个带有标记类的神经网络,这些类是二进制值列表,有 1167 个类。我想利用 MLP.predict_proba() 根据预测概率输出前 5 个类,但输出是一个 np 数组,每个类的概率仅由索引值标记,即

enter image description here

我想弄清楚哪些类与这些概率相关联,并且 predict 函数正确输出表示它被预测到的类的二进制列表。无论如何,我是否可以将这些类手动标记到这些唯一的二进制列表中?我基本上已经标记了类,并且我的神经网络能够在我使用 predict_proba() 时为其预测输出正确的二进制列表,它只给我概率,而没有明确指示这些概率是针对哪些类。谢谢!

【问题讨论】:

你能提供一个MCVE吗? 添加您的代码,然后我们将能够为您提供帮助 【参考方案1】:

拟合后使用mlp的classes_。根据the documentation:

classes_ : 数组或形状数组列表 (n_classes,) 类标签 每个输出。

它将打印出从数据集中学习的类(主要按字母顺序)。

predict_proba() 将以相同的顺序输出值。

【讨论】:

它仍然输出 0-1164 作为类而不是表示该类的二进制列表。我有什么方法可以手动标记类吗? @deadKoyla 课程如何发送到fit()。训练前你把类转换成 0-1164 了吗?

以上是关于使用 sklearn MLP.predict_proba() 函数时找出类的标签的主要内容,如果未能解决你的问题,请参考以下文章

当我应该使用其中之一时,“sklearn.cluster.k_means”和“sklearn.cluster.KMeans”有啥区别?

sklearn.svm在建立好模型后怎么使用

sklearn使用小贴士

sklearn.svm在建立好模型后怎么使用

Sklearn:使用 CalibratedClassifierCV 校准多标签分类

sklearn:在 RandomizedSearchCV 中使用管道?