为多标签文本分类转换数据集

     2023-03-13     207

关键词:

【中文标题】为多标签文本分类转换数据集【英文标题】:Transforming a Dataset for Multi-Label Text Classification 【发布时间】:2021-11-05 01:51:10 【问题描述】:

我正在通过深度学习模型进行一些关于多标签分类的实验。 但是我遇到了数据集的问题。

我使用 Keras、TensorFlow 2.0、numpy、pandas。

我有一个数据集,格式如下: Dataset in the form that I have it

要应用多标签分类(6 个标签),我需要我的数据集采用以下形式: Dataset in the form that I need it

如何实现这一目标?是否有任何函数可以让这种转换变得更容易?

试试:

comments_df[['abusive','hateful','offensive','disrespectful','fearful','normal']] = comments_df['sentiment'].str.split('_', -1, expand=True)

这给了我一个错误:

ValueError: Columns must be same length as key

关于我将使用的 DL 模型,它是 bi-LSTM,但它与问题本身没有任何关系。

【问题讨论】:

【参考方案1】:

试试这个:

df = pd.get_dummies(data = df, columns = ['sentiment'])

【讨论】:

是的,这部分解决了问题。由于数据的性质,它创建的列多于所需的列,但是您的代码和之后的一些列“删除”。行得通。【参考方案2】:

我发现这是可行的(不是最佳解决方案):

"""
Creating a column for each of the target labels with sentiment's column data.
"""


def split_sentiment_outputs(output_label, sentiment_col="sentiment"):
    comments_df[output_label] = comments_df[sentiment_col].str.split('_')


"""
Transform column's data to categorical.
"""


def transform_data_for_multilabel(output_label):
    row = comments_df[output_label]
    for index, row in row.items():
        # print("Index:", index)
        # print("length:", len(row))
        # print("content:", row)
        # print("--------------")
        z = 0
        while z < len(row):
            if row[z] == output_label:
                comments_df.at[index, output_label] = 1
                break
            else:
                comments_df.at[index, output_label] = 0
            z = z + 1

# Applying Data Transformation
output_labels = ["abusive", "hateful", "offensive", "disrespectful", "fearful", "normal"]
for i in range(MAX_OUT):
    split_sentiment_outputs(output_labels[i])

for i in range(MAX_OUT):
    transform_data_for_multilabel(output_labels[i])

【讨论】:

请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。 我相信如果有人打开我链接的图片,那么代码就会变得非常简单。你认为我必须澄清什么?由于我是新成员,您的指导将非常有帮助!

将单标签分类器转换为多标签分类器

】将单标签分类器转换为多标签分类器【英文标题】:Convertmono-labelClassifierintomulti-labelclassifier【发布时间】:2018-12-2618:02:15【问题描述】:大家好!继续我的问题:我有一个简单的图像分类器(2conv+2fc),它在我的数据集(95%acc)上... 查看详情

转换为多标签分类

】转换为多标签分类【英文标题】:Transformationtomultilabelclassification【发布时间】:2022-01-2116:39:07【问题描述】:我正在尝试在Python(Keras)中实现一个神经网络,该网络将预测多个结果的概率。目前我有以下代码,为简单起见,我... 查看详情

将二进制分类转换为多标签?

】将二进制分类转换为多标签?【英文标题】:Convertingbinaryclassificationtomultilabel?【发布时间】:2020-10-0421:40:45【问题描述】:我正在尝试将我的二值图像分类模型转换为多标签,但我在使用NumPy数组时遇到了错误期望值二维值谁... 查看详情

拟合多标签文本分类模型时的错误

