解读 2019 中国大数据与实体经济融合发展白皮书

在第二届数字中国建设峰会大数据分论坛大数据分论坛上,中国信息通信研究院总工程师余晓晖发布了《中国大数据与实体经济融合发展白皮书( 2019 年)》。

该白皮书对大数据与实体经济融合发展情况进行了全景展现,报告显示我国大数据融合发展已具备技术、产业、应用和政策基础,大数据在制造业、农业、服务业等实体经济各领域应用不断深入,给经济社会带来的益处和价值日益显现。

此外,白皮书还对大数据与实体经济融合发展机遇与挑战进行了深入分析,对推动我国大数据与实体经济融合创新发展提出了政策建议。

白皮书
白皮书

当前,世界经济正在加速向以数字生产力为标志的新阶段迈进,大数据是信息社会的重要战略资源,与实体经济各领域的渗透融合已成为我国经济实现高质量发展的重要驱动力。

1 . 白皮书前言(节选)

当前,以互联网、大数据、人工智能为代表的新一代信息技术日新月异,给各国经济社会发展、国家管理、社会治理、人民生活带来重大而深远的影响。

近年来,我国大数据产业保持良好发展势头,大数据与实体经济各领域渗透融合全面展开,融合范围日益宽广,融合深度逐步加深,融合强度不断加大,融合载体不断完善,融合生态加速构建,新技术、新产业、新业态、新模式不断涌现,战略引领、规划指导、标准规范、政策支持、产业创新的良性互动局面加快形成。

中国信息通信研究院结合我国大数据与实体经济融合的发展趋势,从融合发展的意义、融合发展的基础、融合发展的成效以及未来发展的重点任务四个方面对我国大数据与实体经济融合发展分析总结,形成白皮书,勾画了我国大数据与实体经济融合发展的全景,望为社会各界深入了解大数据与实体经济各领域渗透融合的最新情况和发展机遇提供有价值的参考。

2.  白皮书目录

一、大数据与实体经济融合是新时代发展的内在要求

  1. 大数据与实体经济融合是建设现代化经济体系的必由之路
  2. 大数据与实体经济融合是推动国家治理现代化的必然选择
  3. 大数据与实体经济融合是满足人民美好生活需要的重要举措

二、大数据与实体经济融合发展具备基础

  1.  技术基础不断强化
  2.  产业基础日益坚实
  3.  应用基础加快构筑
  4.  政策环境持续完善

三、大数据与实体经济融合发展成效初显

  1. 大数据与实体经济融合走向纵深
  2. 数据推动制造业转型升级提速
  3. 大数据促进数字农业建设稳步推进
  4. 大数据助力服务业新兴业态蓬勃发展
  5. 大数据支撑公共服务智慧高效

四、努力开创大数据与实体经济融合发展的新局面

  1. 大数据与实体经济融合发展机遇与挑战并存
  2. 新思路、新举措力促大数据与实体经济融合创新发展

以下为白皮书解读 PPT :

解读
解读
大数据与实体经济融合是新时代发展的内在要求
大数据与实体经济融合是新时代发展的内在要求
大数据与实体经济融合发展具备基础
大数据与实体经济融合发展具备基础
技术基础不断强化
技术基础不断强化
产业基础日益坚实1/2
产业基础日益坚实1/2
产业基础日益坚实2/2
产业基础日益坚实2/2
应用基础加快构筑
应用基础加快构筑
政策环境持续完善
政策环境持续完善
大数据与实体经济融合发展成效初显
大数据与实体经济融合发展成效初显
与实体经济融合走向纵深
与实体经济融合走向纵深
数字化转型
数字化转型
促进数字农业建设稳步推进
促进数字农业建设稳步推进
数据推动制造业转型升级提速
数据推动制造业转型升级提速
助力服务业新兴业态蓬勃发展1/2
助力服务业新兴业态蓬勃发展1/2
助力服务业新兴业态蓬勃发展2/2
助力服务业新兴业态蓬勃发展2/2
支撑公共服务智慧高效
支撑公共服务智慧高效
努力开创大数据与实体经济融合发展的新局面
努力开创大数据与实体经济融合发展的新局面
机遇与挑战并存
机遇与挑战并存
新思路新与举措1/4
新思路新与举措1/4
新思路新与举措2/4
新思路新与举措2/4
新思路新与举措3/4
新思路新与举措3/4
新思路新与举措4/4
新思路新与举措4/4

数据科学、神经网络、机器学习完全图解

这是一份非常详实的备忘单,涉及具体内容包括:

  1. 神经网络基础知识
  2. 神经网络图谱
  3. 机器学习基础知识
  4. 著名 Python 库 Scikit-Learn
  5. Scikit-Learn 算法
  6. 机器学习算法选择指南
  7. TensorFlow
  8. Python 基础
  9. PySpark 基础
  10. Numpy 基础
  11. Bokeh
  12. Keras
  13. Pandas
  14. 使用 Pandas 进行Data Wrangling
  15. 使用 dplyr 和 tidyr 进行 Data Wrangling
  16. SciPi
  17. MatPlotLib
  18. 使用 ggplot 进行数据可视化
  19. Big-O
