问题描述
现在假设模型经过训练可以从 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_
。