主成分分析

PCA的思想是将n维特征映射到K维上(k < n),这k维是全新的正交特征。这k维特征成为主成分,是重新构造出来的k维特征,而不是简单的从n维特征中去除其余 n-k维特征。

(1)计算数据的协方差矩阵:
https://blog.csdn.net/Mr_HHH/article/details/78490576
(2) 计算数据协方差矩阵的特征值和特征向量

python 样例代码:

# coding:UTF-8
import os
import numpy as np

# 原始的数据
x = [0.69, -1.31, 0.39, 0.09, 1.29, 0.49, 0.19, -0.81, -0.31, -0.71]
y = [0.49, -1.21, 0.99, 0.29, 1.09, 0.79, -0.31,-0.81, -0.31, -1.01]


npx = np.array(x)
npy = np.array(y)

# 去除均值
ma = np.matrix([x - npx.mean(), y - npy.mean()])
print(u"协方差矩阵")
cov = ma.dot(ma.T)


print("------------------下面计算原始矩阵的特征值和特征向量-----------------------")
eigenvalue,featurevector = np.linalg.eig(cov)
print ("原始矩阵的特征值")
print ("eigenvalue=", eigenvalue)
print ("featurevector=", featurevector)



#选取较大的特征值对应的特征向量
max_featurevector = np.matrix([-0.6778734, -0.73517866])

# 求解pca

pca_data = ma.T * max_featurevector.T
print ("pca")
print(pca_data)

输出:


协方差矩阵
------------------下面计算原始矩阵的特征值和特征向量-----------------------
原始矩阵的特征值
('eigenvalue=', array([ 0.44175059, 11.55624941]))
('featurevector=', matrix([[-0.73517866, -0.6778734 ],
        [ 0.6778734 , -0.73517866]]))
pca
[[-0.82797019]
 [ 1.77758033]
 [-0.9921975 ]
 [-0.27421042]
 [-1.67580143]
 [-0.91294911]
 [ 0.09910944]
 [ 1.14457217]
 [ 0.43804614]
 [ 1.22382056]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝鲸123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值