先进的机器学习算法所取得的结果在外人看来可能令人难以置信的神秘,但仔细的数据集编程使它们成为可能。它们涉及诸如了解完成的算法如何在理想情况下工作,获取适当的信息,并准备它以消除错误。以下是创建数据集以编写有效的机器学习算法时要采取的一些关键步骤。
1.花时间理解和定义问题或问题
人们通常开发机器学习算法,因为他们需要解决一个问题或回答一个紧迫的问题。考虑一个电子商务零售商想知道哪些产品最有可能促使购物者重新购买商品的示例。在这种情况下,机器算法可能会包含有关消费者过去购买和任何其他显着购买趋势的数据。
从事数据集编程的人最终不会使用机器学习算法。从医学到教育的行业以多种方式使用人工智能(AI)。程序员和数据科学家不一定需要在这些领域工作的第一手经验来构建出色的算法。但是,理想情况下,他们应该花时间与使用它的人交谈。
这是因为机器学习问题定义通常是一个迭代过程,随着人们提供更多细节而得到改进。与最终用户的信息访谈对于更多地了解人们如何体验问题或需要机器学习为他们回答问题非常有价值。您从他们那里获得的见解越多,就越容易理解他们的立场并创建数据集,使机器学习算法能够按照每个人的期望工作。
了解用户需求后,您可以开始思考机器学习算法的不同功能以及如何应用它们。
2.开始收集数据
数据集编程的成功需要有足够的信息供机器学习算法使用。在此过程的早期需要决定的是,您将在多大程度上依赖您的公司或客户的信息,而不是公开可用的数据集中包含的信息。
幸运的是,您会找到大量后者的资源。美国政府还维护了一个网站,其中包含可供考虑的开放数据集。
此步骤中的另一个考虑因素是哪种数据最有用。在为相对广泛的行业(例如医疗保健或交通运输)开发算法时,问问自己哪种信息与您使用机器学习最相关。确定您是否依赖上一步的学习会容易得多,上一步要求您与将使用或直接受益于您完成的算法的人交谈。
算法做出正确预测的能力取决于它对训练数据中过去结果的访问。这意味着它需要大量的信息。一个常用的统计数据是,您需要的训练数据示例数量大约是您的模型自由度的10倍。
但是,这些数量可能会因个人用例而异。相反,几乎不可能建议最少的信息量仍然可以让您的算法运行良好。通常,如果您的训练数据包括图片或视频,则您需要比其他类型的信息更大的数据集。
3.清理数据
这个阶段并不是机器学习数据集编程中最迷人的部分,但大多数数据科学家在它上面花费了大量时间。这是因为数据清理的彻底性将极大地影响结果算法的工作准确度以及它是否回答了您想要和期望的问题。
首先删除数据集中不需要的或重复的观察结果。消除重复尤其重要,因为它们可能会引入偏见并影响您得出错误的结论。
接下来,查找格式错误——尤其是那些与数据类别相关的错误。您可能会看到您正在使用的每个类别的标题都有一个大写字母,除了一个。在这种情况下,您需要修复它以使其具有与其余部分相同的结构。主要原因是名称相同但大小写不同的类别可能被视为单独的实例,影响准确性。
如果有正当理由,从数据中删除异常值也很重要。不过要小心,不要太仓促。假设它不正确,您可能会在数据集中看到大量数字。但是,最好进行进一步调查以确认是否是这种情况。
最后,正确处理丢失的数据是清理数据的关键步骤。但是,这并不意味着做出假设并使用您的最佳猜测来输入缺失的内容。它也不涉及消除部分缺乏价值的信息。相反,解决这个常见问题的最佳方法是将该方面标记为“缺失”。如果它是一个数字,首先将其标记为缺失,然后用零填充它。
4.参与特征工程和选择
使用数据集编程进行机器学习的最后一个主要步骤是特征工程和选择。它们总体上相似但与众不同。当您为机器学习模型添加或创建新变量以改进其输出时,就会发生特征工程。这是数据科学家所做的主要工作。
例如,他们可能通过将变量分解为单独的特征或使用概率分布来转换元素来改变数据集的组成。这些变化有助于增强模型的输出。
当数据科学家检查模型以查看最相关的内容并消除不必要的内容时,就会进行特征选择。这是必不可少的一步,因为它使模型过度训练不太可能发生。
您将如何使用数据集编程?
数据集编程是机器学习的重要组成部分,因为它共同帮助算法充分发挥其潜力。数据科学家和相关专业人员在采取这些步骤时所采取的护理措施将对使用它们或以其他方式与之交互的人产生深远的影响。