当前位置:   article > 正文

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

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. # 1、用pca.components_可以获取特征向量,且特征向量为行向量,例如W = pca.components_[0, :] 为第一特征向量
  2. # 2、采用特征向量对点云进行处理,想要得到结果先要进行中心化再点乘 p_t = np.dot(points - np.mean(points, axis=0), W.t) 这里W要转置
  3. # 3、转换后点云的第几列数据就表示第几主成分点云,例如point_cloud_trans = pca.transform(point_cloud),
  4. # 则point_cloud_trans[:, 0]表示在第一主成分上的投影点, point_cloud_trans[:, 1]表示在第二主成分的投影点,依次类推
  5. # 4. 对于H型钢横截面的提取,则需要获取其第二和第三主成分的点构成的截面,因为第一主成分为沿着H型钢方向
  6. import numpy as np
  7. from sklearn.decomposition import PCA
  8. from sklearn import datasets
  9. iris = datasets.load_iris()
  10. data = iris.data
  11. y = iris.target
  12. # 执行PCA
  13. pca = PCA()
  14. x_new = pca.fit_transform(data)
  15. print(x_new[:3]) # sklearn获取的值
  16. print(np.dot(data-np.mean(data,axis=0),pca.components_.T)[:3]) # 利用获取的components_来计算的值
  17. # 上述两个输出是等价的

输出:

  1. [[-2.68420713e+00 3.26607315e-01 -2.15118370e-02 1.00615724e-03]
  2. [-2.71539062e+00 -1.69556848e-01 -2.03521425e-01 9.96024240e-02]
  3. [-2.88981954e+00 -1.37345610e-01 2.47092410e-02 1.93045428e-02]]
  4. [[-2.68420713e+00 3.26607315e-01 -2.15118370e-02 1.00615724e-03]
  5. [-2.71539062e+00 -1.69556848e-01 -2.03521425e-01 9.96024240e-02]
  6. [-2.88981954e+00 -1.37345610e-01 2.47092410e-02 1.93045428e-02]]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/106883
推荐阅读
相关标签
  

闽ICP备14008679号