我创建了一个多分类SVC模型,该模型基于文本将输入文本分类为〜100个目标值之一。
我设法显示了Predict_proba:
输出:
array([[0.050, 0.001, 0.002, 0.701, 0.032, 0.008, 0.002, 0.001, 0.002,
0.003, 0.005, 0.001 .... ]])
但是,我还希望输出仅显示其所属的目标变量。我也希望它首先输出具有最高概率的目标变量。它可能最终看起来像这样:
输出:Target4: 0.701, Target1: 0.050, Target5: 0.032
等。...
我该如何实现?
仅显示前10个预测目标值也很妙(因此,我不会获得包含〜100个目标值的概率的输出)。
答案 0 :(得分:1)
如果您使用的是sklearn
,则可以尝试使用此代码段来打印顶级N
类及其对应概率的列表:
print(sorted(zip(clf.classes_, probs[0]), key=lambda x:x[1])[-N:])