Matlab 主成分分析与K均值聚类分析实验报告

Matlab 主成分分析与K均值聚类分析实验报告

提示:数据资源在本CSDN号的上传资料中直接领取


1 引言

数据:gyzb.mat(按顺序对应每一列)为:31个省市区的国有控股企业的主要指标(包括:总利润(亿元)、总资产贡献率(%)、资产负债率(%)、流动资产周转次数(次/年)、工业成本费用利用率(%)和人均主营收入(万元/人))。需要使用数据分析方法对该数据进行分析,试着得出一些分析总结。这里使用的分析方法为:主成分分析、K均值聚类分析。


2 算法原理

2.1 主成分分析的简介及算法原理

(1)简介:

主成分分析(Principal Component Analysis,PCA), 是一种分析方法。首先是由K.皮尔森(Karl Pearson)对非随机变量引入的,尔后H.霍特林将此方法推广到随机向量的情形。信息的大小通常用离差平方和或方差来衡量。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。在实际中,为了全面分析问题,往往提出很多与此有关的变量(或因素),因为每个变量都在不同程度上反映这个问题的某些信息。

(2)PCA的算法原理:

将n维特征映射到k维上(k<n),这k维是全新的正交特征。这k维特征称为主元,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n-k维特征。先进行标准化,计算相关系数矩阵;接着,利用相关系数矩阵去求其特征值和特征向量,再将特征值排序;然后,保留前N个最大的特征值对应的特征向量,将数据转换到上面得到的N个特征向量构建的新空间中(实现了特征压缩)。

(3)算法步骤:

【1】对原始数据进行标准化处理。

【2】计算样本的相关系数矩阵。

【3】计算相关系数矩阵的特征值和特征向量。

【4】计算主成分贡献率和累计贡献率。

【5】计算主成分载荷和主成分。

2.2 K均值聚类分析的简介及算法原理

(1)简介:

K均值聚类分析是将样本数据矩阵划分为K个类,使得所有类内对象与该类中心点之间的距离和最小。它属于聚类分析(非监督学习)一种分析方法。

(2)大致算法原理:

首先随机选择初始聚类中心,其中K是用户指定的参数(需要分成几类),然后将数据集中的每个点指派到最近的聚类中心,而指派到一个聚类中心的点就为一个簇(或类别)。然后再根据指派到簇的点,将每个簇的聚类中心更新为该簇所有点的平均值,重复指派和更新步骤,直到簇不发生变化,或者等价的,直到聚类中心不发生变化。

(3)大致算法步骤:

【1】随机地取K个点作为K个初始聚类中心。

【2】计算其它点到这个K个聚类中心的距离。

【3】如果某个点p1距离第n个聚类中心的距离更近(按最小距离准则),则该点p1属于第n个类别,并对其打标签。

【4】计算同一个类中,也就是相同标签的点向量的平均值,作为新的聚类中心。

【5】迭代至所有聚类中心都不变化为止,即算法结束。

(4)适用范围:

K均值适用于绝大多数的数据类型,并且思路不难且有效。但缺点是需要知道K的值,并且不能处理异形簇,比如环形簇、球形簇等。


3 实验结果与分析

3.1 主成分分析的实验结果与分析:

(1)实验思路:

gyzb.mat数据文件是一个每一列都是数据值的样本数据矩阵,列数多,且没有可供判断类别列也没有时间值等。列数多就暂不考虑多元回归分析,没有判断类别就暂不考虑各种判别分析方法,如(贝叶斯判决、神经网络判决、KNN等)。想到可选择对gyzb.mat数据文件进行K均值聚类分析,还有就是因为Matlab有pca()等内置函数,就开始实验了。

(2)实验步骤:

【1】先导入gyzb.mat数据文件,然后观察数据的大致情况;

【2】选择主成分分析&

  • 6
    点赞
  • 120
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值