...布时间】:2019-12-1723:09:57【问题描述】:我现在正在尝试为多标签文本分类问题拟合分类模型。我有一个训练集X_train,其中包含已清理文本的列表,例如["IamconstructingMarkovchainswithtostatesandinferringtransitio 查看详情

bert-多标签文本分类实战之三——多标签文本分类的方向与常用数据集介绍(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<【注】本篇将首先介绍多标签文本分类中几个小方向,然后介绍这几个小方向对应的常用数据集... 查看详情

bert-多标签文本分类实战之三——多标签文本分类的方向与常用数据集介绍(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<【注】本篇将首先介绍多标签文本分类中几个小方向,然后介绍这几个小方向对应的常用数据集... 查看详情

bert-多标签文本分类实战之三——多标签文本分类的方向与常用数据集介绍(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<【注】本篇将首先介绍多标签文本分类中几个小方向,然后介绍这几个小方向对应的常用数据集... 查看详情

bert-多标签文本分类实战之四——数据集预处理(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<[1]数据集预处理的流程  在拿到数据集之后,我们关心接下来操作的步骤:  ·查看数... 查看详情

bert-多标签文本分类实战之四——数据集预处理(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<[1]数据集预处理的流程  在拿到数据集之后,我们关心接下来操作的步骤:  ·查看数... 查看详情

bert-多标签文本分类实战之四——数据集预处理(代码片段)

·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<[1]数据集预处理的流程  在拿到数据集之后,我们关心接下来操作的步骤:  ·查看数... 查看详情

Python3:使用reuters 21578数据集进行多标签文本分类

】Python3:使用reuters21578数据集进行多标签文本分类【英文标题】:Python3:Multi-labeltextclassificationwithreuters21578dataset【发布时间】:2018-05-0913:29:02【问题描述】:我正在使用以下代码将文档分为体育、政治和金钱三类。我可以看到... 查看详情

bert-多标签文本分类实战之一——实战项目总览

[1]总览  【BERT-多标签文本分类实战】系列共七篇文章:  【BERT-多标签文本分类实战】之一——实战项目总览  【BERT-多标签文本分类实战】之二——BERT的地位与名词术语解释  【BERT-多标签文本分类实战】之三—... 查看详情

如何处理多类文本分类中不在训练集中的测试集标签?

】如何处理多类文本分类中不在训练集中的测试集标签?【英文标题】:HowtohandletestsetlabelswhicharenotintrainingsetinMultiClassTextClassification?【发布时间】:2019-11-0421:32:46【问题描述】:我正在使用具有训练集和测试集的多类文本分类... 查看详情

关于使用独立数据集通过 weka 验证文本分类的问题

...试使用weka对垃圾邮件和非垃圾邮件进行分类。将100条带标签的垃圾邮件和另外100万条带标签的非垃圾邮件作为训练数据集,我使用stringtowordvec 查看详情

将包含训练数据及其标签的单独文本文件转换为 ARFF 格式

】将包含训练数据及其标签的单独文本文件转换为ARFF格式【英文标题】:ConvertingseparatetextfilescontainingtrainingdataanditslabelstoARFFformat【发布时间】:2014-05-1103:38:19【问题描述】:我需要在Weka中为数据集执行分类任务。数据集包含3... 查看详情

大型数据集的多标签分类

】大型数据集的多标签分类【英文标题】:Multi-labelclassificationforlargedataset【发布时间】:2013-12-1508:57:04【问题描述】:我正在解决一个多标签分类问题。我有大约600万行要处理,它们是大量的文本。它们在单独的列中使用多个... 查看详情

为多类分类留一出准确率

】为多类分类留一出准确率【英文标题】:Leaveoneoutaccuracyformulticlassclassification【发布时间】:2014-12-0501:30:20【问题描述】:在多类、onev/srest分类的情况下,我对如何使用leaveoneout(LOO)方法计算准确率有点困惑。我正在研究YUPENN动... 查看详情

为多标签分类评估 DNNClassifier

】为多标签分类评估DNNClassifier【英文标题】:EvaluatingDNNClassifierformulti-labelclassification【发布时间】:2019-10-1318:28:13【问题描述】:我正在使用tensorflowDNNClassifier进行多标签分类,它使用准确度,因为它使用它的度量。我正在使用... 查看详情