PCA python代码实现及代码解释

本文介绍了PCA(主成分分析)算法,并通过Python代码进行详细解释。内容包括:矩阵切片操作,均值计算,以及协方差矩阵的构建。文中强调了numpy库的使用,并解释了rowvar参数在计算协方差时的作用。
摘要由CSDN通过智能技术生成

PCA算法:

#   输入:训练样本集 ?=?(1),?(2),...,?(?) ,低维空间维数 ?′ ;
#   过程:.
#   1:对所有样本进行中心化(去均值操作): ?(?)?←?(?)?−1?∑??=1?(?)? ;
#   2:计算样本的协方差矩阵 ??? ;
#   3:对协方差矩阵 ??? 做特征值分解 ;
#   4:取最大的 ?′ 个特征值所对应的特征向量 ?1,?2,...,??′
#   5:将原样本矩阵与投影矩阵相乘: ?⋅? 即为降维后数据集 ?′ 。其中 ? 为 ?×? 维, ?=[?1,?2,...,??′] 为 ?×?′ 维。
#   5:输出:降维后的数据集 ?′

 

1、

list[start:end:step]

start:起始位置

end:结束位置

step:步长

2、

>>> c=np.array([[1,2,3],[4,6,7],[7,8,9]])
>>> c[:-1:]
array([[1, 2, 3],
       [4, 6, 7]])
>>> c[:-2:]
array([[1, 2, 3]])

 

3、

X[:,0]就是取矩阵X的所有行的第0列的元素,X[:,1] 就是取所有行的第1列的元素。

X[:,  m:n]即取矩阵X的所有行中的的第m到n-1列数据,含左不含右。

X[0,:]就是取矩阵X的第0行的所有元素,X[1,:]取矩阵X的第一行的所有元素。
 

4、

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值