你要避免这12个数据科学错误

人工智能、机器学习和分析不仅仅是最新的流行语;大大小小的企业组织都在关注人工智能工具和服务,希望通过大数据、预测分析和自动算法系统改善业务流程、客户支持和决策制定。

至顶网CIO与应用频道 05月21日 编译:人工智能、机器学习和分析不仅仅是最新的流行语;大大小小的企业组织都在关注人工智能工具和服务,希望通过大数据、预测分析和自动算法系统改善业务流程、客户支持和决策制定。据IDC预测,到2018年将有75%的企业和ISV开发人员将在至少一个应用中使用人工智能或机器学习。

但是数据科学方面的专业知识并不像利用数据来制定决策和改进结果那样普及。如果你的业务刚刚开始采用数据科学,那么你需要注意避免犯下一些常见的错误。

1、 假设你的数据准备就绪了——而且这些数据都是你所需要的

你需要检查收集来并准备使用的数据的质量和数量。“通常你要花80%的时间在获取数据和清理数据上,”data.world数据科学家兼知识工程师Jonathan Ortiz这样说。“而且这是假设你正在追踪数据科学手头工作所需要追踪的情况。”

如果你追踪的数据没错,那你有可能无法正确地记录这些数据,或者记录这些数据的方式会随着时间而改变,或者你收集数据的系统可能在你收集数据时发生了变化。“如果每个月都有变化,那么当你进行分析或者建立模型的时候,你就不能使用这一整个月的数据,”Ortiz警告说,因为系统本身已经发生了变化。

TechTarget首席营销官John Steinert解释说,即使你正在收集数据的数据没错,较少的数据量和较多的自变量也让我们很难为B2B营销和销售等业务领域创建精准的预测模型。 “数据科学越好,你拥有的数据就越多;预测模型越强大,数据就越多。由于交易率低,影响交易的自变量很多,因此你的数据集很小,而且交互复杂,这就削弱了预测模型的力量。”

有一种选择,就是购买像采购意向数据这样的数据集,只要你可以找到适用于你业务领域的数据集。另一个选择是模拟数据,但必须要小心谨慎,Avanade高级顾问数据科学家Chintan Shah这样警告说。“实际上,数据可能不会按照你一开始的假设那样行事,”Shah说。

2、 在开始工作之前不事先探索数据集

你可能会对你的数据集有某些理论或者直觉,但数据团队应该在使用这些数据训练数据模型之前花一些时间详细研究数据的细节。

Ortiz说:“如果你发现一些违反直觉的事情,那么你的假设可能是不正确的,或者数据是错误的。我所做的最重要的事情就是查看数据、绘制数据以及探索性分析。很多人完成这些过程的速度非常快,甚至是完全绕过这些过程,但你需要了解数据的情况。你可以事先做一些探索,以更快地确定数据是否能够告诉你所需的信息。”

3、 期待太多

围绕人工智能的各种炒作让很多人相信“如果我们将数据用于计算机算法中,它就会自行计算出所有的东西,”Shah警告说。“虽然企业拥有大量数据,但仍需要专业人员的专业知识才能将数据转换为可用的格式。”

Steinert指出,只看到自己公司之前已经做了什么并不能让你发现新的机会,只是能让你更有效地处理曾经做过的类似工作。Steinert说:“你越是利用过去作为未来的唯一预测因素,就越不好找到新的途径。即使你引入第三方数据来找出产品或者服务的需求,也无法保证你能够真的完成这些销售任务。“数据模型可以告诉你有一家公司与你所提供的产品相匹配,但它无法告诉你该公司现在是否有需求,”他补充说道。

“人们开始在这方面进行投资,并将充分信任数据科学家,这和以前是大不相同的。他们正在投入资源并期望用一套方案回答所有问题。他们现在非常虔诚地相信数据科学家和使用数据来回答问题和推动决策,“Ortiz说。

