【发布时间】:2018-05-01 13:43:36
【问题描述】:
我坚持在 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
提前感谢您的帮助!
【问题讨论】:
-
inverse_transform将获取您的标签并将它们转换回具有编码的类。所以inverse_transform的输出是transform的输入。 MultilabelBinarizer -
@sharatpc,对不起,我有点困惑,因为我的模型之前是经过训练和腌制的,我正在从 csv 和
fit_transform重新读取标签,我对 @987654327 的输入是什么@? -
mlb.fit_transform(_labels)的输出将是输入 -
谢谢!那行得通。非常感谢!请作为答案发布,以便我接受
标签: python machine-learning scipy scikit-learn svm