神经网络 Cheat Sheet
神经网络 Cheat Sheet

第一部分:神经网络

神经网络基础知识
神经网络基础知识

神经网络基础知识

人工神经网络(ANN),俗称神经网络,是一种基于生物神经网络结构和功能的计算模型。 它就像一个人工神经系统,用于接收,处理和传输计算机科学方面的信息。

神经网络
神经网络

基本上,神经网络中有 3 个不同的层:

  • 输入层(所有输入都通过该层输入模型)
  • 隐藏层(可以有多个隐藏层用于处理从输入层接收的输入)
  • 输出层(处理后的数据在输出层可用)

神经网络图谱

神经网络图谱
神经网络图谱

图形数据可以与很多学习任务一起使用,在元素之间包含很多丰富的关联数据。例如,物理系统建模、预测蛋白质界面,以及疾病分类,都需要模型从图形输入中学习。图形推理模型还可用于学习非结构性数据,如文本和图像,以及对提取结构的推理

第二部分:机器学习

机器学习 Cheat Sheet
机器学习

用 Emoji 解释机器学习

用 Emoji 解释机器学习
用 Emoji 解释机器学习

Scikit-Learn 基础

Scikit-learn 是由 Python 第三方提供的非常强大的机器学习库,它包含了从数据预处理到训练模型的各个方面,回归和聚类算法,包括支持向量机,是一种简单有效的数据挖掘和数据分析工具。在实战使用scikit-learn 中可以极大的节省代码时间和代码量。它基于 NumPy,SciPy 和 matplotlib 之上,采用 BSD许可证。

Scikit-Learn 基础
Scikit-Learn 基础

Scikit-Learn 算法

这张流程图非常清晰直观的给出了 Scikit-Learn 算法的使用指南。

Scikit-Learn 算法
Scikit-Learn 算法

针对 Azure Machine Learning Studios 的 Scikit-Learn 算法

针对 Azure Machine Learning Studios 的 Scikit-Learn 算法
针对 Azure Machine Learning Studios 的 Scikit-Learn 算法

第三部分:Python 数据科学

Python
Python

TensorFlow

 

 

 

TensorFlow
Python 基础

 

Python 基础
Python 基础

PySpark RDD 基础

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎,通过 Scala 语言实现,拥有 Hadoop MapReduce 所具有的优点,不同的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。PySpark 是 Spark  为 Python 开发者提供的  API。

NumPy基础

NumPy 是 Python 语言的一个扩展程序库。支持高端大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,前身 Numeric,主要用于数组计算。它实现了在 Python 中使用向量和数学矩阵、以及许多用 C 语言实现的底层函数,并且速度得到了极大提升。

NumPy基础
NumPy基础

Bokeh

Bokeh 是一个交互式可视化库,面向现代 Web 浏览器。目标是提供优雅、简洁的多功能图形构造,并通过非常大或流数据集的高性能交互来扩展此功能。Bokeh 可以实现快速轻松地创建交互式图表、仪表板和数据应用程序。

Bokeh
Bokeh

Keras

Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlow, CNTK , 或者 Theano 作为后端运行。Keras 的开发重点是支持快速的实验。能够以最小的时延把你的想法转换为实验结果,是做好研究的关键。

Keras
Keras

Pandas

pandas 是一个为 Python 编程语言编写的软件库,用于数据操作和分析,基于 NumPy,纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas 提供了大量快速便捷地处理数据的函数和方法。

Pandas
Pandas

使用 Pandas 进行 Data Wrangling

使用 Pandas 进行 Data Wrangling

使用Pandas进行Data Wrangling
使用 Pandas进行 Data Wrangling

使用 ddyr 和 tidyr 进行 Data  Wrangling

为什么使用 tidyr 和 dplyr 呢?因为虽然 R 中存在许多基本数据处理功能,但都有点复杂并且缺乏一致的编码,导致可读性很差的嵌套功能以及臃肿的代码。使用 ddyr 和 tidyr 可以获得:

  • 更高效的代码
  • 更容易记住的语法
  • 更好的语法可读性
使用ddyr和tidyr进行Data Wrangling
使用 ddyr和 tidyr进行 Data Wrangling

Scipy 线性代数

SciPy 是一个开源的 Python 算法库和数学工具包。 SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。 与其功能相类似的软件还有 MATLAB、GNU Octave 和 Scilab。

Scipy线性代数
Scipy 线性代数

Matplotlib

Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。 它为利用通用的图形用户界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向应用程序嵌入式绘图提供了应用程序接口(API)。

Matplotlib
Matplotlib

使用 ggplot2 进行数据可视化

使用ggplot2进行数据可视化
使用 ggplot2 进行数据可视化

Big-O

大 O 符号(英语:Big O notation),又稱為漸進符號,是用于描述函数渐近行为的数学符号。 更确切地说,它是用另一个(通常更简单的)函数来描述一个函数数量级的渐近上界。 … 阶)的大 O,最初是一个大写希腊字母 “Ο” (omicron),现今用的是大写拉丁字母 “O”。

Big-O
Big-O

PDF下载(或点击阅读原文链接):
https://cheatsheets.becominghumanai.com/

