我在使用Scikit-learn中的MultiLabel Binarizer和One-vs-all分类器时遇到了问题。 我的挑战是一旦获得预测结果,如何获取原始标签。(我分别训练和拟合了one-vs-rest分类器和向量化器)
_labels = load_labels()
mlb = MultiLabelBinarizer()
mlb.fit_transform(_labels)
print mlb.classes_ # this prints the binarized labels
_clf,_vect = load_pickle('./pickles')
for q in queries:
#query vector q
X = vect.transform([q])
res = clf.predict_proba(X)
print res #[[ 0.00164113 0.00706595 0.00683465 .... 0.00837984]]
#this is where I am stuck on what to pass into the inverse_transform to obtain
preds = mlb.inverse_transform(??)
print preds
Thanks for your help in advance!
inverse_transform
将使用编码将标签转换回类别。因此,inverse_transform
的输出是transform
的输入。MultilabelBinarizer - skrubbermlb.fit_transform(_labels)
的输出将作为输入。 - skrubber