首页 > 解决方案 > 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 = 探测器重载.all_outputs()

标签: pythonscikit-learnclassification

解决方案


这在一个叫做classes_. 我没有详尽地检查过,在base classifier中也不需要它,但它是一个不错的首选。

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

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

我看过classes_的课程:

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


推荐阅读