文本多标签分类python_机器学习:多标签分类的Python之旅

第1部分:多标签分类概述:

多标签分类起源于对文本分类问题的调查,其中每个文档可能同时属于多个预定义主题。

文本数据的多标签分类是机器学习中一个重要的问题。范例从新闻文章到电子邮件。例如,这可以用于基于其情节的总结来找到电影所属的类型。

图1:根据情节汇总查找流派的多标签分类

或基于电影海报的流派的多标签分类。(这进入了计算机视觉领域。)

图2:多标签分类根据电影海报查找流派

多类分类和多标签分类之间的区别在于,在多类问题中,类是相互排斥的,而对于多标签问题,每个标签表示不同的分类任务,但是任务有某种相关性。

例如,多类分类假设每个样品都被分配到一个且仅有一个标签:水果可以是苹果或梨,但不能同时存在。然而,多标签分类的一个例子可能是文本可能是关于宗教,政治,金融或教育的任何一个,或者都不是这些。

第2部分:问题定义和评估指标:

问题定义:

恶意评论分类是具有高度不平衡数据集的多标签文本分类问题。

我们面临着构建多标签模型的挑战,该模型能够检测威胁,淫秽,侮辱和身份仇恨等不同类型的恶意。我们需要创建一个模型来预测每个评论的每种恶意的可能性。

可以在这里找到Kaggle链接到这个问题(https://www.kaggle.com/c/jigsaw-toxic-comment-classification-challenge)。

评估指标:注意:最初Kaggle挑战中的评估指标是Log-Loss,后来更改为AUC。但是在这篇文章中,我们也会对其他评估指标进行评估。

单标签的评估措施通常与多标签不同。在单标签分类中,我们使用简单的度量标准,如精度,召回率,准确度等。比如,在单标签分类中,准确度只是:

图-3:单标签分类的准确度

在多标签分类中,错误分类不再是一个严重的错误或正确的分类。包含实际类别的子集的预测应该被认为比不包含它们的预测更好,即,正确地预测三个标签中的两个,这比完全不预测标签更好。

微平均和宏平均(基于标签的度量):

为了测量多类分类器,我们必须以某种方式平均分类。有两种不同的方法称为微平均和宏平均。

在微平均所有TP中,总结每个类的TN,FP和FN,然后取平均值。

Fig-4: Micro-Averaging

在微平均法中,您可以总结系统对于不同集合的个体真实肯定,误报和误报,并应用它们。而微平均F1分数将仅仅是上述两个方程的调和平均值。

宏平均是直截了当的。我们只是将系统的精度和召回的平均值放在不同的集合上。

图-5:宏平均

当您想知道系统如何在整个数据集上执行整体操作时,可以使用宏平均方法。你不应该拿这个平均数作出任何具体的决定。另一方面,当数据集大小不一时,微平均可能是一个有用的衡量指标。

Hamming-Loss(基于实例的度量):

用最简单的术语来说,Hamming-Loss是错误预测的标签部分,即错误标签的一小部分与标签总数的比例。

完全匹配率(子集精度):

它是最严格的度量标准,指示标签分类正确的样本的百分比。

的缺点是多类分类问题有部分正确的可能性,但在这里我们忽略了那些部分正确的匹配。

scikit-learn中有一个实现子集精度的函数,称为precision_score 。

第3部分:探索性数据分析(EDA):

探索性数据分析是数据分析过程中的重要步骤之一。在这里,重点是掌握手中的数据 - 诸如制定正确的问题以询问数据集,如何操作数据源以获取所需的答案等。

首先让我们导入必要的库。import os

import csv

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

import seaborn as sns

接下来,我们将来自csv文件的数据加载到pandas dataframe中并检查其属性。data_path = "/Users/kartik/Desktop/AAIC/Projects/jigsaw-toxic-comment-classification-challenge/data/train.csv"

data_raw = pd.read_csv(data_path)

print("Number of rows in data =",data_raw.shape[0])

print("Number of columns in data =",data_raw.shape[1])

print("\n")

print("**Sample data:**")

data_raw.head()

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值