关键词:
【中文标题】Pyspark 多标签文本分类【英文标题】:Pyspark multilabel text classification 【发布时间】:2018-05-16 01:04:36 【问题描述】:我正在尝试预测未知文本的标签。我的数据如下所示:
+-----------------+-----------+
| label | text |
+-----------------+-----------+
| [0, 1, 0, 1, 0] | blah blah |
| [1, 1, 0, 0, 0] | foo bar |
+-----------------+-----------+
使用多标签二值化方法编码的第一列。 我的管道:
tokenizer = Tokenizer(inputCol="text", outputCol="words")
hashingTF = HashingTF(inputCol=tokenizer.getOutputCol(), outputCol="features")
lsvc = LinearSVC(maxIter=10, regParam=0.1)
ovr = OneVsRest(classifier=lsvc)
pipeline = Pipeline(stages=[tokenizer, hashingTF, ovr])
model = pipeline.fit(result)
当我运行这段代码时,我收到了这个错误:
ValueError: invalid literal for int() with base 10: '[1, 0, 1, 0, 1, 1, 1, 0, 0]'
有什么想法吗?
【问题讨论】:
你是如何生成标签列的。我正在做一些非常相似的事情,但我无法在 pyspark 中找到相当于 MultilableBinarizer 的东西。你能帮帮我吗? 【参考方案1】:查看错误
int() 的文字无效
我们看到问题在于标签的期望类型不是数组,而是对应样本类的单个值。换句话说,您需要将标签从多标签二值化编码转换为单个数字。
一种方法是首先将数组转换为字符串,然后使用StringIndexer
:
to_string_udf = udf(lambda x: ''.join(str(e) for e in x), StringType())
df = df.withColumn("labelstring", to_string_udf(df.label))
indexer = StringIndexer(inputCol="labelstring", outputCol="label")
indexed = indexer.fit(df).transform(df)
这将为每个唯一数组创建一个单独的类别(类标签)。
【讨论】:
这不会影响准确性吗?通过这种方法,我们预测标签语料库而不是单个标签 @KertisvanKertis:可能,但据我所知,如果您想在这里使用 PySpark,没有太多选择。如果数据集较小,您可以尝试sklearn
,它确实具有支持此类标签的方法。bert-多标签文本分类实战之一——实战项目总览
[1]总览 【BERT-多标签文本分类实战】系列共七篇文章: 【BERT-多标签文本分类实战】之一——实战项目总览 【BERT-多标签文本分类实战】之二——BERT的地位与名词术语解释 【BERT-多标签文本分类实战】之三—... 查看详情
多标签文本分类《基于标签语义注意力的多标签文本分类》
·阅读摘要: 为了建立标签的语义信息和文档的内容信息之间的联系并加以利用,文章提出了一种基于标签语义注意力的多标签文本分类(LAbelSemanticAttentionMulti-labelClassification,简称LASA)方法。·参考文献: [1]基... 查看详情
多标签文本分类《融合注意力与cornet的多标签文本分类》
·阅读摘要: 本文主要提出标签与文本注意力+文本注意力、CorNet增强标签预测概率两个创新点,提升了实验精度。·参考文献: [1]融合注意力与CorNet的多标签文本分类参考论文信息 论文名称:《融... 查看详情
bert-多标签文本分类实战之三——多标签文本分类的方向与常用数据集介绍(代码片段)
·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<【注】本篇将首先介绍多标签文本分类中几个小方向,然后介绍这几个小方向对应的常用数据集... 查看详情
bert-多标签文本分类实战之三——多标签文本分类的方向与常用数据集介绍(代码片段)
·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<【注】本篇将首先介绍多标签文本分类中几个小方向,然后介绍这几个小方向对应的常用数据集... 查看详情
bert-多标签文本分类实战之三——多标签文本分类的方向与常用数据集介绍(代码片段)
·请参考本系列目录:【BERT-多标签文本分类实战】之一——实战项目总览·下载本实战项目资源:>=点击此处=<【注】本篇将首先介绍多标签文本分类中几个小方向,然后介绍这几个小方向对应的常用数据集... 查看详情
拟合多标签文本分类模型时的错误
】拟合多标签文本分类模型时的错误【英文标题】:BugswhenfittingMultilabeltextclassificationmodels【发布时间】:2019-12-1723:09:57【问题描述】:我现在正在尝试为多标签文本分类问题拟合分类模型。我有一个训练集X_train,其中包含已清... 查看详情
带反馈的多标签文本分类
】带反馈的多标签文本分类【英文标题】:multi-labeltextclassificationwithfeedback【发布时间】:2018-06-1013:54:13【问题描述】:我目前正在研究一个多标签多类文本分类问题。在问题的某些部分,我需要向用户提供反馈,即算法根据哪... 查看详情
多标签文本分类,每个训练数据的类标签分布不均匀
】多标签文本分类,每个训练数据的类标签分布不均匀【英文标题】:Multi-labeltextclassificationwithnon-uniformdistributionofclasslabelsforeverytraindata【发布时间】:2020-04-0919:52:50【问题描述】:我有一个多标签分类问题,我想用六个标签对... 查看详情
多标签文本分类《基于标签语义注意力的多标签文本分类》
·阅读摘要: 为了建立标签的语义信息和文档的内容信息之间的联系并加以利用,文章提出了一种基于标签语义注意力的多标签文本分类(LAbelSemanticAttentionMulti-labelClassification,简称LASA)方法。·参考文献: [1]基... 查看详情
为多标签文本分类转换数据集
】为多标签文本分类转换数据集【英文标题】:TransformingaDatasetforMulti-LabelTextClassification【发布时间】:2021-11-0501:51:10【问题描述】:我正在通过深度学习模型进行一些关于多标签分类的实验。但是我遇到了数据集的问题。我使... 查看详情
多标签文本分类《融合注意力与cornet的多标签文本分类》
·阅读摘要: 本文主要提出标签与文本注意力+文本注意力、CorNet增强标签预测概率两个创新点,提升了实验精度。·参考文献: [1]融合注意力与CorNet的多标签文本分类参考论文信息 论文名称:《融... 查看详情
使用 Sklearn 进行多标签文本分类
】使用Sklearn进行多标签文本分类【英文标题】:MultilabeltextclassificationwithSklearn【发布时间】:2020-09-0206:07:30【问题描述】:为了解决我在Python中的多标签文本分类问题,我已经尝试了所有我能想到的方法,我非常感谢任何帮助... 查看详情
使用 TensorFlow 的多标签文本分类
】使用TensorFlow的多标签文本分类【英文标题】:MultilabelTextClassificationusingTensorFlow【发布时间】:2016-05-2519:32:19【问题描述】:文本数据组织为具有20,000个元素的向量,例如[2,1,0,0,5,....,0]。第i个元素表示文本中第i个单词的频率... 查看详情
多标签文本分类层次多标签文本分类方法
...: 本文是一篇中文综述,主要介绍了层次多标签分类的一些算法。·参考文献: [1]赵海燕,曹杰,陈庆奎,曹健.层次多标签文本分类方法[J/OL].小型微型计算机系统.https://kns.cnki.net/kcms/det... 查看详情
为啥我的多标签文本分类 LSTM 表现不佳?
】为啥我的多标签文本分类LSTM表现不佳?【英文标题】:WhymyLSTMforMulti-LabelTextClassificationunderperforms?为什么我的多标签文本分类LSTM表现不佳?【发布时间】:2021-11-0705:01:17【问题描述】:我使用的是Windows10机器。库:带有Tensorflo... 查看详情
bert模型做多标签文本分类(代码片段)
Bert模型做多标签文本分类参考链接BERT模型的详细介绍图解BERT模型:从零开始构建BERT(强推)李宏毅2021春机器学习课程我们现在来说,怎么把Bert应用到多标签文本分类的问题上。注意,本文的重点是Bert的应用,对... 查看详情
使用 scikit-learn 进行多标签文本分类,使用哪些分类器?
】使用scikit-learn进行多标签文本分类,使用哪些分类器?【英文标题】:Multi-labeltextclassificationwithscikit-learn,whichclassifierstouse?【发布时间】:2018-07-2719:58:10【问题描述】:我已经使用导入这些分类器的scikit-learnPython库完成了文本... 查看详情