一、 教学目标

数据科学方法与 R语言实践以经典数据科学方法,通过R语言进行实践教学的一门课程。通过该课程的学习,可以极大优化理工科,人文社科类学生知识结构,重构数据科学方法思维。同时通过学习R语言在数据科学方法中的数据处理技术,为学生后续学习提供一项数据处理必备技能。

本课程在注重数据科学方法的基础上,精选国际教材、国外著名高校的案例数据,采用开源软件包的 R语言编写程序,而练习案例则尽可能结合中国实际,采用国家、地方统计局、高校数据库的数据进行数据科学建模,R语言程序编写,对实际问题进行探索性发现。

在教学中,根据非统计专业选修课的特点,课程突出数据科学在大数据时代发展趋势,强调案例演示的可视化技术,增强课程的趣味性,可阅读性。

二、 教学基本内容

第一章 数据创建与管理

[主要内容]

1)数据结构:数组、向量、矩阵、数据框、因子、列表。

2)数据管理:R/CSV/EXCEL/TXT数据导入与输出;网络数据抓取;数据排序与合并

数据集取子集。

[ 重点 ] 数据结构、数据输入与导出( TXT,CSV)。

[ 难点 ] 数据集取子集(数据保留、丢弃、抽样)。

要求 R软件上直接进行数据结构的练习;在提供的数据集网页数据上,进行数据管理。

第二章 数据基础性分析

[主要内容]

1)基本描述统计:集中趋势--均值、众数、中位数、四分位数;离中趋势 方差、峰度、偏度、变异系数。

2)简单假设检验:均值检验 N、T检验;方差检验。

[ 重点 ] 描述统计量的理解与 R语言处理。

[ 难点 ] 简单假设检验中统计量、及结果的分析。

要求 预先复习概率论或统计学原理中相关章节,理清统计量含义,对本章所讲课程有初步了解。课后在提供练习中,使用 R语言进行操作。

第三章 数据可视化探索

[主要内容]

(1)基本图形:条形图(简单的条形图、堆砌条形图和分组条形图、均值条形图、条形图的微调、棘状图)、饼图、直方图、核密度图、箱线图、小提琴、点图。

(2)中级绘图:散点图(散点图矩阵、高密度散点图、三维散点图、气泡图、相关图、马赛克图)、折线图、相关图、马赛克图。

(3)高级图形进阶: R 中的四种图形系统、 lattice 包(条件变量、面板函数、分组变量、图形参数、页面摆放)、 ggplot2 包、交互式图形(与图形交互、 playwith latticist iplots 包的交互图形、 rggobi )。

[ 重点 ] 基本图形、中级图形的理解与 R语言上编程作图。

[ 难点 ] 高级图形进阶中新的工具使用,特别是 ggplot2 包在可视化中的应用

要求 课前预习一些基本的统计图形,如 EXCEL中常见图形。课后使用R语言数据包进行练习, 并提交第一次可视化图形作业

第四章 相关性与列联表

[主要内容]

1)相关--相关的类型、相关性的显著性检验、相关关系的可视化。

2)列联表--生成频数表、独立性检验、相关性的度量、结果的可视化。

[ 重点 ] 相关性概念、相关统计量、列联表卡方检验统计量

[ 难点 ] 相关性、独立性的检验结果分析

要求 课前复习概率的方差、协方差或统计学相关性概念;课后对提供练习题进行 R语言程序的编写,并分析结果。

第五章 回归分析与预测

[主要内容]

1)一元回归、多元回归模型、简单非线性回归模型。

2)多元回归模型的变量选择方法 逐步回归方法以及模型预测。

3)回归模型以及变量选择方法的R语言程序。

[ 重点 ] 回归模型,回归模型的结果分析

[ 难点 ] 回归模型的建立,回归模型的变量选择

要求 课前预习回归模型的基本概念。课后使用 R语言数据包,在国家统计局网站 http://www.stats.gov.cn/tjsj/ndsj/ 收集数据进行练习, 并提交第二次(相关与回归分析)作业

第六章 Cox与logistic回归

[主要内容]

1) Cox 模型的背景,模型建立,相关检验。

2) logistic 回归模型背景,模型建立,以及多变量 logistic 模型的变量选择。

3)案例分析以及模型R语言程序。

[ 重点 ] Cox logistic 回归的建模以模型分析。

[ 难点 ] Cox logistic 模型中一些相关的检验统计量。

要求 :课前预习 Cox 模型、 logistic 回归模型的基本概念,应用背景。课后使用 R语言数据包,在提供网页抓取数据进行练习。

第七章 主成分与因子分析

[主要内容]

1)主成分分析的背景、模型、估计、及案例分析。

2)因子分析的背景、模型、估计、及案例分析。

3)案例分析的R语言程序包 " PCA " " FactoMineR " 以及结果的可视化。

[ 重点 ] 主成分、因子分析的变量选择以及模型建立。

[ 难点 ] 因子分析的因子经济含义解读。

要求学生: 课前预习主成分分析、因子分析的基本概念,应用背景。课后使用 R语言数据包,在国家统计局网页 http://www.stats.gov.cn/tjsj/ndsj/ 收集数据建模,并使用 R语言进行编程,分析结果,撰写分析报告。

第八章 关联分析

[主要内容]

1)关联规则的定义、 Apriori 算法。

2)关联规则R语言软件包 "arulesViz" "arules"

3) 购物篮子 案例分析, R语言程序以及关联规则结果的可视化。

[ 重点 ] 公式理解, R语言程序。

[ 难点 ] 案例分析结果以及结果的可视化分析。

