sklearn中主成分分析PCA参数解释

主成分分析一般用于数据降维,在应用主成分分析包scikit-learn时注意以下四点:

1、用pca.components_可以获取特征向量,且特征向量为行向量,例如W = pca.components_[0, :] (或W = pca.components_[0])为第一特征向量,而W = pca.components_[1, :]表示第二特征向量。

2、采用特征向量对点云进行处理,想要得到结果先要进行中心化再点乘即: p_t = np.dot(points - np.mean(points, axis=0), W.t)  这里W要转置

3、转换后点云(point_cloud_trans = pca.transform(point_cloud))的第几列数据就表示第几主成分点云,则point_cloud_trans[:, 0]表示在第一主成分上的投影点, point_cloud_trans[:, 1]表示在第二主成分的投影点,依次类推。

4. 对于H型钢横截面的提取,则需要获取其第二和第三主成分的点构成的截面。第一主成分为沿着H型钢方向,因为所有点在第一主成分轴上的投影点距离中心的距离平方和最大。

代码理解:

# 1、用pca.components_可以获取特征向量,且特征向量为行向量,例如W = pca.components_[0, :] 为第一特征向量
# 2、采用特征向量对点云进行处理,想要得到结果先要进行中心化再点乘 p_t = np.dot(points - np.mean(points, axis=0), W.t)  这里W要转置
# 3、转换后点云的第几列数据就表示第几主成分点云,例如point_cloud_trans = pca.transform(point_cloud),
# 则point_cloud_trans[:, 0]表示在第一主成分上的投影点, point_cloud_trans[:, 1]表示在第二主成分的投影点,依次类推
# 4. 对于H型钢横截面的提取,则需要获取其第二和第三主成分的点构成的截面,因为第一主成分为沿着H型钢方向

import numpy as np
from sklearn.decomposition import PCA
from sklearn import datasets

iris = datasets.load_iris()
data = iris.data
y = iris.target

# 执行PCA
pca = PCA()
x_new = pca.fit_transform(data)
print(x_new[:3]) # sklearn获取的值

print(np.dot(data-np.mean(data,axis=0),pca.components_.T)[:3]) # 利用获取的components_来计算的值
# 上述两个输出是等价的

输出:

[[-2.68420713e+00  3.26607315e-01 -2.15118370e-02  1.00615724e-03]
 [-2.71539062e+00 -1.69556848e-01 -2.03521425e-01  9.96024240e-02]
 [-2.88981954e+00 -1.37345610e-01  2.47092410e-02  1.93045428e-02]]
[[-2.68420713e+00  3.26607315e-01 -2.15118370e-02  1.00615724e-03]
 [-2.71539062e+00 -1.69556848e-01 -2.03521425e-01  9.96024240e-02]
 [-2.88981954e+00 -1.37345610e-01  2.47092410e-02  1.93045428e-02]]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

清纯世纪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值