手动标记数据集有意义吗?

数据挖掘 机器学习 分类 标签
2022-03-06 18:40:26

我想在没有标签的数据集上实现分类器。我编写了一个脚本,它用一些特定的值来标记源文件的每一行,比如“ IF H > 45 && T <= 89 THEN label = True ”。

做这样的事情有意义吗?我的意思是,如果我能够通过我编写的脚本来标记数据集,我为什么需要分类器?有什么论据为什么仍然使用分类器是有意义的?

2个回答

鸡蛋的困境

什么先出现:标记数据还是机器学习模型?

  • 如果您有标记数据,那么您可以训练机器学习模型。

  • 如果你有一个训练有素的机器学习模型,那么你可以标记数据。

精度与召回率

假设您是案例 2(您有一个模型)。那么你的模型的准确率和召回率如何?除非两者都是100%,您可能仍想标记数据。

                       recall
                 100%     |     < 100%
          --------------------------------------
          Your model is   | You can confidently
p   100%  perfect. You    | trust the labels you
r         don't need more | get. But your model 
e         data.           | might miss some.
c         --------------------------------------
i         You get         | You get some 
s  < 100% labels, but you | labels, but you
i         still need to   | still need to
o         confirm that    | confirm that
n         they are correct| they are correct

大多数人会在右下象限(准确率和召回率是<100%)。目标是尽可能接近100%. 因此,模型会输出标签,作为人工标注的基础。

你的情况

如果您可以使用一些规则标记所有行并且您正在创建这些规则,那么实际上您已经在手动标记数据。此外,您可以稍后使用决策树对所有规则进行建模,以便处理您遇到的新数据点。

如果您使用可以轻松编码的特定规则对其进行标记,则意味着您知道模型并且学习它没有意义,那么您已经知道了。但是,在某些情况下,您需要这样做。一个例子是当你想学习一种不同形式的分类器时。例如,查看拟合逻辑回归并从中获得见解。

另一个常见用例是当您想要将知识从人类转移到模型时。例如,人类擅长识别图像中的物体。您手动标记它们并安装分类器以自动执行此活动