本站分享:AI、大数据、数据分析师培训认证考试,包括:Python培训Excel培训Matlab培训SPSS培训SAS培训R语言培训Hadoop培训Amos培训Stata培训Eviews培训

数据挖掘系列篇(15):R语言VS主成分分析的案例

数据挖掘 cdadata 4112℃

数据挖掘系列篇(15):R语言VS主成分分析的案例

R语言也介绍到案例篇了,也有不少同学反馈说还是不是特别明白一些基础的东西,希望能够有一些比较浅显的可以操作的入门。其实这些之前在SAS实战案例都写过不少,老实说一旦用上了开源工具就好像上瘾了,对于以前的SAS、clementine之类的可视化工具没有一点感觉了。本质上还是觉得要装这个、装那个的比较麻烦,现在用R或者python直接简单安装下,导入自己需要用到的包,活学活用一些命令函数就可以了。以后平台上集成R、python的开发是趋势,包括现在BAT公司内部已经实现了。今天就贴个盐泉水化学分析资料的主成分分析和因子分析通过R语言数据挖掘的小李子:

有条件的同学最好自己安装下R,操作一遍。

今有20个盐泉,盐泉的水化学特征系数值见下表.试对盐泉的水化学分析资料作主成分分析和因子分析.(数据可以自己模拟一份)
数据挖掘系列篇(15):R语言VS主成分分析的案例
其中x1:矿化度(g/L); x2:Br•103/Cl;

x3:K•103/Σ盐;

x4:K•103/Cl;

x5:Na/K;

x6:Mg•102/Cl;

x7:εNa/εCl.

1.数据准备

导入数据保存在对象saltwell中

saltwell<-read.table(“c:/saltwell.txt”,header=T)

 

saltwell

 

数据挖掘系列篇(15):R语言VS主成分分析的案例

2.数据分析

1标准误、方差贡献率和累积贡献率

arrests.pr<- prcomp(saltwell, scale = TRUE)

 

summary(arrests.pr,loadings=TRUE)

 

数据挖掘系列篇(15):R语言VS主成分分析的案例

2每个变量的标准误和变换矩阵

prcomp(saltwell, scale = TRUE)

 

数据挖掘系列篇(15):R语言VS主成分分析的案例

数据挖掘系列篇(15):R语言VS主成分分析的案例

3查看对象arests.pr中的内容

> str(arrests.pr)

数据挖掘系列篇(15):R语言VS主成分分析的案例

4利用主成分的标准误计算出主成分的累积方差比例

cumsum(arrests.pr$sdev^2)/7

[1] 0.6067060 0.7850968 0.9165341 0.9790524 0.9954128 0.9999024 1.0000000

5各个化学成分占主成分的得分

arrests.pr$x

数据挖掘系列篇(15):R语言VS主成分分析的案例

6数据分析结果图形表示

screeplot(arrests.pr,main=”saltwell”)

数据挖掘系列篇(15):R语言VS主成分分析的案例

biplot(arrests.pr)

数据挖掘系列篇(15):R语言VS主成分分析的案例

按第一主成分排序的结果:

data.frame(sort(arrests.pr$x[,1]))

数据挖掘系列篇(15):R语言VS主成分分析的案例

—————————————————————————————————————

主因子分析计算数据的相关系数矩阵

saltwell.cor<-cor(saltwell)

saltwell.cor

数据挖掘系列篇(15):R语言VS主成分分析的案例

计算特征值和特征向量及因子的贡献率和累积贡献率

saltwell.eigen<-eigen(saltwell.cor)

saltwell.eigen

数据挖掘系列篇(15):R语言VS主成分分析的案例

根据主成分分析结果确定公共因子个数.

saltwell.pr<- princomp(saltwell, cor=T)

summary(saltwell.pr)

数据挖掘系列篇(15):R语言VS主成分分析的案例

均值

saltwell.pr$center

数据挖掘系列篇(15):R语言VS主成分分析的案例

标准误

saltwell.pr$scale

数据挖掘系列篇(15):R语言VS主成分分析的案例

下面用特征值的平方根乘以相应的特征向量得到因子载荷矩阵.并且只显示前2个因子的结果:

t(sqrt(saltwell.eigen$values) * t(saltwell.eigen$vectors))[,1:2]

数据挖掘系列篇(15):R语言VS主成分分析的案例

用R语言自带的函数factanal()进行分析

saltwell.fa<-factanal(saltwell,factors = 2)

print(saltwell.fa, cutoff=0.001)

数据挖掘系列篇(15):R语言VS主成分分析的案例

下面用回归方法(regression)计算因子得分并作图,然后对样本进行分类.

saltwell.fa<-factanal(saltwell, factors = 2, scores = “regression”)

saltwell.fa$scores

数据挖掘系列篇(15):R语言VS主成分分析的案例

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:面包君
来源:知乎

转载请注明:数据分析 » 数据挖掘系列篇(15):R语言VS主成分分析的案例

喜欢 (2)or分享 (0)