要求学生: 课前预习关联分析的概念及定义。课后使用 R语言数据包,在 "arules" 软件包里 data 目录下调用数据集,用 R 语言进行关联规则分析 ,撰写分析报告。

第九章 聚类分析

[主要内容]

1)理解聚类分析方法 —K-均值聚类、K-中心点聚类、系谱聚类、密度聚类、期望最大聚类。

2)聚类分析R语言软件包 " stats " " cluster " " fpc " " cluster "

3) 国家婴儿出生率 案例分析, R语言程序以及聚类分析结果的可视化。

[ 重点 ] 聚类分析类型思想的理解, R语言程序。

[ 难点 ] 案例分析结果以及结果的可视化分析。

要求学生: 课前预习聚类分析的概念及定义。课后使用 R语言数据包,在国家统计局网页 http://www.stats.gov.cn/tjsj/ndsj/ 收集数据建模,并使用 R语言进行编程,分析结果,撰写分析报告。

第十章 判别分析

[主要内容]

1)理解判别分析方法 —费希尔判别、贝叶斯判别、距离判别。

2)判别分析R语言软件包 " MASS " " klaR " " class " " kknn "

3) 鸢尾花数据 案例分析, R语言程序以及聚类分析结果的可视化。

[ 重点 ] 判别分析类型思想的理解, R语言程序。

[ 难点 ] 案例分析结果以及结果的可视化分析。

要求学生: 课前预习判别分析的概念及定义。课后使用 R语言数据包,在国家统计局网页 http://www.stats.gov.cn/tjsj/ndsj/ 收集数据建模,并使用 R语言进行编程,分析结果,撰写分析报告, 并提交第三次(关联、聚类、判别分析其中一个)作业

第十一章 决策树

[主要内容]

1)理解决策树CART、C4.5算法。

2)决策树分析R语言软件包 " rpart " " rpart.plot " " maptree " " RWeka "

3) 汽车测试数据 葡萄酒数据 案例分析, R语言程序以及决策树分析结果的可视化。

[ 重点 ] 决策树的基本思想, R语言程序。

[ 难点 ] 决策树两种算法以及结果的可视化分析。

要求学生: 课前预习决策树分析的概念及定义。课后使用 R语言数据包, 机器学习数据库 抓取网络数据 fullData<-read.csv("http://archive.ics.uci.edu/ml/machine- learning

-databases/adult/adult.data", header=F) 并使用 R语言进行编程,分析结果。

第十二章 随机森林

[主要内容]

1)理解随机森林的建模、算法。

2)随机森林分类的R语言软件包 install.packages("randomForest)

3)机器学习 汽车 car 数据 案例分析, R语言程序以及随机森林分类结果的可视化。

[ 重点 ] 随机森林分类型思想的理解, R语言程序。

[ 难点 ] 随机森林案例分析结果以及结果的可视化分析。

要求学生: 课前预习随机森林分类的概念及定义。课后使用 R语言 party 软件包,调用数据集 readingSkills 进行 建模,并使用 R语言进行编程,分析结果。

第十三章 神经网络

[主要内容]

1)理解神经网络过程的数据处理、建模、预测、预测误差调整四个步骤。

2)神经网络预测的R语言软件包 install.packages(" nnet ")

3)机器学习 汽车 car 数据 案例分析, R语言程序以及随机森林分类结果的可视化。

[ 重点 ] 随机森林分类型思想的理解, R语言程序。

[ 难点 ] 随机森林案例分析结果以及结果的可视化分析。

要求学生: 课前神经网络的概念及定义。课后安装 install.packages(" datasets ") ,其软件包中含有数据集: “education” “age” “parity” “induced” “case” “spontaneous” “stratum” “pooled.stratum” 使用 R语言神经网络软件包 nnet 建模,并使用 R语言进行编程,分析结果,撰写分析报告, 并提交第四次(决策树、随机森林、神经网络其中一个)作业

三、建议教学进度

四、教学方法

1 、数据科学课程以案例设疑的方式导入课程,引出问题,再介绍所涉及的数据科学方法,最后使用 R 语言进行分析。注重案例的选择,突出趣味性、问题的普遍性。理论方面尽量简明扼要,方法方面尽量逻辑清晰。

2 R 语言实践方面,按照循序渐进方式进行教学,编程方面提倡从模仿到创新的学习路径。坚持课堂案例学习与课外练习相结合、国外案例与中国实际问题相结合的理念,提高学生的实践、应用、创新能力。

3 、小组团队案例分析,完成课程教学大的模块后,布置开放式练习:即给出主题,学生课下自主收集数据,进行建模,数据分析。每次练习抽取做的好的团队在课堂进行简短的 PPT 演示,其他小组进行点评与建议。

4 、通过课内、课外沟通方式,如 QQ 群、邮箱等及时发现问题、解决问题,提高答疑解惑的效率。

五、考核方式

六、成绩评定方法

笔试成绩 5 0% ,平时成绩 5 0% (课堂表现 + 案例分析报告)

七、教学参考书

1 .《 Practical Data Science with R N ina Z umel / J ohn M ount

2 .《 R for Data Science Dan Toomey

3. Practical Data Science Cookbook R+Python Tony Ojeda

4 Machine Learning with R Brett  Lantz

5 Python 金融大数据分析 Yves Hilpisch

6. R for everyone : advanced analytics and graphics Jared P. Lander

7 . ggplot2: Elegant Graphics for Data Analysis Hadley Wickham

8 . Python 数据分析与挖掘实战 张良均 王路 谭立云 苏剑林 云伟标

9 . 《数据分析: R 语言实战》黄文,王正林

10 . 《数据挖掘: R 语言实战》黄文,王正林

11. R 语言实战 ―― 机器学习与数据分析 》左飞