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