SetFit 文档
多标签文本分类
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
多标签文本分类
SetFit 支持多标签分类,允许为每个实例分配多个标签。
除非每个实例都必须分配多个输出,否则您通常不需要指定多目标策略。
本指南将向您展示如何训练和使用多标签 SetFit 模型。
多标签策略
SetFit 将从 sklearn
初始化一个多标签分类头 - 以下选项可用于 multi_target_strategy
"one-vs-rest"
: 使用OneVsRestClassifier
头。"multi-output"
: 使用MultiOutputClassifier
头。"classifier-chain"
: 使用ClassifierChain
头。
有关更多详细信息,请参阅 scikit-learn 关于多类和多输出分类的文档。
使用多标签策略初始化 SetFit 模型
使用默认的 LogisticRegression 头,我们可以像这样应用多目标策略
from setfit import SetFitModel
model = SetFitModel.from_pretrained(
model_id, # e.g. "BAAI/bge-small-en-v1.5"
multi_target_strategy="multi-output",
)
使用可微分头,它看起来像这样
from setfit import SetFitModel
model = SetFitModel.from_pretrained(
model_id, # e.g. "BAAI/bge-small-en-v1.5"
multi_target_strategy="one-vs-rest"
use_differentiable_head=True,
head_params={"out_features": num_classes},
)