参考链接:
https://becominghuman.ai/cheat-sheets-for-ai-neural-networks-machine-learning-deep-learning-big-data-science-pdf-f22dc900d2d7

 

 

 

 

 

 

《工业大数据白皮书》2019版

近日,由中国电子技术标准化研究院、全国信息技术标准化技术委员会大数据标准工作组主编,工业大数据产业应用联盟联合主编,联想集团等多家联盟成员企业参编的《工业大数据白皮书(2019版)》发布。

工业大数据白皮书(2019版)》基于工业大数据技术、产业发展现状,重点围绕『工业数据管理』这一热点议题,提炼了当前工业领域数据管理的重要方法,完善了工业大数据标准体系,为推动工业大数据落地应用和战略部署提供标准化支撑。

LaTeX 代码数学神器

这是一个帮你快速把数学公式图片转成 LaTeX 代码的工具,名为 Snip,可以免费下载使用。操作非常简单!下载工具之后,只需要一个快捷键,把数学公式截图下来,它就能给你LaTeX代码,你也可以直接在任务栏中修改代码,然后复制、粘贴,写出自己的公式。而且,这一工具不仅仅适用于用电脑打出来的公式,你自己手写的公式,也可以识别出来。

Convert images to LaTeX
Convert images to LaTeX

更好的是,这个工具适用于 Mac、Windows、Ubuntu 系统,适用于所有支持 LaTeX 的编辑器。

 

埃森哲:大数据分析方法论

当前,越来越多的应用涉及到大数据,而这些大数据的属性,包括数量、速度、多样性等等都呈现出不断增长的复杂性,因此,大数据分析方法在这一领域也就显得尤为重要,可以说是决定最终信息是否有价值的决定性因素。全球最大的管理咨询公司「埃森哲」的此前发布了一份 PPT,讲述大数据分析方法,看看他们具体是如何进行的。

由于此报告发布已经有一段时间,里面所提及的各种数据分析工具未必是最好的选择。诸如:SAS / SPSS / MATLAB 均为严谨高效的数据统计商业应用型工具,好比数据库中的 ORACLE,然而, R 与 Python 显然更匹配基础科学人才培养目标。同时,数据科学与大数据在各细分领域并发性爆发,充分展现了开源生态圈协同开发模式的强大优势与趋势。同时标志着『半成品化』应用工具时代的到来。最后,R 与 Python 逐步成为贯穿数据科学与大数据,机器学习,深度学习,新一代人工智能,乃至区块链技术一脉相承的语言工具,纯数据以外,更多的对象被纳入统计范围内。

尽管如此,从全面解读数据分析方法论的角度而言,此份报告仍然不失为一份有价值的参考材料。

《埃森哲:大数据分析方法论》。下载

面向数据科学与新一代人工智能的 K8S

数据科学家和软件工程师有许多相同的关注点:可重复的实验(比如可重复的构建);可移植和可复制的环境(如在开发、过渡和生产环境中具有相同的设置);凭证管理;跟踪和监控生产环境中的指标;灵活的路由;轻松扩展。不难看出,应用程序开发人员使用 Kubernetes 所做的事情与数据科学家可能想做的事之间有一些类似之处:

  • 可重复的批处理作业,如 CI/CD 管道,类似于机器学习管道,多个协同阶段在其中以可重复的方式一起处理数据、提取特征、训练、测试和部署模型;
  • 描述服务之间连接的声明性配置有助于创建跨平台的可重复学习管道和模型;
  • 微服务架构支持在管道中对机器学习模型进行简单地调试,并帮助数据科学家和他们团队中的其他成员进行协作。

数据科学家与应用程序开发人员面临许多相同的挑战,但他们也面临一些独特的挑战,这些挑战与数据科学家的工作方式以及机器学习模型比传统服务更难测试和监控这一事实有关。我们将重点讨论一个与工作流相关的问题。

大多数数据科学家使用交互式笔记本(interactive notebooks)工作,这是一个笔记本环境,通常由 Project Jupyter 开发,提供一种交互式 迭代编程环境,用户可以在其中混合说明性本文和代码、运行并更改代码、检查其输出。

这些特性使得该环境对探索性分析非常灵活。然而,它们并不是用于协作或发布的理想软件工件——想象一下,如果软件开发人员发布工作的主要方式是将来自交互式 REPL 脚本发布到 pastebin 服务。

与同事分享交互式笔记本就像分享实体笔记本一样——里面有一些很好的信息,但是必须仔细查找才能找到。由于笔记本的脆弱性和对环境的依赖性,同事在运行笔记本时可能会看到不同的输出——甚至更糟:它可能会崩溃。

数据科学家可能不想成为 Kubernetes 专家——这很好!Kubernetes 的优点之一就是构建更高级工具的强大框架。

Binder 服务 就是其中一个工具,采用一个 Jupyter 笔记本的 Git 存储库,构建容器镜像来提供服务,然后在路由公开的 Kubernetes 集群中启动镜像,这样就可以从公网访问。由于笔记本的一大缺点是其正确性和功能可能依赖于其环境,因此,如果有一个高级工具可用来构建不可变环境为 Kubernetes 上的笔记本提供服务的话,就可以避免许多让人头疼的事。

