一、
教学目标
数据科学方法与
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
语言实战
――
机器学习与数据分析
》左飞