数据科学项目的设计和结构

作为数据科学家,我们必须学会处理不确定性。我们可以借用其他学科的技术来帮助我们做到这一点。

信不信由你,这些并不是设计师的首选工具。

与与你完全不同的人一起工作可能是一种非常有益的经历。如果你幸运的话,你最终会改变你看待世界的方式,并因此成为一个更好的人。对我来说,这种改变发生在与设计师这是第一次。

“设计师,”我听到你们大声说!“他们对数据科学项目了解多少?”他们不只是把东西涂上颜色吗?”

部分原因是,当他们年轻的时候r这才刚刚开始。无论多么优秀的人都能将他们的蜡笔画在线条之内[1].这时候他们就会被提升为高级设计师,并不得不做一些我们称之为真正的设计.就是这个过程真正的设计我认为这在数据科学项目中非常有用。

我保证,稍后我会再回到这个设计过程。然而,独立于实现它们的人的浮动过程是我最讨厌的事情之一。对不起Scrum /敏捷/ Prince2 /看板。首先,让我们来思考一下相关的思维模式,它从何而来,与科学家和工程师的训练方式有何不同。

设计思维的根源

“一个对象是由它的性质来定义的。为了让它正常运作,我们必须首先研究它的本质。为了完美地服务于它的目的,它必须以实际的方式履行它的职能。”沃尔特·格罗皮乌斯,包豪斯学派的创始人

包豪斯思想无处不在。

包豪斯是现代设计的发源地,在德国蓬勃发展,直到邪恶的纳粹关闭了它。历史上积累的垃圾将被扔掉,物品将被加工成它们的核心。还记得米开朗基罗对教皇说,为了创造他的雕塑杰作,“他只是去掉了所有不是大卫的东西”吗?这是艺术的感性第一次被应用到日常生活中。从这里开始的思想延伸到iPhone的设计。[2]

我们已经看到了我所说的不同的思考方式。作为科学家或工程师,我们接受的培训是提供解决方案。通常在计划的时候,我们会抓住一个问题,然后立即开始解决它。但是想想格罗皮乌斯的话。设计师要做的第一件事就是理解问题的功能和目的。他们最终会弄清楚问题是什么,然后才会想出解决问题的办法。

现在,有多少数据科学项目因为解决了一个与客户需求不符的问题而浪费了大量的工作?有办法避免这种情况吗?在此之前,我们必须远离关于“事物本质”的神秘陈述,并继续……

美国的实用主义

20世纪30年代,设计运动跨越了大西洋——那是在美国还没有建造围墙的时候。沃尔特·格罗皮乌斯最终成为了哈佛大学的教授。一家新的包豪斯在芝加哥开业。

在美国,围绕设计的思考变得不那么神秘了,设计师开始制作一个对我们其他人可能有用的工具箱。像“设计科学”这样的短语开始被使用[3].斯坦福的d学院(D-School)成立了,围绕着他们创造的设计过程,他们推出了一个咨询公司IDEO。我发现这个过程在数据科学项目中非常有用。设计师通常习惯于进入一个定义不明确的项目,拼命地试图弄清楚这些人到底想要什么,然后想出一些让他们的客户满意的方法。

这些听起来熟悉吗?“给我数据科学。肯定有用,其他人都在这么做……”

数据科学与设计过程

我在设计师的工具箱中找到的最有用的东西,是英国设计委员会(British Design Council)所称的双钻石(Double Diamond)。据我所知,这似乎与斯坦福大学d学院的设计过程密切相关。

图片来自英国设计委员会

时间在左右轴上。上下轴,即菱形的高度,应该代表您对项目的确定性。所以当你从左向右移动时(即随着时间的推移),你会逐渐变得不那么确定,然后更确定,然后更不确定,最后在项目结束时再次确定。幸运的话。

基本思想是,在第一个菱形中,你找出问题,在第二个菱形中,你找出答案。即使是在这样高的水平上,我们也能看到设计师的训练方式和我作为科学家的训练方式之间的差异。首先,不确定性被视为过程中不可避免和可取的一部分!乏味的中年男子——我可以这么说,我就是其中之一——对事情发表意见是坚决反对的。其次,我们的科学训练是这样的“这是一个假设,现在做所有这些详细和仔细的工作,最好是用复杂和聪明的方法,然后找出这个假设是否正确”。大部分的时间都花在了细致细致的工作上,因为它是理性和聪明的。假设本身被当作是凭空捏造出来的,就好像我们都对灵感过程的不合理性感到尴尬。另一方面,设计师已经仔细考虑了这个过程,虽然灵感不能得到保证,但你可以把胜算压在自己身上。