你可以使用托管的 Binder 服务或 运行自己的 Binder 实例,但是,如果你想在这个过程中获得更大的灵活性,你还可以使用 Source-To-Image(S2I)工作流和工具,以及 Graham Dumpleton 提供的 Jupyter S2I 镜像 上线自己的笔记本服务。事实上,对于基础设施专家或打包专家来说,Source-To-Image 工作流是构建可供主题专家使用的高级工具的良好起点。例如,Seldon 项目 使用 S2I 来简化模型服务发布——只要向构建器提供一个模型对象,它将构建一个容器并将其作为服务公开。

Source-To-Image 工作流的一个优点是,它支持在构建映像之前对源存储库进行任意操作和转换。有个例子可以说明这个工作流有多强大,我们 创建了一个 S2I 构建器镜像,该镜像以一个 Jupyter 笔记本作为输入,该笔记本展示了如何训练模型。然后,它处理这个笔记本以确定它的依赖关系,并提取 Python 脚本来训练和序列化模型。有了这些,构建器就会安装必要的依赖项并运行脚本来训练模型。构建器的最终输出是一个 REST Web 服务,它为由笔记本构建的模型提供服务。你可以看下 notebook-to-model-service S2I 的运行 视频。同样,这不是数据科学家必须开发的工具,但是,创建这样的工具是 Kubernetes 专家和打包专家与数据科学家合作的绝佳机会。

PDF 数据表格提取神器

Excalibur,从古希腊语翻译过来就是『神剑』,它现在也是一种用于从 PDF 中提取表格数据的 Web 界面,使用 Python 3 编写,由 Camelot(Python 库) 提供支持,可以让任何人轻松地从 PDF 文件中提取表格数据。需要注意的是,Excalibur 仅适用于基于文本的 PDF 文件,扫描文件不在此列。

可移植文件格式

PDF 文件定义了将字符放置在相对于页面左下角的 x,y 坐标的指令。通过将某些字符放在比其他字符更近的地方来模拟单词。空格是通过将单词放在相对较远的地方来模拟的。最后,通过放置在电子表格中显示的字词来模拟表格,格式没有表格结构的内部表示。

自动检测 PDF 中的表格数据

可移植文件格式不是为表格数据设计的。可悲的是,许多开放数据共享时都是 PDF 文件,但对其中的表格进行分析却是一件非常痛苦的事。简单的复制粘贴行不通,Excalibur 通过自动检测 PDF  中的表格并让你通过 Web 界面将它们保存为 CSV 和 Excel 文件,这使 PDF 表格提取变得非常简单。

可动态调整表格提取规则

虽然有很多广泛用于 PDF 表格提取的开源和闭源工具,但他们输出的表格良莠不齐。Excalibur 由 Camelot 提供支持,为用户提供附加设置以调整表格提取并获得最佳效果。相较而言,它的性能要好于其他开源工具和库。

数据完全可控且安全

你可以完全控制数据,因为所有文件存储和处理都在你自己的本地或远程计算机上进行。Excalibur 还可以配置 MySQL 和 Celery 系统,以并行和分布式方式执行表格提取任务。默认情况下,任务按顺序执行。

GitHub地址项目 GitHub 地址

教育部指定人工智能、大数据等为战略性新兴专业

日前,教育部发布《教育部关于加快建设高水平本科教育全面提高人才培养能力的意见》(教高[2018]2号)文件,文件的第六个方面“大力推进一流专业建设”中,第22条提出要动态调整专业结构,原文如下:

“动态调整专业结构。深化高校本科专业供给侧改革,建立健全专业动态调整机制,做好存量升级、增量优化、余量消减。主动布局集成电路、人工智能、云计算、大数据、网络空间安全、养老护理、儿科等战略性新兴产业发展和民生急需相关学科专业。推动各地、各行业、各部门完善人才需求预测预警机制,推动高校形成就业与招生计划、人才培养的联动机制。”

在这7大一流专业建设中,“集成电路”、“人工智能”、“云计算”、“大数据”、“网络空间安全”5个专业,属于战略性新兴产业相关学科专业。从这5个专业来看,完全符合“大数据、云时代”的发展需求,全部都与计算机技术息息相关。这标志着,以计算机技术为纽带的5大战略性新兴产业,在高等教育中的地位越来越大,成为新时代本科建设的重点任务之一。从这5大专业的具体情况来看,“集成电路”是一种微型电子器件或部件,是现代信息社会的基石;“人工智能“决定人类社会的未来;“云计算和大数据技术”在当代社会中的应用价值越来越大;“网络空间安全”也是互联网高度发达背景下保障信息安全的一门重要课程。

可以说,5大专业,每1门都具备“高、精、专”的特点。选择其中任何1门专业,找工作时都不发愁。只要把专业学深学透学精,在就业市场上必然抢手。

数据工程师 vs 数据科学家

Jesse Anderson 在 OReillyAI 上发表了关于数据工程师与数据科学家之间差别的文章:《数据工程师 vs 数据科学家》,阐述了两者间的分工区别。了解数据工程师和数据科学家之间的差异非常重要。 误解或不了解其差异,会导致团队在处理大数据时失败或者表现不及预期。

数据科学家的技能

