数据科学项目的完整流程介绍
和那些数据科学比赛不同,在真实的数据科学中,我们可能更多的时间不是在做算法的开发,而是对需求的定义和数据的治理。所以,如何更好的结合现实业务,让数据真正产生价值成了 个更有意义的话题。
数据科学项目的完整流程通常是这样的五步骤:需求定义=》数据获取=》数据治理=》数据分析=》数据可视化
一、需求定义
需求定义是数据科学项目和数据科学比赛的较大不同之处,在真实情景下,我们往往对目标函数、自变量、约束条件都并不清晰。需要通过访谈、论文、文档等等形式对问题进行系统地分析,将实际问题量化为可以解决的抽象问题,确定自变量、约束条件以及目标函数。在真实情景下,需求往往是多变化的,临时的,如何把握好需求成为了整个项目后续推进的关键要素。
二、数据获取
数据获取的形式主要包括:
现有数据库的调用
现有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
多智时代-人工智能和大数据学习入门网站|人工智能、大数据、物联网、云计算的学习交流网站
![](http://www.duozhishidai.com/static/image/public/banner.jpg)
数据科学项目的完整流程介绍相关推荐
- 数据科学项目_完整的数据科学组合项目
数据科学项目 In this article, I would like to showcase what might be my simplest data science project ever ...
- 数据科学生命周期_数据科学项目生命周期第1部分
数据科学生命周期 This is series of how to developed data science project. 这是如何开发数据科学项目的系列. This is part 1. 这 ...
- 了解※数据科学※(一)之数据的概念及一个数据科学项目的流程分析
一.基本概念 数据: ①传感器采集到的各种物理.生物.化学指标等等各种可记录,可表征的数量,性质都是数据. ②现实中某种事物或事物间关系数量或性质的表征和记录,都称之为数据. ③信息的载体. 大数据 ...
- 提升你知识和技能的24个终极数据科学项目(分级+任务+数据+教程)
数据科学项目可以让你以一种有前途的方式开启在这个领域的职业生涯.你不仅可以通过项目应用来学习数据科学,还可以在简历中展示该项目! 如今招聘人员通过候选人的工作来评估其潜力,并不是非常重视获得的证书. ...
- 独家 | 构建端到端数据科学项目,从我的Data Scientist Ideal Profiles项目中学习(附链接)...
翻译:张睿毅 校对:吴金笛 本文约1500字,建议阅读5分钟. 本文为你介绍了构建数据科学项目中重要的思维能力及训练建议. Joseph Barrientos 拍照于 Unsplash (链接:htt ...
- 独家 | 手把手教你组织数据科学项目!(附代码)
作者:kdnuggets 翻译:和中华 校对:丁楠雅 本文约4200字,建议阅读10分钟. 本文介绍了一个工具可以帮助迅速构建一个标准但灵活的数据科学项目结构,便于实施和分享数据科学工作. 由Driv ...
- python爬取所有数据_入门用Python进行Web爬取数据:为数据科学项目提取数据的有效方法...
作者|LAKSHAY ARORA 编译|Flin 来源|analyticsvidhya 总览 Web抓取是一种从网站提取数据的高效方法(取决于网站的规定) 了解如何使用流行的BeautifulSoup ...
- 如何用python爬取数据_入门用Python进行Web爬取数据:为数据科学项目提取数据的有效方法...
作者|LAKSHAY ARORA 编译|Flin 来源|analyticsvidhya 总览 Web抓取是一种从网站提取数据的高效方法(取决于网站的规定) 了解如何使用流行的BeautifulSoup ...
- 分步式数据库_创建真实数据科学项目的分步指南
分步式数据库 As an inspiring data scientist, building interesting portfolio projects is key to showcase yo ...
最新文章
- 菜鸟经验积累之JS运算
- JavaScript语法详解(三)
- C#设计模式之17-中介者模式
- Macbook Pro 光驱坏 安装windows
- 共享白板程序源代码_[源码和文档分享]QT实现的基于TCP Socket的共享白板
- ecshop 多语言版 fckeditor,支持中文英文韩文等众多语言
- ASP.NET网站还是ASP.NET Web应用程序?
- 网络通讯技术在嵌入式系统中的应用
- Java成员的访问权限控制
- Win10纯净版系统下载、制作和安装过程-联想客服建议
- Android应用帧率--FPS测试
- <一起JS(基础篇)>4.标识符、字符串、Number、波尔值、Null和Undefined
- 太极计算机logo,太极图:最古最美最富有涵义的标志
- 淘宝天猫店铺微信公众平台建设指南
- 网络爬虫和网络数据管理的常见问题集合
- NCQ TCQ 什么是NCQ 什么是TCQ 区别
- 动态数码管(显示两位数字 以及左、右滚动显示)
- CREO 用最简单的方法做个莫比乌斯带
- matlab建模DNA双链,matlab绘制DNA双螺旋结构模型三维图 请高手给详细步骤。 分重要,关键是我能学会。(可以加分)...
- dreamwaver cs6
热门文章
- 基于ResNet50实现宫颈细胞病变分类
- UVa 111 - History Grading
- Selenium + Python + Chrome 中国大学慕课网视频爬取
- unity Shader 扭曲效果
- Eclectic Tips Tricks for Mac OS
- ansys里面自带chemkin_ANSYS CHEMKIN-PRO复杂化学反应快速仿真_流体仿真_工业仿真_产品体系_安世亚太...
- 优先队列 以及 sort对 pari 的自定义排序
- 对抗软件规模与复杂度的战争:救命、治病、养生(上篇)
- 欧式简约互联网科技PPT模板
- 软件设计师 备考经历