微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sklearn中的分类器输出值范围

如何解决sklearn中的分类器输出值范围

我有一个保存为 pickle 文件的模型。

现在假设模型经过训练可以从 5 个可能的标签中预测一个标签。如何检查模型可以预测哪些值(标签)?

我不希望我的模型根据 X_Test 预测值。我想知道模型能够预测的可能值。

编辑以添加更多详细信息

def predict_model():
    vectorizer_reloaded = cPickle.load(open('model.pkl','rb'))
    detector_reloaded = cPickle.load(open('model_clf.pkl','rb'))
    X_test = vectorizer_reloaded.transform(df['Text'])
    xs = detector_reloaded.predict(X_test)
    prob_pos = detector_reloaded.predict_proba(X_test)

我正在使用上面的代码来预测输出... xs 包含预测的输出,但也有一种方法可以用这样的东西在模型中获取所有输出

All_Outputs = detection_reloaded.all_outputs()

解决方法

这经常出现在名为 classes_ 的字段中。我没有仔细检查过,base classifier 中也不需要它,但它是一个不错的首选。

detector_reloaded = cPickle.load(open('model_clf.pkl','rb'))
print(detector_reloaded.classes_)

请注意,我发现即使对于像 DecisionTreeClassifier 这样可以执行多标签分类的分类器也是如此。

我在 classes_ 中看到的课程:

此列表并不详尽,因此请务必查看您的特定模型的文档以验证它是否设置了 classes_

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。