看书标记【R语言数据分析与挖掘实战】1、2

本文介绍了数据挖掘的基础概念,包括分类与预测、聚类分析、关联规则和时间序列等任务。使用R语言进行了C4.5决策树、k-means聚类和Apriori关联规则的示例,并探讨了时间序列分析中的单位根检验和ARIMA模型预测。
摘要由CSDN通过智能技术生成

第一章 数据挖掘基础

“数据挖掘是从大量数据(包括文本)中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程。”
“数据挖掘的基本任务包括利用分类与预测、聚类分析、关联规则、时序模式、偏差检测、智能推荐等方法,帮助企业提取数据中蕴含的商业价值,提高企业的竞争力。”

数据挖掘建模过程

在这里插入图片描述相关的代码和教学资源在泰迪云课堂网站上。

第二章 R语言简介

1、help(函数名),或者 ?函数名。
2、Ctrl+L:清除命令窗中的所有显示内容
3、rm(list=ls()):清除R工作空间中的内存变量,也可再加gc(),清除内存变量并释放内存空间。
4、install.packages()用来下载和安装包;library()可以显示存在的函数包。
5、getwd()/setwd():获取或设置当前工作目录的位置。
6、save()/load():save将指定对象保存到指定文件中,load从磁盘文件中读取一个空间到当前会话中。
7、read.table\read.csv\write.table\write.csv:读取和写入EXCEL\TXT\CSV文件。
8、odbcConnect\sqlFetch\sqlQuery:与数据库相关的连接函数。(之前好像记过关于R与MySQL的连接【R与SQL的连接环境配置流程 navicat】)
9、source(“filename”):可在当前会话中执行一个脚本;sink(“filename”)将输出重定向到文件filename,若文件存在则其内容将被覆盖,使用参数append=TRUE,可将文本追加到文件后;参数split=TRUE可将结果发送到屏幕和输出文件。sink()不加参数则仅向屏幕输出结果。
10、plot:画图

# 数据划分
# 设置工作空间
# 把“数据及程序”文件夹拷贝到F盘下,再用setwd设置工作空间
setwd("F:/数据及程序/chapter2/示例程序")
# 读入数据
data <- read.csv("./data/time_series.csv", header = TRUE)

# 定制作图
png(file = "./tmp/myplot.png") # 图片输出为PNG文件
plot(data[, 1], data[, 2], type = "b", col = "red") # 使用-o连接,颜色为红色
title(main = "时间序列图", xlab = "time", ylab = "Response")
dev.off()

11、file.choose():打开一个windows文件选择对话框,手动选择文件,与choose.dir()的功能相同。
12、R 里面使用必须使用双反斜杠或单斜杠表示文件路径,如d : \ \scripts\ xgobi.csv或者d : /scripts/xgobi.csv。
13、打开excel复制需要读取的文件,在R中输入read.table(“clipboard”, header = T, sep = “\t”)。
14、read.bmp/readJPEG/readPNG:读取不同类型的图片数据,需要加载不同的包 jpeg ,png,bmp

##画条形图
palette(rainbow(15))     ##R默认8种颜色,可以使用palette函数进行修改,色谱包RColorBrewer 和colorRamps
barplot(rnorm(15,10,3),col=1:15)     ##col参数为颜色参数

par/layout:提供在同一画面画出多张图,par用mfrow或者mfcol参数进行修改。layout可以设置图形绘制顺序和图形大小,可以通过layout.show(n)命令查看图形的布局。

15、程序包Rcmdr相当于一个简单的R交互(SPSS那样),还需要安装其他程序包支持。
16、数据挖掘的界面环境:rattle,提供了较完全的数据挖掘界面,Rcmdr的plus版。
17、TAB键会对输入的字符进行匹配。
关于R数据分析包
在这里插入图片描述

1、分类与预测——实现C4.5决策树

library(party)  ##加载决策树的包
set.seed(1234)  ##设置随机种子
data(iris)   ##加载自带的鸢尾花卉数据集
#数据集随机抽70%定义为训练数据集,30%为测试数据集
ind <- sample(2, nrow(iris), replace=TRUE, prob=c(0.7, 0.3))
trainData <- iris[ind==1,]
testData <- iris[ind==2,]
#建立决策树模型预测花的种类
iris_ctree <- ctree(Species~., data=trainData)
# 查看预测的结果
table(predict(iris_ctree), trainData$Species)
#输出决策树图
plot(iris_ctree, type="simple")
testPred <- predict(iris_ctree, newdata = testData)
table(testPred, testData$Species) ##查看测试集的预测结果

在这里插入图片描述
在这里插入图片描述

2、聚类分析——实现kmeans聚类

#####Kmeans聚类
data(iris)
iris.w=iris[,c(1:4)] ##针对所有花萼和花瓣的长度和宽度进行聚类
km.iris=kmeans(iris.w,3,iter.max=50,nstart=1)
km.cl<-km.iris$cluster ##所属类别
km.iris$center  ##查看聚类中心
plot(iris,col=km.iris$cluster)  ##查看各类的情况
iris=cbind(iris,km.cl)  ##将聚类后的类别与原有类别进行对比

在这里插入图片描述
在这里插入图片描述

3、关联规则——实现Apriori关联算法

library(arules)  #加载arules程序包  
data(Groceries)  #调用数据文件  
rules=apriori(Groceries,parameter=list(support=0.01,confidence=0.01))    #求关联规则  
summary(rules)    #察看求得的关联规则之摘要  
x=subset(rules,subset=rhs%in%“whole milk”&lift>=1.2)    #求所需要的关联规则子集,提升比率大于1.2,##后项内容为whole milk的规则
##RHS代表后项,只创建存在1个后项的规则,LHS代表前项
inspect(sort(x,by=“support”)[1:5])    #查看支持度前5条规则

在这里插入图片描述
在这里插入图片描述

4、时间序列

library(tseries) 
library(forecast)  
data(LakeHuron)   ##加载相关的包和数据集
a.data=ts.data=LakeHuron   ##将数据集另存
d=0
ts.plot(ts.data)    ##观测数据集是否平稳
t.aic=matrix(0,5,5)  
for(i in 1:5){  PV=adf.test(ts.data)$p.value  ##采用单位根方法进行检验
if(PV>0.05){  ts.data=diff(ts.data)   ##P值大于0.05,代表接收原假设,即(非平稳)存在单位根
  d=d+1}  
else
  break}
BV=Box.test(ts.data,type="Ljung-Box",lag=12)$p.value  #对平稳序列进行白噪声检验
if(BV<0.1){    ##如果P值小于0.1,拒绝原假设(非白噪声序列),需要进一步提取信息
  for(i in 1:5){
    for(j in 1:5){ ts.fit=arima(a.data,order=c(i,d,j),method="ML")
    t.aic[i,j]=ts.fit$aic  ##求出1到5阶的aic值
    }   }
  for(i in 1:5){
  for(j in 1:5){
  if(t.aic[i,j]==min(t.aic))  ##采用最小AIC值的P,Q作为参数
  ts.fit=arima(a.data,order=c(i,d,j),method="ML")}} ##进行模型构建
}else ts.fit=arima(a.data,order=c(0,d,0))
tsdiag(ts.fit)     ##对模型的残差进行检验,p值大于0.05模型通过检验
fore=predict(ts.fit,5)  ##用模型进行预测,预测未来5期的值
ts.plot(a.data,fore$pred,col=1:2)   ##完成预测值与实际值的绘图

在这里插入图片描述
在这里插入图片描述
参考书籍:《R语言数据分析与挖掘实战》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值