数学与统计学(有时物理也可以)是数据科学家的核心。 在基于这种数学背景,他们正创建高级分析能力。 他们通过将数学应用到极致来创建机器学习模型和人工智能模型。

如同软件工程一样,数据科学家将不得不与业务端进行交流。 这包括充分了解领域,以获得洞察力。 数据科学家通常负责分析数据以帮助业务,这需要一定的商业敏锐度。 最后,他们的结果需要以可理解的方式提供给业务方。这要求数据科学家有能力用口述和视觉结果的形式,与业务方交流那些复杂的结果和观察情况,以似的业务方能够理解并且基于此展开决策。

关于数据科学家,我一言以概之的定义是:数据科学家是通过编程来强化他们的数学和统计背景能力来进行分析数据、创造数学模型的人。

数据科学家的一个常见特征是,他们不得不选择了编程,以实现他们除了编程以外无法做到的事情。 当我与数据科学家交谈时,他们经常向我倾诉的一件事情。 为了完成更复杂的分析,或者由于其他方面难以克服的问题,他们学会了如何编程。 他们的编程和系统搭建技能达不到你从程序员或数据工程师那里会看到的水平 – 他们也没必要达到。

数据工程师的技能

编程能力是数据工程师的核心。这种能力背景通常是 Java,Scala 或 Python 的编程经验。 他们的工作重点或专业能力主要在分布式系统和大数据方面。 数据工程师具有高级编程和系统构建技能。

对于数据工程师,我对其一言以蔽之的定义是:数据工程师是在围绕大数据建立创建软件解决方案上具备专业技能的人。

利用这些工程技能,他们可以创建数据管线。 创建数据管线可能听起来很简单或微不足道,但在大数据这种规模上,这意味着将 10 – 30 种不同的大数据技术整合在一起。 更重要的是,数据工程师是理解并选择『适合处理某种工作的工具』的人。 数据工程师深入了解各种技术和框架,以及如何将它们组合在一起以创建解决方案,从而使公司的业务流程具备数据管线。

在我的经验中,数据工程师只是最低限度地参与集群的运维(与此处讨论有关数据工程师的说法相反)。 虽然某些数据科学技术确实需要设置一个运维或者数据运维岗位,不过绝大多数技术都没有。 就像大多数程序员一样,我不允许他们直接访问生产系统。 这主要是系统管理员或运维人员的工作。

重叠技能

数据科学家和数据工程师技能之间存在重叠。 然而,重叠永远发生在每个人能力的不规则边缘。

比方说,这两个岗位在『分析』上重叠了。 但是,数据科学家的分析技能将远远超过数据工程师的分析技能。 数据工程师可以执行一些基本到中级的分析,但很难进行数据科学家所做的高级分析。

数据科学家和数据工程师在编程能力上有所重叠。 不过,数据工程师的编程技能远远超出了数据科学家的编程技能。 让数据科学家创建数据管线早已远离了他们技能优势边界,但却是数据工程师的优势所在。 在这种情况下,这两个角色是互补的,数据工程师对数据科学家的工作起支持作用。

您会注意到,数据科学家和数据工程师之间还存在一个大数据方面的重叠。 通过更好地了解每个岗位的技能,您现在可以更好的理解这种技能重叠。 数据工程师使用他们的编程和系统构建技能来创建大数据管线。 数据科学家利用他们更加有限的编程技能,运用他们的高级数学技能, 利用已经存在的数据管线创建高级数据产品。 『创建和使用』之间的这种差异,是在处理大数据时,团队失败或者表现不佳的核心之处。一个团队,如果期望他们的数据科学家创建数据管线,最后将会极其失望。

数据工程师与数据科学家的比率

决定数据工程师和数据科学家的比率是一个常见问题。在确定这个比率时,常见需要考虑的问题包括数据管线有多复杂,数据管线有多成熟,以及数据工程团队需要拥有多少经验。

拥有比数据工程师更多的数据科学家通常是个问题。 它通常意味着,机构正在让他们的数据科学家进行数据工程工作。 正如我之前所说的,这会进而导致各种各样的问题。

为每个数据科学家搭配 2 – 3 位数据工程师是一个常见配置。 对于一些具有更复杂数据工程要求的机构,这个数字可以是每个数据科学家配备 4 – 5 名数据工程师。 这包括那些数据工程和数据科学处于不同汇报组织结构中的机构。 您需要更多的数据工程师,因为创建数据管线需要比创建 ML / AI 部分花费更多的时间和精力。

我在《数据工程团队》一书中,更多地讨论了数据工程和数据科学团队应该如何相互交流。

数据工程师从事数据科学研究

一个远非常见的情况是数据工程师开始进行数据科学工作。 随着数据工程师开始提高他们的数学和统计技能,这是一个向上的推动力。 随着数据科学变得更加标准化,这种向上的推动力变得越来越普遍。 它导致了一种全新的工程师类型出现。

机器学习工程师的需求

数据科学家面临的一般问题是,他们不是将工作投入生产、创建数据管线以及公开这些 AI / ML 结果的工程师。

为了应对学术思维与『投入生产的需求』之间的差异,我们观察到了一种新型的工程师。 现在,这位工程师大多可以在美国看到。他们的头衔是机器学习工程师。

