数据科学:入门
本书是数据科学的入门级介绍,针对高中高年级学生或大学一年级学生,要求学生具备高中水平的数学、科学、文字处理和电子表格知识。无需具备任何计算机科学基础。本书的重点在于帮助学生从数据科学的角度思考世界。虽然书中会教授一些基础数据科学技能,但目的并非技能发展,而是培养批判性思维和解决问题的能力。这些技能可以成功应用于生活的各个阶段,而不仅仅局限于数据科学。
数据科学——作为一种职业和学术学科——是一个新兴领域,诞生于 21 世纪的第一个十年。它是科学方法、数据和软件工程、统计学和可视化等成熟学科的产物。本书并非旨在单独阐述这些学科,而是将它们融合在一起,形成一种富有成效的综合体。因此,学生将被介绍到这些母学科,并被赋予将母学科融合到数据科学中的练习。此外,“黑客”在该词原本的积极意义上,也是数据科学子学科的贡献者,尽管“黑客”未被教授为学术学科。
显然,成熟的数据科学家将在每一种母学科中都精通,分别学习并将其结合起来解决严重的数据问题。本书仅仅是朝着这个方向迈出的第一步,是初步的尝试。
数据科学,正如今天所实践的那样,源于“大数据/云计算”世界和复杂性科学。这意味着数据科学是一门高级学科,需要精通并行处理、MapReduce 计算、PB 级 NoSQL 数据库、机器学习、高级统计学和复杂性科学。从这个意义上讲,“真正的”数据科学更适合在硕士和博士阶段教授。然而,我们相信数据科学不仅是熟练使用工具,更是思维方式。因此,我们希望让学生在职业生涯早期就开始全面思考数据科学。本教材不会涉及数据科学中更高级的技术和技巧。然而,它将帮助学生开始像数据科学家一样思考。
在当今的商业和政府领域,数据科学是以团队的形式进行的。我们希望本课程的学生也能获得这种体验。因此,所有家庭作业、作业和练习都是为 2 到 6 名学生的团队设计的。我们希望学生有机会在一个学期内与班上的其他每个人合作。大多数数据科学家无法选择与谁合作,而是必须学会与分配给他们的团队中的任何人都合作。
我们将主要在开源的R包中进行数据操作、计算机编程和统计分析。我们知道中级或高级学生会使用其他工具,例如 MySQL、PHP、Python、Java、Hadoop、HBase、AllegroGraph、Mahout、MATLAB、SPSS、SAS 等。然而,对于本入门级介绍,我们将保持简单,只使用一个通用的计算环境。
最后,我们尽量使用在维基百科、维基词典和维基教科书中已经定义的术语和概念。这样,人们就可以参考相应的维基百科/维基词典页面,对概念有更深入的了解。
在页面右侧的目录中,你会注意到有一个包含四个方格的小方框。该方框表示章節的成熟度。例如,
我们为一个为期 16 周的 3 学分课程设计了这本教材。也就是说,一个每周有三个小时课堂教学的课程,持续 16 周——例如,48 个 1 小时课时。全书共有 32 章,平均每个学期分配一个星期用于学生项目展示、复习和帮助环节以及考试。我们预计学期初会有更多讲座时间,学期末会有更多展示和复习时间。本书还假设每个课时需要 1 到 2 个小时的“家庭作业”,包括阅读、作业、学习和项目。本书的理念是,通过做团队作业项目,学生在数据科学方面能学到的知识,和他们在课堂讲座中能学到的知识一样多。
在专业领域,数据科学是一项团队运动。我们为团队设计了家庭作业项目,使其难度和范围适中。在这个水平上(高中高年级或大学一年级),个人很难独自完成这些作业。我们还假设学生可以去某个地方获得关于 R 编程语言的帮助。
首先,请在维基教科书中注册(并在下面列出你的名字),这样我们就知道我们的共同贡献者是谁。另外,请遵守维基教科书的编辑指南、风格手册和政策和指南。谢谢。
其次,我们只需要每个章节中的基本、清晰、直接的信息。我们并非试图做到面面俱到或完整——本书的价值在于跨学科的简单综合。还有其他地方可以详细阐述某个特定主题的深度和复杂性。在贡献时,请将自己置于“初学者的心态”中。请确保每个章节的范围适合在一个小时的课时内完成教学。如果一个章节需要超过一个小时的教学时间,那么它可能过于详细。
- 在尽可能的情况下,请按照维基百科和维基词典中定义的方式使用术语和概念。这样学生就可以参考相应的维基百科/维基词典页面,对概念有更深入的了解。
第三,这是一本跨学科的书籍。我们希望帮助人们将数据科学应用于所有领域。因此,我们需要各种简单的示例和练习。
第四,请遵循每个章节的简单结构:要点总结、讨论、扩展阅读、练习和参考文献。我们希望“扩展阅读”部分链接到在线资源。“参考文献”部分可能包含离线资源。要开始一个新页面,请使用此原型页面中的维基标记。
第五,和任何维基教科书一样,请随时进行更正、扩展解释和必要时的添加,即使它不是“你的”章节。使用讨论页面解释可能存在争议的更改。
第六,一些语法规则
- 请将学生应该学习的关键术语和短语加粗。
- 使用“代码”标签将函数和代码片段的名称括起来:
<code>lm()</code>
- 使用内联链接
[[ ]]
链接到维基百科、维基词典、维基共享资源、维基教科书和其他维基媒体基金会属性。 - 使用参考文献(<ref> </ref>)链接到“外部”来源——包括在线和离线来源。
- 在将 R 代码插入页面时,请遵循 Google 的 R 风格指南。[1]
- 如果你想添加图片或图表,应该将它们上传到维基共享资源,而不是上传到维基教科书。
- 如果合适,在上传图表时添加标签
{{Created with R}}
) 。
- 如果合适,在上传图表时添加标签
- 如果使用的是与R标准包不同的包,请在每个函数后面用括号加粗地写出包的名称:<code>MCMCprobit()</code> ('''MCMCpack''')
- 你可以使用第三章数据的定义作为如何编写章节的示例。
最后,非常感谢你自愿加入我们的团队!
查看以下维基教科书,了解本入门内容的后续内容
- 科学方法 - 科学方法
- 数据工程 - 关系数据库设计,数据结构,SQL
- 软件工程 - 编程的科学,R 编程
- 数学 - 高中数学扩展
- 统计分析 - 统计,统计分析:使用 R 的入门,R 中的数据挖掘算法
- 可视化 -
- 黑客 -
你可以自由地
- 分享 - 复制、分发、展示和表演作品(来自维基教科书的页面)
- 重混 - 改编或制作衍生作品
在以下条件下
- 署名 - 你必须将此作品归功于维基教科书。你不能暗示维基教科书以任何方式认可你或你对本作品的使用。
- 相同方式共享 - 如果你修改、转换或在该作品的基础上进行构建,你只能在与本许可证相同或类似的许可证下分发生成的著作。
- 放弃 - 如果你获得版权持有人的许可,上述任何条件都可以放弃。
- 公有领域 - 如果根据适用的法律,该作品或其任何元素属于公有领域,则此状态不受许可证影响。
- 其他权利 - 许可证不会以任何方式影响以下任何权利
- 你的合理使用权或其他适用的版权例外和限制;
- 作者的署名权;
- 其他人可能对作品本身或作品的使用方式拥有的权利,例如公开权或隐私权。
- 通知 - 对于任何再利用或分发,你必须向他人明确说明本作品的许可证条款。执行此操作的最佳方法是链接到以下网页。