考虑到这一点,让我们来看看这个过程的四个阶段。

1.发现

凭借在工业界和学术界20年的数据科学经验,我可以有把握地说,这是一个科学家最令人沮丧的阶段。然而,这也是最必要的,特别是在处理许多不同的利益时。每个人,我是说每个人,都会对这个项目有自己的看法。这一阶段的思路是梳理出问题的统一“本质”——还记得包豪斯吗?你要参加很多会议。会有很多人议论纷纷。如果你是某种类型的人,你可能会对人们走向的所有不同的方向感到不知所措和困惑。如果你是另一种人,你可能会觉得其他人都是白痴,应该停止说话现在.如果你是第一类人,那也不用担心。如果你是第二个,那么冷静下来。记住这是钻石展宽的阶段。我们来这里是为了得到很多关于这个问题的观点,而这些观点将是矛盾的,半成形的,因为,嗯,人类。

2.定义

但你不可能永远保持困惑。在这个过程的某个时刻,一系列的想法应该开始形成。你应该能够看到一些你可以做的有用的事情。在这一点上,你应该开始感到兴奋,因为你开始看到(a)这些人想从你这里得到什么,(b)所有你可以做的很酷的数据科学来帮助他们。这是可怕的。只要记得回到你的最终用户那里,确认你认为他们想要的就是他们想要的。如果你做对了第一阶段应该没问题。对吧?

3.开发

正确的。现在你已经知道了你应该做什么,是时候继续努力并构建它了。太棒了!此时你可能会感到如释重负。然而,你也会撞向现实。你先试的方法行不通。会有一些你没有想到的外部因素。数据会乱糟糟的(总是如此)。你可能会想,这个白痴可能不是第一阶段的人。那个白痴可能住得离家近一点。 Fortunately this is where your training and experience will kick in. Trust me, you’ll be fine.

4.交付

何鸿燊的嗡嗡声。这个最后期限正在临近。如果幸运的话,一些清晰的信息将会形成,并且您已经解决了问题—至少在您的解决方案足够好的程度上。你可能只是希望这一切能早点发生。你的脑子里可能也有很多你想做的很酷的事情。小心。这是个陷阱。先拿出可行的解决方案。

这就是英国设计委员会的四个阶段。作为一个数据科学家,我想再加一个第五。

5.部署

现在,只需推动您的解决方案“实时”。

哈哈哈哈哈哈。

在地球上,你的解决方案可能是一堆SQL、python脚本和jupiter笔记本,它们被信念粘在一起。现在,您需要将所有这些内容变成类似于专业产品的内容。在这一阶段,你会100%确定那个白痴就是你自己,你会祈求这一切快点结束。我打赌你现在肯定希望使用源代码控制了,是吧?

我之所以在这个问题上有点厚颜无耻,是因为“部署”这个阶段至少与其他阶段的总和一样长,一样复杂。创建一个真实的系统需要进行同级评审,包括代码和科学、测试、集成、更多的测试、部署,甚至更多的测试、监控,然后持续改进模型本身。这不是一件小事,我们将在稍后的日期回到这个主题。

这就是设计过程:找出问题,然后找出解决方案。如你所见,我真的很喜欢和设计师一起工作。当然,有些事情可能会做过头。设计导向的思维很容易变成设计师的思维,其他人都只是在执行自己宣称的想法。有创意的”。呕吐。设计师也有自己的偏好,所以你最终可能会得到一个漂亮但成本低、几乎不能工作的原型,根本不可能投入生产。

但是你怎么想?认识到这些阶段?你的应对策略是什么?请在评论中告诉我们!

脚注

[1]澄清一下,我亲爱的设计师朋友们,这是个笑话。我也见过你们用钢笔

[2]https://www.smithsonianmag.com/arts-culture/how-steve-jobs-love-of-simplicity-fueled-a-design-revolution-23868877/

[3]例如:赫伯特·a·西蒙的《人工科学》

在建国之前http://efficientdatagroup.com戴夫是英国新闻的数据科学主管。他曾管理科技、媒体和金融领域的数据科学团队。

Baidu
map