机器学习工程师的工作,主要是创建数据科学管线的最后一步。 这可能需要几个部分。 它可能是将数据科学家的代码从R / Python 重写为 Java / Scala。 它可能是从软件工程的角度优化 ML / AI 代码,保证数据科学家写的代码能够运行良好(或者干脆就是能够运行)。 机器学习工程师具有足够的工程背景,可以在一个领域(数据科学)保障所必需的工程规范,这些领域以并不遵循良好的工程原理而著称。

在生产环境中运行的模型需要维护和输入,而普通的软件并不需要。 机器学习模型可能过时,并开始给出不正确或扭曲事实的结果。 这可能来自数据属性的改变,新数据的增加,或恶意性质的攻击。 无论是哪种方式导致的,机器学习工程师都需要时刻注意他们的模型中需要修改的部分,这可能导致模型的重新训练或调整。

机器学习工程师和数据工程师

数据工程师向机器学习工程师的过渡是一个缓慢的过程。 坦率来讲,我们将看到,变成机器学习工程师需要作出什么变化和变成数据科学家需要作出什么变化是非常相似的。

为了解释我的『缓慢变化』的意思,我将分享那些我见过的从数据工程师转变为机器学习工程师的人的经验。 他们花了数年时间做软件工程师和数据工程师的开发工作。 他们一直对统计学或数学感兴趣。 其他时候,他们只是厌倦了作为一名数据工程师所遇到的限制。 无论哪种方式,这种转变需要数年时间。 参加初级统计课程或初级学习机器课程之后,我没发现人们能立刻成为机器学习工程师。

正如我将数据科学家视为偏学术一样,数据工程师也不刚好是适合做机器学习工程师的。 一个工程师喜欢世界里的真和假,黑和白,以及 1 和 0。他们不喜欢不确定性。 通过机器学习,模型的猜测存在一定程度的不确定性(工程师也不喜欢猜测)。 与大多数工程师不同,机器学习工程师可以跨越数据工程的确定性和数据科学的不确定性。

编程与统计学入门数据科学项目

教师用来进行教学使用,帮助学生有机会使用与其课程相关的数据集,并指导学生进行数据分析以及帮助理解统计和计算机原理。

语音和音韵学概论

这个模块由两个实验组成,实验所用到的数据都是学生自己收集的,并且在这个模块中,学生独立分析数据并编码。在第一个实验室里,学生们研究声音开始以及结束的时间,以及母语口语和身高之间的相关性。在第二个实验中,学生分析元音发音,并将研究个体相互比较,从而揭示单个元数据对特征预测能力的影响。该模块适用于没有编码或统计经验的学生。

邻里映射

本模块让学生分析并可视化整个东湾人口普查区的社会经济和人口变化情况。学生们到社区进行定性观察,然后与人口普查数据进行比较。把一些的观察结果组合成一幅地图。该模块适用于没有编码或统计经验的学生。

宏观经济学

这个模块包含一些宏观经济学问题集。 第一个 notebook 帮助学生使用 Latex 公式以及教他们如何插图。 第一个 notebook 的建模部分可视化了索洛增长模型。该模块还使用自动评分功能可以及时反馈学生提交的作业。同样,该模块也适用于没有编码或统计经验的学生。

唐人街与排斥文化

使用 20 世纪 – 21 世纪的人口统计数据,让学生分析一个特定的唐人街随着时间的推移是如何变化的。在实验过程中,学生可以使用一些简单的文本分析方法做相关研究。

隐性偏见和社会结果

本模块向学生介绍相关和回归分析。学生从一个关于健康结果的数据集和一组关于内隐偏见的数据集中挑选出整个美国的县级数据集。然后,他们将这两个数据集合并,并计算相关性和进行回归预测,从而确定偏见与健康结果之间是否存在相关性。

道德基础理论

这些模块将政治演讲中的词汇使用与道德基础理论联系起来。这些数据的统计推断和可视化帮助学生寻找保守派和自由派总统候选人之间的修辞差异。然后,学生们将数据驱动的方法作为修辞工具进行研究和批判。

苏美尔文本分析

本模块使用一个有趣的数据集,即苏美尔文学电子文本语料库(ETCSL)。这些文本是从六千年前的资料中翻译出来的。在本模块中使用的技术在文本分析中不太常见,如k均值、分层聚类和多维缩放。

数据,预测和法律

利用 2016 年美国总统竞选演讲的数据,学生从语音文本中挖掘特征,可视化这些特征,并用主成分分析提取特征。该模块最后给出了一个三维特征图的例子,此模块需要学生有一些统计学知识。

Spark 2.4 重磅发布

Spark 2.4 重磅发布:优化深度学习框架集成,提供更灵活的流式接收器。Apache Spark 2.4.0 是 2.x 系列中的第五个版本。此版本增加了屏障执行模式,以便更好地与深度学习框架集成;引入 30 多个更高阶的内置函数,能够更轻松地处理复杂数据类型;优化 K8s 集成,同时提供 Scala 2.12 实验性支持。其他主要更新还包括内置 Avro 数据源、图像数据源,更加灵活的流式接收器,取消传输过程中 2GB 块大小的限制,Pandas UDF 改进。此外,此版本继续关注可用性、稳定性,并解决了大约 1,100 个 tickets。

