随着数据科学的不断发展并朝着生产方向发展,实践团队负责人不断提出一个问题:什么是合适的数据科学方式 – 编码还是可视化编程?但是,这只是表示程序逻辑的两种不同方式。实践团队领导真正应该问的是:什么样的编程环境适合我的数据科学团队?
答案是,这要看情况。
如果您对新算法的来龙去脉感兴趣,甚至自己发明它们,那么编写代码是调整内部轮子或实现新工具的方法。
然而,很多时候,在进行数据科学解决现实世界的问题时,数据科学家最终会花费大量时间来处理访问、组织和清理数据等事情;尝试来自不同软件包的各种 AI/ML 方法;弄清楚如何从他们的结果中提取见解;或部署结果以便其他人可以使用它们。而这还是在他们开始担心数据/模型治理、可重复性或透明度等环境中出现的所有额外要求之前。
与编码方法相比,可视化编程为数据科学家提供了一个专注于数据科学的机会,而不是代码行。为了帮助实践团队领导更加熟悉这种鲜为人知的方法,让我们来看看可视化编程在实践中意味着什么。
误解
可视化编程通常与无代码或低代码自动化平台混为一谈,其目标是让新的人群能够利用数据科学——这些人以前因为不会编码而从未访问过。这些平台被炒作是均衡器,或者被视为“真实”数据科学的愚蠢版本,这取决于你与谁交谈。
可视化编程的真正力量恰恰相反。它的创建是为了抽象数据科学家不必担心的所有内容,以便他们可以开始进行有影响力的数据科学。它不仅适用于标准的、简单的任务,而复杂的方面则留给编码人员。实际上,创建可视化工作流提供了一种不同的高效方式来表达程序的逻辑。
扩展您的选择
另一个现代现实是,数据科学不仅仅是用 Python 或 R 编程的。这两种语言都不是为数据库内的大量数据操作而设计的。SQL 是。另一方面,将数据科学部署为 Web 应用程序需要 Web 编程,特别是用于交互式分析应用程序的 JavaScript。如果您想手动安排数据科学执行,您还需要知道如何设置 cron 作业。
为了创建真正的数据科学,实践团队负责人应该让数据科学家能够使用所有很酷的方法,而不仅仅是单一语言中可用的方法。但是,如果相信唯一好的数据科学是手动编码的数据科学,那么很多可能性都被关闭了。实际上,可视化编程允许数据科学家混合其工具箱中的内容,而无需担心兼容性问题,从而对编码进行了补充。有越来越多的工具与大量云和第三方连接器集成,这可能会让数据科学家感到非常兴奋。
通过使用新工具构建可视化工作流,数据科学家可以做更多他们想要的事情和他们接受的培训:实施数据科学流程,以便数据洞察可以轻松应用于不同的业务需求。它需要专业知识和技能,以了解何时以及如何部署哪些工具。因此,数据科学家必须结合以不同语言实现的工具,他们需要确保这些工具和了解这些工具的专家能够很好地协同工作,而不必担心底层语言和依赖关系。
可视化编程不仅仅是将 UI 置于编程语言之上。它是一个位于顶部并包含所有其他技术的编程环境。需要明确的是:这不是要隐藏数据科学家想要使用的工具的复杂性,而是要以一种一致的方式公开所有必要的复杂性。
开车回家
可视化工作流允许在一个统一的环境中公开数据科学流程的所有方面,从数据摄取到建模、可视化和最终部署。它们使数据科学家能够专注于他们最了解的事情:如何理解数据,同时在一个环境中实现协作,数据工程师构建机器学习工程师可能无法自己编写的工作流程。不过,ML 工程师理解它并且可以轻松重用它。
可视化工作流还提供了一种清晰的方法来记录和传达整个数据科学流程中所做的工作,这使得审计以前的工作流并在以后解决新问题时应用它们变得简单,有点像提供“数据科学蓝图”——一个非常有价值的工具。如果做得好,可视化工作流允许探索性(或者我敢说“敏捷”)数据科学,能够快速构建不同摄取数据的原型、建模算法的各种组合和交互式可视化,以及在找到正确的设置时轻松将结果推送到生产中的能力。这种灵活性在更传统的编码环境中很难实现,因为需要付出努力和深思熟虑才能干净地隔离数据科学管道中的每个步骤以尝试替代方案。
从我作为商业行业和学术界的数据科学家的角度来看,视觉环境是编程环境的自然演变,为团队领导者希望数据科学家完成的工作类型提供了适当的抽象级别和所需的复杂性。它们还允许数据科学家专注于重要的事情,从而节省时间。
正如我的一位同事在为他的团队采用可视化工作流程后曾经说过的那样:“现在我们不需要花半年时间学习如何编码,我们就可以最终转向数据科学。这几乎总结了可视化编程在以现代进步思维方式应用时的价值,这将是推进酷炫数据科学的关键。