Ortiz建议,数据科学家应该从小型项目开始着手,并通过取得快速胜利来向企业组织展现其价值。“先摘下那些唾手可得的成果;不要从技术漏洞入手并且花一个月时间参与一个你认为具有巨大价值的大项目,”他说。

4、 不使用控制组来测试你的新数据模型

如果你花费了不少时间和金钱来建立数据模型,那你肯定希望能在任何地方使用这个模型从而最大限度利用这笔投资。但如果你这样做了,你就无法衡量模型的实际效果。另一方面来说,如果用户不信任这个模型,他们可能就不会使用它,然后你无法测试它,Steinert说。有没有解决方案?Steinert补充说,解决方案就是变更管理项目,可以确保采用该模型,以及设置一个不适用该模型的控制组。设置一个随机小组专门看模型确定的机会,并且设置一个控制组“按照他们一贯的方式,自我赋权、体验式的”。

5、 从目标开始,而不是假设开始

寻找可以实现特定改进的数据模型是很诱人的,例如,在48小时内完成80%的客户支持案例,或者在一季度内获得10%的业务增长,但这些指标还不够。

Ortiz说:“最好先从假设开始。通常你会看到一条曲线或一条线作为整体度量标准,你希望推动这条线;这是一个伟大的商业目标,但很难想象你需要采取哪些措施才能做到这一点。”通过控制组或者探索数据来验证你关于做什么可以改善情况的假设。“如果你可以在控制组进行分组测试,并且都是具有代表性的样本的情况下运行测试,那么你可以实际上确定你正在使用的方法是否真的影响到了你希望影响的。如果你只是在事实后查看数据,从假设开始可以帮助缩小范围。我需要将这个指标增加10%:对于可能带来的影响,我的假设是什么?然后[我可以]对数据进行探索数据分析以便进行追踪。清楚地知道你要问的问题,以及你正在测试的假设,这可以帮助减少你花在这些事情上的时间。”

6、 一直使用过时的数据模型

如果你有一个数据模型可以很好地回答你的问题,那你可能会觉得应该一直使用这个模型,但实际上模型是需要更新,而且随着时间的推移你还需要构建其他的模型。

“功能会随着时间而改变,”Ortiz警告说。“你需要不断地了解其有效性并更新你的模型。”

模型过时的原因有很多,世界在变化,你的公司也在变化(尤其是当模型证明有用的话)。Steinert指出“模型不是静态的,市场当然也不是静态的。如果市场的偏好正在逐渐远离你之前的认识,那么你之前的看法会使你走上分化的道路。模型的表现在逐渐衰退,或者你的竞争对手也在从你的公司活动进行学习。

7、 做自动化但不监控最终结果

使用控制组的另一个部分,就是衡量模型的输出结果有多好,并且你需要在整个流程中进行追踪,或者最终针对错误的目标进行优化。

Steinert指出:“企业会做很多事情,例如使用机器人来做电话服务,你不会持续去检查机器人是否能够提高客户满意度,你只是庆幸可以减少这方面的人力了。”如果客户关闭了单子,只是因为机器人无法给出他们正确的答案,而不是因为解决了他们的问题,那么客户满意度将大幅下降。

8、 忽略了业务专家的存在

如果你认为你需要的所有答案都在数据中、开发人员或数据科学家可以自己找到答案的话,那就是大错特错了。你应该确保让那些了解业务问题的人参与其中。

Shah解释说:“尽管知识丰富的专业数据科学家最终能够发现问题,但如果业务和数据科学家能保持同步,事情就会变得简单得多。任何数据科学算法的成功,在于成功的功能工程设计上。要得到更好的功能,某个方向的专家要比花哨的算法能带来更多价值。”

Ortiz表示,在启动项目之前,和数据团队以及业务相关团队进行交流,确保所有人都清楚这个项目试图实现哪些目标。“然后,你可以做一些探索性数据分析,看看你能否实现这些目标,如果不能,你也许就必须以全新的方式重新提出问题,或获得不同的数据源。”但这个时候就需要某个领域的专家来帮忙确定目标是什么,以及这个项目能否实现这个目标。