Apache Flink 技术

本文节选自 9 月 1 日在成都举行的 Apache Flink China Meetup,分享来自于云邪。

Flink 是一款分布式的计算引擎,它可以用来做批处理,即处理静态的数据集、历史的数据集;也可以用来做流处理,即实时地处理一些实时数据流,实时地产生数据的结果;也可以用来做一些基于事件的应用,比如说滴滴通过 Flink CEP 实现实时监测用户及司机的行为流来判断用户或司机的行为是否正当。

总而言之,Flink 是一个 Stateful Computations Over Streams,即数据流上的有状态的计算。这里面有两个关键字,一个是 Streams,Flink 认为有界数据集是无界数据流的一种特例,所以说有界数据集也是一种数据流,事件流也是一种数据流。Everything is streams,即 Flink 可以用来处理任何的数据,可以支持批处理、流处理、AI、MachineLearning 等等。

另外一个关键词是 Stateful,即有状态计算。有状态计算是最近几年来越来越被用户需求的一个功能。举例说明状态的含义,比如说一个网站一天内访问 UV 数,那么这个 UV 数便为状态。Flink 提供了内置的对状态的一致性的处理,即如果任务发生了 Failover,其状态不会丢失、不会被多算少算,同时提供了非常高的性能。

那 Flink 的受欢迎离不开它身上还有很多的标签,其中包括性能优秀(尤其在流计算领域)、高可扩展性、支持容错,是一种纯内存式的一个计算引擎,做了内存管理方面的大量优化,另外也支持 eventime的处理、支持超大状态的 Job(在阿里巴巴中作业的 state大小超过TB的是非常常见的)、支持 exactly-once 的处理。

Flink 基石

Flink 之所以能这么流行,离不开它最重要的四个基石:Checkpoint、State、Time、Window。

首先是 Checkpoint 机制,这是 Flink 最重要的一个特性。Flink 基于 Chandy-Lamport 算法实现了一个分布式的一致性的快照,从而提供了一致性的语义。Chandy-Lamport 算法实际上在 1985 年的时候已经被提出来,但并没有被很广泛的应用,而 Flink 则把这个算法发扬光大了。Spark 最近在实现 Continue streaming,Continue streaming 的目的是为了降低它处理的延时,其也需要提供这种一致性的语义,最终采用 Chandy-Lamport 这个算法,说明 Chandy-Lamport 算法在业界得到了一定的肯定。

提供了一致性的语义之后,Flink 为了让用户在编程时能够更轻松、更容易地去管理状态,还提供了一套非常简单明了的 State API,包括里面的有 ValueState、ListState、MapState,近期添加了 BroadcastState,使用 State API 能够自动享受到这种一致性的语义。

除此之外,Flink 还实现了 Watermark 的机制,能够支持基于事件的时间的处理,或者说基于系统时间的处理,能够容忍数据的延时、容忍数据的迟到、容忍乱序的数据。

另外流计算中一般在对流数据进行操作之前都会先进行开窗,即基于一个什么样的窗口上做这个计算。Flink 提供了开箱即用的各种窗口,比如滑动窗口、滚动窗口、会话窗口以及非常灵活的自定义的窗口。

Flink API

最底层是 ProcessFunction,它能够提供非常灵活的功能,它能够访问各种各样的 State,用来注册一些 timer,利用 timer 回调的机制能够实现一些基于事件驱动的一些应用。

之上是 DataStream API,最上层是 SQL/Table API 的一种 High-level API。

Flink 的用途

Flink 能用来做什么?回顾一下 Flink up 前几站的分享,有非常多的嘉宾分享了他们在自己公司里面基于 Flink 做的一些实践,包括携程、唯品会、饿了么、滴滴、头条等等。他们的应用场景包括实时的机器学习,实时的统计分析,实时的异常监测等等。这些实践案例的共同点就是都用来做实时性的任务。

Flink Title 的变化

早期 Flink 是这样介绍自己的:『我是一个开源的流批统一的计算引擎』,当时跟 Spark 有点类似。后来Spark 改成了一长串的文字,里面有各种各样的形容词:『我是一个分布式的、高性能的、高可用的、高精确的流计算系统』。最近 Spark 又进行了修改:『我是一个数据流上的有状态的计算』。

通过观察这个变化,可以发现 Flink 社区重心的变迁,即社区现在主要精力是放在打造它的流计算引擎上。先在流计算领域扎根,领先其他对手几年,然后借助社区的力量壮大社区,再借助社区的力量扩展它的生态。

数据素养:新一代人工智能时代的重要技能

近日,Tableau 博客上发表了《Data literacy : A critical  skill for the 21st century》文章,表示数据素养已成为 21 世纪至关重要的技能,在新一轮由数据,算法,计算力推动的深度学习与新一代人工智能时代,数据素养的重要性尤为突出。以下为原文摘录:

在我们熟练掌握复杂的字母和文字之前,我们中的很多人就已经学会了计算,阅读和书写数字。我们身边每天都充斥着大量的事实和数据,但我们对这些数字背后的含义有多深的了解?

