【机器学习】评估机器学习的数据准备情况

公司的数据尚未准备好用于机器学习有五个常见原因。

 

1.数据无法访问

显而易见的是,您需要实际拥有数据才能进行机器学习,但有些公司正面临着这个最初的障碍。他们知道他们想要解决的问题,但他们没有实际帮助他们解决问题的数据。

一旦确定了要自动化的任务,首先要问自己的问题是数据是否存在于您的模型或自动化过程中。一个好的数据策略应该从数据清单开始。将其视为机器学习的原材料。如果您没有内部数据,则需要获取它。是否有可以购买和使用的外部数据集,或者是否有可以利用的内部数据集?数据是否存在以解决您尝试解决的问题的任何能力?

通常,数据是否可用的问题不是具有数据的简单二元问题。客户端有一些数据更常见,但它不够正确,或者缺少重要数据。

也许这些数据有我们需要的50个属性,但其中有五个或十个属于稀疏或根本没有填充。太多的漏洞使数据无法使用 - 您可能根本没有您认为自己所做的数据,并且在继续进行机器学习之前需要一种方法来增强它。

这些差距通常归因于历史收集方法。二十年前,许多企业并不关心数据。十年前,他们开始关注和收集数据,却不知道他们将要解决哪些问题。今天,当他们知道他们想要做什么数据时,数据缺少他们需要的一些属性。收藏家无法预测未来,也不知道他们最终会被问到什么问题。

通常你会发现自己在想:“只要他们要求这些东西,我们就拥有了我们所需要的一切。”这更多的是规则而不是例外。最好在解决问题时找到解决方法或发挥创意,因为很少会出现定义明确的问题以及解决问题所需的确切数据集。

程序化可访问性

内部数据集,特别是那些来自产品或与客户数据相关的数据集,由于非技术原因而难以获得,这种情况并不少见。

假设您要使用客户数据。您知道数据存在。事实上,它拥有您需要的一切。但你实际上并不能使用它,因为你的客户从未给你许可。或者,您可能在一个大型官僚组织内部,其安全限制阻止您访问数据。也许数据具有个人身份信息或其他敏感信息,即使您知道数据,也无法获得批准以获取数据。

再次,考虑历史收集方法。最初,当公司为其产品建立服务协议条款时,他们没有考虑将结果数据重新用于机器学习。那是因为在十年或十五年前,很少有公司在认真考虑机器学习。因此,他们从未让客户同意将其用于此目的。

在21世纪初,很少有公司考虑过数据。到了21世纪后期,“大数据”成为一个流行术语,公司开始接受它,因此他们开始从客户那里收集数据。现在,在2010年末,公司真的希望充分利用机器学习的数据。但他们可能没有权利这样做,因为原来的服务条款不允许这样做。

所有这些都遵循公司的自然,可预测的进展:1)我们没有数据2)让我们开始收集数据3)让我们使用数据4)我们需要返回并要求获得数据许可。

今天,公司通常会重写其服务条款或以其他方式要求客户使用其数据。


可访问性的另一个挑战是实际获得所需内容所需的组织工作量。即使数据最终可以访问,您也可能需要考虑这样做的官僚滞后。如果你必须通过另一个超级忙碌的小组,可能需要数月才能获得数据。在某些情况下,这种延迟可能相当于根本没有数据。

加快敏感数据或安全数据流程的一种方法是对安全策略和实践有一个深刻的理解,这样,当不可避免的问题出现为什么一个团队应该委托机器学习专家提供数据时,你已经有了答案他们的信息安全部门要问的问题。

即使在内部,重要的是要知道当安全性很重要时,其他人可能会提出的有关共享数据的反对意见。准备好你将被问到的是一种帮助解决这个问题的方法。

 

2.数据不大

你有足够的数据来训练吗?你确定?

对于您需要多少数据来使机器学习为您工作,没有任何一致的经验法则。当然,传统观点认为,机器学习 - 尤其是深度学习 - 是非常需要数据的。他们需要大量数据才能进行充分的培训。这说得通。如果机器要了解数据中的模式,则需要查看大量示例才能识别这些模式。

机器学习社区中有很多关于这是否真实的话语。有些人表明,您可以使用少量数据构建相对有趣的模型。

您的数据量需求会因具体的用例和实现而有很大差异。询问您需要多少数据有点像询问模型何时“足够好”。机器学习永远不会成为100%的解决方案,它可以准确地进行每个预测。有一个渐变的好处是多么好。

它与数据相同。没有神奇的最小行数,无论是1,000还是100,000。当您可以训练一个对您的特定用例足够准确的模型时,您将拥有足够的数据。