9、 挑选过于复杂的工具

机器学习的最前沿是令人兴奋的,新技术可以是非常强大的,但也可能是矫枉过正的。“结果可能是一个很简单的方法,例如逻辑回归或决策树就可以完成这项工作,”Shah指出,Ortiz也认同这一观点。

Ortiz说:“在计算机能力和复杂模型问题上投入巨大资源,这是很诱人的。也许我对一个项目某个方面有着很好的理解,并且我想测试一种全新的算法,这个算法可能做得比所要求的要多,或者我只是想尝试一下。我要做的就是找到一个简单的方法来回答问题。在尝试较为较为复杂的方法之前,应该尽量尝试那些最简单的方法。”他指出,在像深度学习这样的复杂算法方面可能存在“过拟合”的问题:“针对你现有数据的一个非常精确的模型,可能对于新信息是并不奏效的。”

你应该与业务专家合作,确定需要回答哪些问题,从而指导你对技术的选择。“许多数据科学家专注于机器学习,很多机器学习专注于预测,但并不是你回答的每个问题都是一个预测性问题。‘我们需要考虑上个季度的销售情况’,这可能意味着很多不同的事情。我们是否需要预测新客户的销售额,或者你只需要知道为什么销售似乎在上个季度特定的某一周停滞不前就可以了,”Ortiz说。

10、 反复利用那些无法回答你问题的实施

有大量的数据科学和机器学习的例子是你可以学习和借鉴的。“数据科学呈现指数级增长的背后,原因之一就是几乎所有算法都是开源可用的,这让快速开发原型变得更加容易,”Shah解释说。但是这些实现通常是针对特定用例开发的。如果你需要从系统中得到不同的东西,那么最好是建立你自己的版本。“实施你自己的数据清理和功能构建流程,这样你能有更多控制权。”

11、 误解了那些基础因素,例如因果关系和交叉验证

当你没有足够的数据用于单独的训练集时,交叉验证可帮助你评估预测模型的准确性。对于交叉验证来说,你可以分几次设置数据,使用不同的部件进行训练,然后每次测试模型,以确定无论你使用哪种数据子集进行训练,都可以获得相同的精度。但是你不能用它来证明你的模型总是和交叉验证分数一样准确,Ortiz解释道。“最普遍的模型往往能够以准确的方式对新接收的数据进行回应,但交叉验证无法证明这一点。”因为它只使用你已有的数据,所以它只是表明你的模型对于该数据是尽可能准确的。

就像从根本上说,“相关并不是因果关系;看到两件相关的事情并不意味着一件事会影响另一件事,“他指出。你对数据集进行的探索性研究,可以让你了解从中可以预测出什么,以及哪些数据值是不会告诉你任何相关性的。如果你正在追踪电子商务网站上的客户行为以预测哪些客户将会是回头客,以及何时会回来再次购买,记录这些客户的登录信息并不能说明什么,因为这些客户已经返回你的网站来执行此操作了。“登录与重复购买是高度相关的,但将其纳入模型却是错误的。”

12、 低估用户可以理解的内容

业务用户可能自己不会做统计分析,但这并不意味着他们不了解误差、或统计重要性和有效性,Ortiz指出。

“往往业务团队做分析的时候,最终结果可能只是一页幻灯片,上面只有一个数字,不管这是一个精确的数字还是预测值;但当你提供这个值时,误差极其重要,”Ortiz说。

如果业务决策是基于数据分析做出的,那么就要清楚地说明对结果能有多大的信心,否则决策者就会发现自己很难信任这个系统——并且认为他们在技术上太复杂而无法理解问题。

来源:至顶网CIO与应用频道

0赞

好文章,需要你的鼓励

2018

05/21

19:22

分享

点赞

邮件订阅