OneVsRestClassifier2025年3月17日 | 阅读 7 分钟 根据实例的属性识别其类别标签是机器学习分类任务中的一个常见挑战。多类别分类将类区分的思想应用于有两个以上潜在类的情况,而二元分类只处理二元分类。一种流行的多类别分类方法是 OneVsRestClassifier,它为处理此类任务提供了一种直接而有效的方法。 OneVsRestClassifier,有时也称为 One-vs-All (OvA),是一种将多类别分类问题分解为多个二元分类问题的方法。它将问题分解为多个二元分类任务,将每个类别视为一个单独的二元分类问题,而不是直接从多个选项中预测类别标签。简单地说,它将每个类别视为正类,将其他类别视为负类,为每个类别训练一个不同的二元分类器。 OneVsRestClassifier 的优点以下是 OneVsRestClassifier 的一些优点:
OneVsRestClassifier 的缺点OneVsRestClassifier 有许多优点,但也存在一些局限性。以下是 OneVsRestClassifier 的一些优点:
代码 使用此方法为每个类别训练一个分类器。每个类别都与每个其他类别进行分类。这种技术具有可解释性以及计算经济性(只需要 n_classes 个分类器)。检查关联的分类器可以提供有关该类别的见解,因为每个类别都由单个分类器表示。这是一个合理的默认选项,也是最广泛使用的方法之一。 数据集 BBC 新闻文章数据集以预处理的矩阵格式提供,仅供非商业和学术用途。
导入库输出 ![]() 读取数据集我们现在将加载数据集。 输出 ![]() EDA让我们看一下数据的组成。 输出 ![]() 数据准备我们将创建一个 DataPreparation 类,并在其中使用输入数据(news_data)创建一个名为 data_prep 的实例。然后调用 preprocess 方法执行预处理步骤,从而得到包含预处理文本数据的 cleanse_df DataFrame。 这种方法提高了代码的可重用性、可读性和可维护性,使得为各种 NLP 任务预处理文本数据更加容易。此外,类结构允许根据需要定制和扩展预处理功能。 输出 ![]() 特征工程我们现在将使用指定的计数向量器 (CountVectorizer) 和 TF-IDF 向量器 (TF-IDF Vectorizer) 对文本数据进行向量化。 输出 ![]() 输出 ![]() 我们需要将 TF-IDF 向量(train_tfidf 和 valid_tfidf)的维度减少到 2000 维,用于训练集和验证集。 模型输出 ![]() 求值我们现在将查看用于模型评估的各种指标。 输出 ![]() 从准确率来看,它似乎相当不错。 下一话题机器学习最佳程序 |
我们请求您订阅我们的新闻通讯以获取最新更新。