从数据中获取有意义的信息的能力,称为数据素养。

Gartner 预计到 2020 年,80% 的组织将开始推行内部数据素质计划,以提高其员工的技能。虽然大多数公司仍在探寻如何理解自己的数据,但新一代以数据为中心的公司正在我们周围萌芽。

新一代公司不仅仅只是记录交易或是推销新产品。他们使用数据来预测并影响您的下一步行动。简而言之,数据是使您业务永不过时的关键。这种对数据的依赖程度要求组织中的每个人都具备数据素养。这项技能不仅需要基于事实的决策,还需要用户能够探索和试验数据来发现潜在的机会。没有人能否认数据的影响力,这种趋势在短期内不会放缓。

就像过去几百年来文化教育对人类进步的贡献一样,数据素养对于保证您和您的组织紧跟时代潮流而言至关重要。更重要的是,理解数据不再仅仅是数据科学家和技术专家的技能,而是我们所有人的基本技能。各大学院正在尽可能快地而培养数据科学家,以满足不断增长的需求。与此同时,并非所有工作都需要核心数据科学技能,但是迫切需要每位员工都具备数据素养,以便能够加入数据经济并做出贡献。

从表面上看,基于本文前面的定义,数据素养是至关重要的一部分,因为它使我们能够理解他人创建的数字,图表和图形。然而,这只是一部分。因为当数据以漂亮的图表呈现时,这并不就意味着它易于理解或者它完全正确。了解数据的来源,收集方式以及如何分析和可视化数据都是数据素养的基本要求。

更重要的是,所提供的数据应该对公司有利。很多次,我与那些被越来越多的报告所淹没的组织交谈时,都对他们缺乏预期和见解的数据感到失望。我们需要数据素养来确定有价值且有意义的材料。

在这个阶段,数据素养对于数据探索和发现来说至关重要。这是关于从您的数据中提问并回答问题。在数据探索阶段结束之后,用户需要将结果可视化以便理解,与更广泛的受众分享他们的结论,并围绕结果创建叙述。除数据分析过程外,数据素养技能还包括清理和准备分析数据的能力。并始终以批判的眼光看待结果。

在组织中提升数据素养始于文化。组织需要建立数据优先的文化以鼓励数据的使用,大力支持在决策中使用事实并培养好奇心和批判性思维的文化。创造这种文化需要正确的技术和合适的人才相结合。招聘将是我们看到这种转变发生的首个方式之一,一旦公司雇用了数据驱动的员工,他们将会支持整个组织的数据使用。

这个转变有时会让人感到不适应,但我们需要接受。即使人类比机器更难适应这种转变,但有一样是清楚的,这需要从上层开始。领导团队要需要相信它,促进它并照它行事。数据素养是一种新语言,我们都需要精通它。随着数据无处不在,它将成为 IT 和业务之间,普通数据科学家和领域专家之间的交流方式。

Text-to-SQL 数据集:Spider

近期,耶鲁大学创建了一个新型大规模复杂跨域语义解析和 Text-to-SQL 数据集 Spider。研究者用多个当前最优模型进行实验,最好的模型在数据库分割设置下仅能达到 14.3% 的精确匹配准确率。Spider 数据集对未来研究是一个巨大挑战。

新千禧年开始后,每天生产的数据量呈指数级增长,它们大部分存储在关系数据库中。近年来,访问这些数据成为大多数大公司的兴趣,这些公司可以使用结构化查询语言(SQL)查询数据。随着手机的发展,更多个人数据也被存储。因此,更多来自不同背景的人尝试查询和使用自己的数据。尽管目前数据科学非常流行,但是大部分人不具备足够的知识来写 SQL、查询数据。此外,大部分人没有时间学习和了解 SQL。即使对于 SQL 专家,一次又一次地写类似的查询也是很单调的任务。因此,今天海量可用的数据无法有效访问。我们从哪里找到大量问题和 SQL 对标注数据?创建此类数据集非常耗时,因为标注人员必须理解数据库模式,问问题然后写出 SQL 答案,所有这些都需要特定的数据库知识。而让这件事变得更加困难的是:具备多个表的非私人数据库数量非常有限。为了解决该任务对大型高质量数据集的需求,我们创建了数据集 Spider,它包含 200 个具备多个表的数据库、10,181 个问题、5,693 个对应的复杂 SQL 查询。所有这些由 11 名耶鲁大学学生标注完成,共耗时 1,000 小时!

GitHub地址项目 GitHub 地址

成为数据科学家的 8 个步骤

为了引导您完成这个信息和建议的丛林,DataCamp 已经改进了『成为数据科学家的 8 个步骤』信息图:它现在提供了学习数据科学所需的八个步骤的最新视图。 根据背景和个人经验以及其他因素,这些八个步骤中的一些对于某些人来说将比对其他步骤更容易。然而,目标仍然是让每个对数据科学学习感兴趣的人或者已经成为数据科学家或数据科学团队成员的所有人的视觉指南,但是需要一些额外的资源来进一步完善。同时,中国人民大学的朝乐门教授做了中文版翻译。

Data Science Eight Steps
Data Science Eight Steps