要知道这是否属实,您需要成为机器学习专家或咨询机器学习专家。当然,如果数据量非常小,那么您将无法获得良好的开端。我们有一个客户给我们一个人开始记录。他们告诉我们还有400多条记录。根据定义,您无法在单个数据点中识别模式。即使400条记录也很小,除非数据的变化很小。

当然,如果你谈论的是数以百万计的数据行,这往往是罚款。如果你的数量级超过了那个数量级,那么你可能还可以。

但即便如此,这取决于。如果您有一百万行数据,但其中90%相似或完全相同,那可能还不够。如果百万行只占可能输出的20%,那几乎肯定是不够的。

记住您不必限于公司的内部数据是有帮助的。其他类型包括更广泛的行业或人口统计数据 - 例如人口普查数据,或自然图像数据的大型存储库。所有这些都可以组合在一起:例如,一般家庭信息增加了行业特定的客户数据,这些数据本身增加了个人客户数据。

 

3.数据无法使用

您的数据是否足够干净有用?请记住,“垃圾进,垃圾出”适用于机器学习。机器学习模型的准确性与其训练的数据的清洁度直接相关。

有时数据不会丢失 - 它只是搞砸了。例如,给定标签可能有20种不同的拼写。也许某个给定字段应该是一个映射到特定内容的字符串,但该数据有几个拼写错误。

缺乏清洁常常使机器学习变得更加困难。首先,你必须认识到实际上存在问题。其次,你必须找到一个解决方案。所有这一切必须在任何机器学习开始之前发生。您花在清理数据上的时间越多,您进行有用工作所花费的时间就越少,这可能会产生一些有价值的东西。

解决这个问题的最好方法是永远不要拥有它,并从一开始就遵循良好的数据实践,即使它在前期更加痛苦。同样,糟糕的数据会导致机器学习成果不佳。垃圾进垃圾出。

抓住数据中的每个问题都是不可能的,特别是如果它是通过不良做法收集的。你不会总是知道如何搞砸数据的所有角落情况,所以你可能会错过任何东西。到目前为止,最好的方法是通过存储,测量和验证数据的良好实践,确保您从一开始就拥有最高质量。

 

4.数据不可理解

您知道每个数据字段的含义吗?您能否有效地进行沟通?

有时会有一种误解,你可以给数据科学家一堆数据和一个问题,走开,一旦她解决了它们就会在几周内回来。我们希望这很容易,但几乎从来没有。一旦有了数据集,第一步就是解释数据集。我们甚至没有谈论特定领域知识的复杂性。您首先需要基本了解数据集中每列的含义。如果第5列的名称是“第5列”并且其中包含一些数字,那么这不是很有用。

机器学习专家通常依靠客户来解释他们的数据。你会惊讶于这经常变得多么困难。我们通过200列信息获取大型电子表格,数据库转储或JSON数据文件并不罕见,这些列将命名为“NM”。这是什么意思?“姓名?”“新墨西哥州”?别的什么?有时,数据的唯一定义是在列的名称中,我们应该推断该字段包含的内容。

这种混淆非常普遍,特别是如果您从另一组获取数据。如果您没有直接亲自动手接触数据,则不太可能知道所有数据字段是什么。我们通常会预先要求数据定义和模式,以便更好地理解列包含的内容以及它们之间的关系。有时候,需要定义一个非常重要的关系。

不理解每个数据元素是实际对数据做有趣事情的巨大障碍。缺乏数据清晰度是机器学习项目需要成为项目客户和数据科学家之间真正持续合作的一个原因。必须有一个持续的对话来解决任何误解。

 

5.数据无法维护

您能否以持续的方式可靠地生成数据集?

许多工作都用于机器学习项目的数据准备。到目前为止,我们已经涵盖了需要访问,清理和描述的数据。通常,您需要将数据提供给第三方(外部或内部),以开始创建机器学习模型并需要初始数据转储。

数据科学家并不总是需要完整的数据集才能开始。样本就足够了。通常,样本数据可以以ad-hoc方式拉到一起。这是可以开始的,但重要的是要记住,如果这个机器学习模型将成为长期解决方案的一部分,您需要能够反复提供相同的数据访问。

复杂数据解决方案通常需要创建数据管道,该管道由一组任务组成,这些任务汇集在一起​​并将数据转换为对机器学习有用的特定格式。您不一定需要构建生产数据管道来启动数据科学家,但在机器学习解决方案进入生产环境之前,您应该意识到需要它。

 

原文:https://medium.com/machine-learning-in-practice/assessing-your-data-readiness-for-machine-learning-ab97e0e81166

猜你喜欢

转载自blog.csdn.net/ChenVast/article/details/81381585