如何解决sklearn中的分类器输出值范围
现在假设模型经过训练可以从 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_
中看到的课程:
- KNeighborsClassifier
- SVC
- GaussianProcessClassifier
- DecisionTreeClassifier
- RandomForestClassifer
- AdaBoostClassifier
- MLPClassifier
- GaussianNB
- QuadraticDiscriminantAnalysis
此列表并不详尽,因此请务必查看您的特定模型的文档以验证它是否设置了 classes_
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。