数据科学项目的完整流程介绍
和那些数据科学比赛不同,在真实的数据科学中,我们可能更多的时间不是在做算法的开发,而是对需求的定义和数据的治理。所以,如何更好的结合现实业务,让数据真正产生价值成了 个更有意义的话题。
数据科学项目的完整流程通常是这样的五步骤:需求定义=》数据获取=》数据治理=》数据分析=》数据可视化
一、需求定义
需求定义是数据科学项目和数据科学比赛的较大不同之处,在真实情景下,我们往往对目标函数、自变量、约束条件都并不清晰。需要通过访谈、论文、文档等等形式对问题进行系统地分析,将实际问题量化为可以解决的抽象问题,确定自变量、约束条件以及目标函数。在真实情景下,需求往往是多变化的,临时的,如何把握好需求成为了整个项目后续推进的关键要素。
二、数据获取
数据获取的形式主要包括:
现有数据库的调用
现有API的调用
自行设计的爬虫
在数据获取中,比较重头的 项就是爬虫的开发,这里 R 虽然开发了 rvest 包, 不过比起 django-scrapy 这样完整的爬虫调度系统不禁黯然失色,所以在第 步,我建议使用Python做爬虫的开发。
三、数据治理
数据治理第 步就是数据的定义,而数据的定义通过 Python的各种ORM框架和admin系统,可以非常出色地完成数据仓库的定义和管理。通过 airflow 我们又可以很好的对ETL过程做全流程的监控。所以,在步,我依然建议使用Python作为数据治理的工具。
四、数据分析
数据分析先涉及的就是探索式分析,这 点正是R语言的强项,适宜于各种强大的数据可视化,我们可以利用R快速了解数据的整体特性,通过 data.table 和 Rcpp 我们也可以快速提升 R 的单机性能,省去了Cython写wrapper的尴尬。而Python 由于需要更多约束的分析操作,在探索式分析中相比 R 少了几分灵活性。少是矩阵乘法我更愿意接受直观的 %*%, 而不是np.dot()。所以,第三步,我建议使用 R 完成数据的分析工作。
五、数据可视化
数据可视化本来是JS的天下,但是感谢 R语言生态中热衷于给JS做封装的们,现在市面上绝大部分在BI领域会涉及到的JS库都已经被 R 语言封装好了,比如 echarts、highcharts、rcharts、d3等等。另 方面,通过 shiny, 我们快速好大地简化了BI构建的流程,跳过底层jquery、boostrap、websocket等等细节,直接针对业务场景构建BI系统,帮助我们在快速构建BI原型上扫清障碍,而不是在Tornado里面辛苦地改template。显然,使用 R 做数据可视化可以大大减少我们的开发时间。所以,第四部,我也建议使用 R 完成数据可视化的工作。
总结
这样正常数据科学项目做下来,我们需要交付 个爬虫管理系统(django-scrapy)、 个数据仓库管理系统(django)、 个流程监控系统(airflow)、 个BI分析系统(shiny),真正完成对整个数据科学项目的可监控、可维护,然后在这个过程中我们不断去迭代我们的数据产品,优化流程,完善模型,较终实现反哺业务。
总结起来,将Python作为数据科学的基础,而R作为上层建筑是 个不错的解决方案,当然这 切都建立在数据开发人员具有过硬的开发技能,否则Python和R的随意性会酿成巨大的惨案。
人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
数据科学家的工作性质是什么,主要面临什么挑战 ?
http://www.duozhishidai.com/article-13986-1.html
数据科学基础识识,分数据、结构和数据科学管道
http://www.duozhishidai.com/article-10760-1.html
数据科学是什么,如何成为一名数据科学家?
http://www.duozhishidai.com/article-8521-1.html
多智时代-人工智能和大数据学习入门网站|人工智能、大数据、物联网、云计算的学习交流网站
- 项目搭建完整流程
- 高仿微信-微信EM开发流程--(1)项目介绍
- 数据科学的完整学习路径—Python版
- 一个完整的项目管理流程
- 数据科学的完整学习路径—Python版
- 安卓Android打包aar包SDK供其他项目集成踩过的坑,完整详细流程
- BOS项目练习(activiti,历史数据操作,流程变量,任务组,监听器,网关,spring整合)
- SpringMVC4.x源码分析(四):一个request请求的完整流程和各组件介绍
- 机器学习工程师|数据科学家面试流程介绍(含面试题)
- 【软件工程基础】个人数独项目介绍及制作流程
- ETL项目1:大数据采集,清洗,处理:使用MapReduce进行离线数据分析完整项目
- 大数据技术之_18_大数据离线平台_01_项目开发流程+大数据常用应用/分析平台/业务处理方式+数据分析平台的数据来源+数据处理的流程+项目集群的规模+需求分析+技术架构/选型
- 最新Python机器学习全流程精解项目实战(完整)
- 一个完整的项目管理流程
- 离线数据分析平台实战驴妈妈项目实战(完整)
- 2018 年度 GtiHub 开源项目 TOP 25:数据科学 & 机器学习
- 完整的python项目流程
- 没资源?下一秒就可以加入的10个数据科学项目!
- 原生mysql查询,选择数据库,建立连接及查询数据表PHP完整流程
- 一个完整的项目管理流程