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_