如何在机器学习中使用数据集编程

101 阅读6分钟

如何在机器学习中使用数据集编程

你是否对使用数据集编程来创建一个有效的、有目的的机器学习算法感兴趣?这里有一些需要避免的常见陷阱。

先进的机器学习算法所取得的结果在外人看来可能是令人震惊的神秘,但仔细的数据集编程使它们成为可能。它们涉及的内容包括:了解成品算法在理想情况下是如何工作的,寻找适当的信息,并准备好消除错误。以下是在创建数据集以编程一个有效的机器学习算法时要采取的一些关键步骤。

1.花时间理解和定义问题或疑问

人们通常开发机器学习算法是因为他们需要解决一个问题或回答一个紧迫的问题。考虑一个例子,一个电子商务的零售商想知道哪些产品最有可能促使购物者重新购买一件商品。在这种情况下,机器算法可能会包括消费者过去购买的数据和任何其他显著的购买趋势。

从事数据集编程的人最终不会使用机器学习算法。从医学到教育等行业都以众多方式使用人工智能(AI)。程序员和数据科学家不一定需要在这些领域工作的第一手经验来建立优秀的算法。然而,他们最好能花时间与使用它的人交谈。

这是因为机器学习的问题定义往往是一个迭代的过程,随着人们提供更多的细节而得到完善。与终端用户的信息访谈对于了解人们如何经历一个问题或需要让机器学习为他们回答一个问题是非常有价值的。你从他们那里得到的见解越多,就越容易与他们的立场产生共鸣,并创建数据集,使机器学习算法按照大家的期望工作。

在了解用户的需求后,你可以开始思考机器学习算法的不同能力以及如何应用它们。

2.开始收集数据

成功地进行数据集编程需要有足够的信息供机器学习算法使用。在这个过程中,需要尽早决定的是,你将在多大程度上依赖你的公司或客户的信息,而不是公开可用的数据集中的信息。

幸运的是,你会发现后者有很多来源。美国政府也有一个网站,上面有很多可供考虑的公开数据集。

这一步的另一个考虑是什么样的数据是最有用的。当为一个相对广泛的行业,如医疗保健或运输业开发一个算法时,问问自己什么样的信息与你的机器学习的使用最相关。如果你依靠上一步的学习成果,要求你与将使用或直接受益于你的成品算法的人交谈,这将更容易确定。

一个算法做出正确预测的能力,取决于它对训练数据中过去结果的访问。这意味着它需要巨大的信息量。一个经常被引用的统计数字是,你需要的训练数据例子大约是你的模型自由度的10倍

然而,这些数量可以根据个人使用情况而变化。相反,几乎不可能提出一个最低限度的信息量,以使你的算法仍能表现良好。一般来说,如果你的训练数据包括图片或视频,你将需要比其他类型的信息更大的数据集。

3.清洁数据

这个阶段并不是机器学习的数据集编程中最有魅力的部分,但大多数数据科学家在这个阶段花费了大量时间。这是因为你的数据清理的彻底性将极大地影响结果算法的准确性,以及它是否能回答你想要和期望的问题。

首先,在数据集中删除不需要的或重复的观察值。剔除重复的数据尤其重要,因为它们可能会带来偏见,影响你得出错误的结论。

接下来,寻找格式错误--特别是那些与数据类别有关的错误。你可能会看到,你所使用的每个类别的标题都有一个大写字母,除了一个。在这种情况下,你会想要修复它,使其具有与其他类别相同的结构。主要原因是名称相同但大写字母不同的类别可能被视为独立的实例,干扰了准确性。

在有合法理由的情况下,从数据中删除异常值也很重要。不过,要注意不要太仓促行事。你可能在你的数据集中看到一个巨大的数字,假设它是不正确的。然而,最好做进一步调查,以确认情况是否如此。

最后,正确处理缺失的数据是清理数据的一个重要步骤。然而,这并不意味着做出假设,用你最好的猜测来输入缺少的东西。它也不涉及消除部分信息的缺失值。相反,解决这一常见问题的最佳方法是将该方面标记为 "缺失"。如果它是一个数字,首先标记为缺失,然后用零来填补。

4.参与特征工程和选择

使用数据集编程的机器学习的最后一个主要步骤是特征工程和选择。它们在整体上是相似的,但又是不同的。当你为机器学习模型添加或创建新的变量以改善其输出时,就会发生特征工程。这是数据科学家所做的主要工作

例如,他们可能通过将变量分解为独立的特征或使用概率分布来改变元素,从而改变数据集的构成。这些变化有助于提高模型的输出。

当数据科学家检查模型,看哪些是最相关的,并消除不必要的东西时,就会发生特征选择。这是一个重要的步骤,因为它使模型过度训练不太可能发生。

你将如何使用数据集编程?

数据集编程是机器学习的一个重要部分,因为它可以共同帮助算法充分发挥其潜力。数据科学家和相关专业人士在采取这些步骤时的谨慎,将对使用或以其他方式与之互动的人产生深远的影响。