如何从pickle加载的sklearn SGDClassifier模型中获取标签名称?
从pickle加载的SGDClassifier中获取所有标签名称
当然可以,训练好的SGDClassifier模型会将所有训练时遇到的类别标签存储在classes_属性中,不管后续输入的测试数据是否包含所有标签,都能通过这个属性获取完整的标签列表。
具体实现代码
import pickle # 加载保存的模型 model = pickle.load(open("saved_model.pkl", 'rb')) # 获取所有可能的标签 all_possible_labels = model.classes_ print("所有训练时的标签:", all_possible_labels)
补充说明
classes_是sklearn绝大多数分类模型的通用属性,存储的标签顺序和模型predict输出的类别索引一一对应。- 如果训练前用
LabelEncoder对标签做过编码,classes_返回的会是编码后的数值。若需要原始标签名称,建议训练时将LabelEncoder和模型一起打包保存(比如存入同一个字典后再pickle),加载时同时取出解码即可。
内容的提问来源于stack exchange,提问作者BigBrownBear00
相关产品推荐
相关产品推荐

