我有许多类和相应的特征向量,当我运行predict_proba()时,我会得到以下信息:

classes = ['one','two','three','one','three']

feature = [[0,1,1,0],[0,1,0,1],[1,1,0,0],[0,0,0,0],[0,1,1,1]]

from sklearn.naive_bayes import BernoulliNB

clf = BernoulliNB()
clf.fit(feature,classes)
clf.predict_proba([0,1,1,0])
>> array([[ 0.48247836,  0.40709111,  0.11043053]])

我想得到对应于什么类(Class)的概率。在此页面上说,它们是按算术顺序排序的,我不确定这是什么意思:http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC.predict_proba

这是否意味着我已经通过训练示例将相应的索引分配给类(class)的第一次遇到,还是有这样的命令?
clf.getClasses() = ['one','two','three']?

最佳答案

只需使用分类器的.classes_属性即可恢复映射。在您的示例中给出:

>>> clf.classes_
array(['one', 'three', 'two'],
      dtype='|S5')

还要感谢您在问题中添加了一个简约的复制脚本,只需复制并粘贴到IPython shell中,它就使回答变得非常容易:)

关于python - 如何在clf.predict_proba()中找到相应的类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16858652/

10-12 18:33