数据科学概论教学课件ch11.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据科学概论教学课件ch11.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 科学 概论 教学 课件 ch11
- 资源描述:
-
1、可重复研究和产品化 学术界和产业界的数据科学家都需要和其他人交流,交流的载体可能是:1.论文、报告、幻灯片等文档形式;2.也可能是客户端软件、远程系统等产品形式。引言 特点:普通文档的分析过程和写文档的过程是分开的;分析结果需要通过粘贴图表再排版来完成。弊端:容易出错有时候分析结果更新后,最终文档上的图表可能会忘记更新;难以重复数据分析的过程无法体现在最终结果中,研究结果难以被其他人重复。普通文档的特点与弊端分析报告与数据产品简介可重复研究数据产品的设计与开发目录555分析报告与数据产品简介 对于自动化的分析过程,如果展现结果的主体是分析报告,通过一些交互式的方法把代码和文字排版形成文档,这种
2、方式一般称为自动化报告自动化报告。如果展现结果的主体是信息系统,一般称为数据产品数据产品,在系统中通过不同的模板展示不同的分析结果。分析报告与数据产品简介 自动化报告以排版系统作为工具。在数据科学应用中,常用的排版系统有:Office 系列工具、LATEX、Markdown 使用Word 或者可以很容易地生成下图格式的文档分析报告示例自动化报告的常见框架 美国微软公司于1982 年在DEC 的CP/M 操作系统上推出了电子表格程序MultiPlan;1983 年基于DOS 操作系统推出了文字处理软件Word;1985 年微软公司在苹果的Macintosh系统发布的Excel 电子表格和Word
3、 文字处理软件获得了广大的用户。微软公司Office系列工具 1990 年微软推出Office1.0,集成了Word 1.1、Excel 2.0 和PowerPoint 2.0。从此以后,这三个软件成了Office 工具的标配,也成了具有最广泛用户基础的排版工具。微软产品Office系列工具1在Windows 系统中,通过快捷键“Alt+F11”可以调出开发环境。Office系列工具 基于VBA的自动化示例:1.更新数值更新数值:一份文档中的某个数值需要按月更新,可以基于VBA在每次更新时从数据库中获取最新的数值,然后定位到这个数值的位置,通过VBA中的Office对象来替换原先的数值,操作完
4、之后保存即可。2.“撰写撰写”文档文档:完全由程序来控制Word、Excel或者PowerPoint中的内容。这种写文档的方式不是Office的常规使用方式,失去了Office工具所见即所得的便利性,但在需要频繁更新大量固定格式报告的场景下,通过程序来生成文档大大降低工作量且不易出错。Office系列工具 在实际的工作中,研究者也可以不直接使用VBA,而是基于R和Python等数据科学工具利用Office接口来操纵文档,实现相同的自动化报告功能。1.R中可以使用 officer 包操作Word和PowerPoint,使用 xlsx 包操作Excel;2.Python中可以使用 python-d
5、ocx、openpyxl、python-pptx来分别操作Word、Excel和PowerPoint。这些包可以很方便地将Office文档中的元素转化成R或者Python中的对象,从而将分析的结果和报告文档关联起来,实现自动化的报告。Office系列工具 TEX:是一个非常受欢迎的科技文排版系统,由Donald E.Knuth 于1977年开始开发;其初衷是创造以排版文章及数学公式为目标的计算机程序。LATEX:最初由 Leslie Lamport 开发,现在由Frank Mittelbach 维护;是系统上的一个宏集,使用 程序作为排版引擎;它使用一个预先定义好的专业版面,可以帮助作者高质量
6、地排版和打印作品。用户可以开源地获取不同版本的 工具集。对于环境中的书籍而言,充当了图书设计者设计者的角色,而 则相当于排版者排版者。文学化编程 LATEX提供了专业的版面设计专业的版面设计,可以使一份文档看起来就像印刷品一样。的一大特色是可以方便地排版数学公式,用户只需要学一些声明文档逻辑结构的命令即可,而不必纠结于文档中的版式细节。通过简单的命令可以很容易地生成像脚注、引用、目录和参考文献等复杂的结构。和Word等所见即所得的排版工具不同,主要的工作环境是基于命令的文档编辑器,用户可以专注于内容的创作,而无需在意最终的格式,等到编辑完成,再编译出最终的文档。文学化编程 Knuth于1992
7、年出版了Literate Programming,提出了文学化编程文学化编程这一经典的编程范式。简单来理解,把文字和程序混合在一起并能编译出最终的格式化文档就是文学化编程。由于提供了排版和编程的完美框架,基于平台的工具也成了实现文学化编程的首选。文学化编程 在数据科学里,R和Python是最主流的分析工具。knitr是一个能够支持多种排版环境和编程语言的R包,可以在 环境中运行R、Python和Julia。Python环境下的Jupyter也可以支持代码和文字的混排,但不属于严格意义上的文学化编程工具,因为其代码块主要基于顺序结构运行,无法实现完全自由的组织。在很多应用场景下,研究者不需要完全
8、灵活的文学化编程,只需要实现基础的代码块(或者代码运行结果)与文档混合排版即可2。2也就是普通的自动化报告的功能。文学化编程 基于LATEX的报告体系是一个很好的选择:1.LATEX既可以得到美观的数学公式;2.又可以在PDF格式的输出文件中包含矢量图;3.在学术论文、专业报告、科学类书籍中有着广泛的应用。文学化编程 Office文档文档:可以所见即所得地快速编辑,修改细节容易且使用便利;但由于结构化能力不足,对于一些大型文档(比如书籍)和结构化要求比较高的文档来说,排版很繁琐而且痛苦;Office文档需要依赖于系统中的微软软件,在互联网上不方便移植。LATEX:是一种极其强大而灵活的排版语言
9、,结构化功能很强;但其学习成本比较高,初学者入门比较困难。如果人们需要一个轻量级的结构化、标记式的排版语言,可以得到简单清爽的版式结果,那么Markdown是一个很好的选择。Markdown简介 Markdown的创始人为John Gruber 和 Aaron Swartz。它有如下特点:易读写易读写:允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档;格式转换格式转换:结合Pandoc等工具可以自动转成 和Word格式;编辑器众多编辑器众多:多种文本编辑器都可以用来编辑 Markdown 文件,如Windows记事本、Notepad+、Sublime等;
10、应用广泛应用广泛:越来越多的网站(例如Github)都可以直接支持Markdown格式的文档,很多技术型的博客甚至书籍也开始使用Markdown进行网页或者书籍的排版。Markdown简介 在Markdown中可以通过一些简单的标记表示排版的元素。常见的标题层级、列表、程序代码、图形等,可基于以下标签来实现:标题#表示一级标题。有几个#表示几级标题。列表 *开头表示无序列表,换行加Tab 键表示下一级项目。类似1.开头的项目表示有序列表。代码 以Tab 符或者至少四个空格开始的行表示程序代码。图形 例如!Foo(http:/ 数据产品数据产品是抽象程度更高的数据分析结果形态,在形式上也更加标准
11、化,通常以信息系统的形式来体现。下图是典型的数据产品界面,用户通常通过互联网来访问。在系统中,不同的功能模块对应不同的界面,每一个界面都可以类比于一份自动化报告。数据产品示例数据产品简介 在数据产品界面中可以选择特定的日期,下方的数据表和词云图就会实时更新,从而实现了交互。这种交互性体现在两个方面:1.首先,通过选择框选择时间后页面会和后台的服务器交互,实现数据的更新,体现在页面上是结果的更新,这是前端界面和后端服务之间的交互;2.其次,页面上的图形控件本身就能交互,基于JavaScript 技术可以实现很多动态交互的效果,比如在词云图中,鼠标移到某个具体的词上,会自动显示其频数。数据产品简介
12、 对于一个数据产品,用户能看到的前端界面可能会非常简单,但其后台的技术框架 往往较为复杂。一个分析型的信息系统通常具有如图所示的三层结构:分析型系统架构示例数据产品简介 第一层是数据存储层数据存储层,在数据科学的应用场景中,数据的来源非常丰富:有各种传统信息系统中结构化的数据库;也有文本数据、图像数据等非结构化数据源;还有来自实验室的各类研究数据;以及来自互联网的舆情口碑数据。这些数据可能存在于不同的数据库、云平台、应用软件、文件、网络中,按照数据仓库的流程,通常使用ETL(抽取、转换、加载)的方式将所有数据汇总到一个中央的数据仓库或者云平台中,从而作为数据产品的统一数据源。分析型系统架构 第
13、二层是模型算法层模型算法层,针对不同的应用场景,具体的模型算法也会有差异。一般来说可以分为:统计模型 机器学习算法 人工智能算法 最优化方法 BI分析引擎 这些模型和算法可以在不同的技术环境中实现,数据科学中常用R和Python。有些对性能要求高的算法还会使用C/C+和FORTRAN来实现,在云平台上也会选用Spark等并行框架,在人工智能中还会使用TensorFlow、MXNet、PyTorch等深度学习框架。分析型系统架构 第三层是应用层应用层,直接体现在系统模块的开发上,通常属于软件工程的任务,和数据科学的核心工作有所不同。常用的技术环境有Java、PHP等;比较主流的形式是Web平台;
14、也有很多数据产品是通过手机APP甚至微信小程序来实现。在不同的行业里都会有不同的应用形式,满足的功能也千差万别,但最终都是从系统层面实现数据的应用。分析型系统架构272727可重复研究 可重复研究(可重复研究(Reproducible Research)是一个学术上的概念,指的是研究结果可以重现,通常要求研究的过程透明和开源。研究者除了提供最终的论文或者研究报告以外,还要提供数据及分析代码,这样可以帮助其他研究者快速地重现研究结果。需要将数据获取、数据整理、数据分析、结果展现等步骤内容全部整合到一份文档中;最好的方式就是一份自动化的报告,但是需要能包含所有分析和处理的细节;进行文学化编程时的方
15、案就成了首选。可重复研究 knitr是基于R的动态报告系统,可以灵活地嵌入到 和 Markdown等格式的文档中。其运行代码产生的图形、表格等输出结果都可以很方便地转化成文档中的元素,最后和文档一起编译出来,实现完美的文学化编程。Knitr的应用 以Markdown为例,可以新建一个后缀名为.Rmd 的文本文件。将以下内容复制到该文件中,形成一个 knitr 和Markdown 混排的脚本:混排脚本Knitr的应用 如果使用RStudio作为工作环境,打开.Rmd 格式的文件后,会自动识别出 knitr 的格式,并进行语法高亮显示。此外工具栏会自动出现“Knit”的按键,如图:RStudio
16、运行knitrKnitr的应用 点击红圈中的“Knit”图标后,它会调用knitr包先将文件转为纯Markdown格式,形成md后缀文件,再自动转为HTML文档,转换后会预览到效果。点击save as可将此文档保存为一个包含了所有结果的HTML文件。上面代码生成的网页结果如图:Markdown 与R 代码混编结果Knitr的应用 在RStudio中可以直接使用“Ctrl+Alt+i”组合键来增加一个R代码区块,或者点击工具中的“Insert R”也是同样的效果。代码块中除了R以外,还支持其他语言的高亮显示,如果安装了reticulate包,还可以自动执行Python。Rmd文档可以生成HTML
展开阅读全文