两种数据科学编程中的思维模式(附代码)

大数据文摘授权转载自数据派thu
数据科学的完整流程一般包含以下几个组成部分:
数据收集数据清洗数据探索和可视化统计或预测建模
虽然这些组成部分有助于我们理解数据科学的不同阶段,但对于编程工作流并无助益。
通常而言,在同一个文件中覆盖完整的流程将会导致jupyter notebook、脚本变成一团乱麻。此外,大多数的数据科学问题都要求我们在数据收集、数据清洗、数据探索、数据可视化和统计/预测建模中切换。
但是还存在更好的方法来组织我们的代码!在这篇博客中,我将介绍大多数人在做数据科学编程工作的时候切换的两套思维模式:原型思维模式和生产流思维模式。
原型思维模式强调
生产流思维模式强调
某部分代码的迭代速度
整体工作流程的迭代速度
更少的抽象
(直接修改代码和数据类型)
更多的抽象
(修改参数)
代码更松散
(模块化程度低)
代码更结构化
(模块化程度高)
帮助人们更了解代码和数据
帮助电脑更自动地运行代码
我个人使用jupytelab来进行整个流程的操作(包括写原型代码和生产流代码)。我建议至少使用jupytelab来写原型代码:
jupytelab:

借贷俱乐部数据
为了更好地理解原型和生产流两种思维模式,我们来处理一些真实的数据。我们将使用个人对个人的借贷网站——借贷俱乐部上面的借贷数据。跟银行不同,借贷俱乐部自身并不借钱,而是为贷款人提供一个市场以贷款给因不同的原因(比如维修、婚礼)需要借款的个人。
借贷俱乐部网站:
了解如何使用luigi来构建更复杂的、能够在云上面运行的管道https://marcobonzanini/2015/10/24/building-data-pipelines-with-python-and-luigi/了解更多有关数据工程的信息:https://dataquest.io/blog/tag/data-engineering/