我是数据科学的新手。我有一个“短文本”分类问题,其中输入变量是非结构化文本(名称、定义、描述等)或分类。这些字段没有太多语义,因为它们是产品名称、地区名称、销售订单类型等。问题是我没有任何样本数据集可以从中派生训练、测试、验证集或将其划分为 k 折用于交叉验证。那么我应该如何生成样本数据呢?我有大约 20 个目标课程。我可以使用基于正则表达式或 lucene 规则的匹配对某些数据集进行分类,并手动验证它们并确保每个类具有相同数量的样本。但我对其他建议持开放态度。
如何为分类问题生成样本数据集
数据挖掘
机器学习
文本挖掘
多类分类
2022-03-07 13:06:56
1个回答
我知道这并没有回答您实际提出的问题,但我建议您不要为“短文本”分类问题生成数据。
当非常熟悉算法的数据科学家想要展示特定功能时,生成的数据可以适用于某些情况,但是作为数据科学和机器学习的新手,可能会导致您误入歧途。
我建议您在这里利用一些免费和开放的数据,或者专门用于开放数据的整个堆栈交换。
真实数据会给你带来更少人为问题的经验,你通常可以在非常不同的数据集上尝试类似的 ML 模型,以获得数据科学的变化和陷阱的经验。要有创意……您可能找不到您想要的确切内容,但您可以通过投影几个文本字段并使用它们对另一个字段进行分类来对数据进行子集化。
附录更新:
通过您最近的编辑,现在很明显,您正在寻求将无监督训练数据转换为监督训练数据,以训练监督学习分类模型。您建议的方法“使用基于正则表达式或 lucene 规则的匹配对某些数据集进行分类并手动验证它们”是一种没有人工验证步骤的确定性无监督方法。
如果没有对您创建的目标数据进行人工验证,我不会考虑将派生目标反馈回分类算法,因为您的结果只会与派生目标数据一样强,并且预测会显示类似的错误。相反,您应该考虑一种半监督学习方法,您可能会使用聚类算法,然后用目标变量标记聚类。
通过对您创建的目标数据进行人工验证,这将作为分类模型的训练数据正常工作。唯一的问题是这可能会变得乏味。您可以聘请机械土耳其人(支付报酬以执行重复性任务)来为您执行标签,这可能是一个更具可扩展性的选择。
希望这可以帮助!
其它你可能感兴趣的问题