`
huangyongxing310
  • 浏览: 490603 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

sklearn PCA实践

 
阅读更多
sklearn PCA实践



PCA无需样本标签,属于无监督学习降维;LDA需要样本标签,属于有监督学习降维。
https://blog.csdn.net/ainimao6666/article/details/64933677



https://blog.csdn.net/Huangyi_906/article/details/76438885

class sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False, svd_solver=’auto’, tol=0.0, iterated_power=’auto’, random_state=None)

其中参数:
n_components=None:指定降维后的维数。如果给定数在(0,1)之间,则为降维后占原维数的百分比。默认自动选择。


属性:
components_ :主成分组数
explained_variance_ratio_:每个主成分占方差比例
n_components_ :一个整数,指示主成分有多少个元素。


方法:
fit(x):训练模型
transform(x): 执行降维
fit_transform(x): 训练并降维
inverse_transform(x): 逆向操作,把降维的数据逆向转换回原来数据。


例子
https://blog.csdn.net/puredreammer/article/details/52255025
https://www.jianshu.com/p/8642d5ea5389

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets.samples_generator import make_classification
from sklearn.decomposition import PCA
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis

from mpl_toolkits.mplot3d import Axes3D


X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])

pca = PCA(n_components=2)#n_components表示结果取几维

pca.fit(X) #训练模型
print(pca.explained_variance_ratio_) #每维对一致性的比率,越高表示这个维度更能表示降维后的效果[0.99244289 0.00755711]

X2 =  pca.transform(X) #执行降维
print('X2==')
print(X2)
# [[ 1.38340578  0.2935787 ]
#  [ 2.22189802 -0.25133484]
#  [ 3.6053038   0.04224385]
#  [-1.38340578 -0.2935787 ]
#  [-2.22189802  0.25133484]
#  [-3.6053038  -0.04224385]]

X4 =  pca.fit_transform(X)#训练并降维
print('X4==')
print(X4)
# [[ 1.38340578  0.2935787 ]
#  [ 2.22189802 -0.25133484]
#  [ 3.6053038   0.04224385]
#  [-1.38340578 -0.2935787 ]
#  [-2.22189802  0.25133484]
#  [-3.6053038  -0.04224385]]


X3 =  pca.inverse_transform(X2)#逆向操作,把降维的数据逆向转换回原来数据。
print('X3==')
print(X3)
# [[-1. -1.]
#  [-2. -1.]
#  [-3. -2.]
#  [ 1.  1.]
#  [ 2.  1.]
#  [ 3.  2.]]

pca = PCA(n_components=1)#降为一维
X5 =  pca.fit_transform(X)
print('X5==')
print(X5)
# [[ 1.38340578]
#  [ 2.22189802]
#  [ 3.6053038 ]
#  [-1.38340578]
#  [-2.22189802]
#  [-3.6053038 ]]


X6 =  pca.inverse_transform(X5)#逆向操作,把降维的数据逆向转换回原来数据。
print('X6==')
print(X6)
# [[-1.15997501 -0.75383654]
#  [-1.86304424 -1.21074232]
#  [-3.02301925 -1.96457886]
#  [ 1.15997501  0.75383654]
#  [ 1.86304424  1.21074232]
#  [ 3.02301925  1.96457886]]

#==============================================
xSrc = X[:,0];
ySrc = X[:,1];
print (xSrc)
# [-1 -2 -3  1  2  3]
print (ySrc)
# [-1 -1 -2  1  1  2]
plt.scatter(xSrc, ySrc,marker='o',c='r',alpha=0.5) #原坐标点的图

xInverse = X6[:,0];
yInverse = X6[:,1];
plt.scatter(xInverse, yInverse,marker='o',c='b',alpha=0.5) #降为一维后再变为二维的图

# x2Inverse = X4[:,0];
# y2Inverse = X4[:,1];
# plt.scatter(x2Inverse, y2Inverse,marker='o',c='g',alpha=0.5) #降为二维后再变为二维的图

plt.show()





















  • 大小: 9.4 KB
分享到:
评论

相关推荐

    基于PCA模型的鸢尾花数据可视化_pythonpca花_PCA鸢尾花_python_PCA模型_鸢尾花数据_

    PCA(主成分分析,Principal Component Analysis)是一种常用的数据降维技术,它通过线性变换将原始数据转换为一组各维度线性无关的表示,可用于提取数据...通过实践,我们可以更深入地掌握PCA这一强大的数据分析工具。

    PCA降维算法实践及应用.zip

    在Python中,PCA的实现通常借助于`sklearn.decomposition.PCA`库。在`pca.py`这个文件中,我们可以预期作者可能实现了PCA的基本流程,包括数据预处理、PCA变换以及结果解析。 1. 数据预处理:在应用PCA之前,通常...

    PCA(numpy版+sklearn版).zip

    1. **导入模型**:导入`sklearn.decomposition.PCA`模块。 2. **数据加载**:同样,需要加载数据,但scikit-learn库通常处理的是CSV或Pandas DataFrame格式的数据。 3. **实例化PCA对象**:指定保留的主成分数量,...

    sklearn入门经典案例

    主成分分析(PCA)、独立成分分析(ICA)和奇异值分解(SVD)是sklearn中常用的降维技术。它们可以用于特征选择、可视化和数据压缩。 **4. 聚类** 聚类是无监督学习的一部分,它将数据分为不同的组或簇。sklearn...

    sklearn教程

    此外,sklearn还提供了降维算法,如主成分分析(PCA)和独立成分分析(ICA),用于高维数据的处理和可视化。 在模型选择和评估部分,手册会详细介绍交叉验证、网格搜索(GridSearchCV)等方法,帮助用户找到最优的...

    PCA大作业.zip_PCA大作业绿萝_pca_pca大作业_pca绿萝

    在Python中,可以使用numpy、scipy或者sklearn库的PCA函数实现这一过程。 在特征选择阶段,我们需要依据特征值的大小和累积贡献率来决定保留多少个主成分。一般来说,保留的主成分数目应满足累积贡献率大于某个阈值...

    sklearn.rar

    2. 特征工程:sklearn提供特征选择、特征提取和特征构造的工具,例如PCA(主成分分析)、LDA(线性判别分析)以及文本数据的TF-IDF表示等。 3. 模型选择:sklearn包含多种经典的机器学习算法,如线性回归、逻辑回归...

    菜菜sklearn课程讲义.rar

    3. **特征选择与降维**:sklearn提供了特征选择和降维的方法,如单变量特征选择、基于模型的特征选择、主成分分析(PCA)、独立成分分析(ICA)等,这些方法有助于减少数据冗余,提高模型效率。 4. **聚类算法**:...

    sklearn_0.21.3 中文文档,sklearn官方文档,Python

    描述中的"sklearn中文文档说明教程入门pdf电子档"表明这是一份针对初学者的中文版教程,帮助用户理解和掌握如何使用sklearn进行机器学习实践。 **sklearn库简介** sklearn(Scikit-learn)是基于Python的开源机器...

    Sklearn机器学习中的主要算法原理以及实现(线性回归、逻辑回归、朴素贝叶斯、K-Means聚类、KNN、PCA主成分分析

    本教程将深入探讨Sklearn中的一些核心机器学习算法,包括线性回归、逻辑回归、朴素贝叶斯、K-Means聚类、K近邻(KNN)以及PCA主成分分析。 1. **线性回归**:线性回归是一种预测模型,用于寻找变量之间的线性关系。...

    主成分分析PCA算法PPT及其相应代码 覃秉丰.rar

    **主成分分析PCA算法** 主成分分析(Principal Component Analysis,简称PCA)是一种常见的数据分析方法,用于数据降维和...配合相应的代码实践,PCA不仅适合初学者入门,也是专业人士面试和项目开发中的重要技能。

    PCA.zip_PCA 故障诊断_PCA故障_pca 故障_故障数据_故障诊断

    2. PCA算法实现:可能是用Python的sklearn库或其他编程语言实现的PCA算法代码。 3. 结果展示:可能包括PCA转换后的主成分得分图、方差贡献率等,以及根据这些结果进行故障判断的逻辑。 4. 解释文档:详细介绍了PCA...

    pca_digits_3_pca_pythonPCA算法_源码.rar

    PCA(主成分分析,Principal Component Analysis)是一种广泛应用的数据降维技术,它通过线性变换将原始数据转换到一个新的坐标系中...对于学习PCA以及如何在实际项目中应用PCA的初学者来说,这是一个很好的实践案例。

    数据清洗和PCA(主成分分析)python程序

    你可以尝试使用这个数据集来实践数据清洗和PCA的操作,从而更好地理解和应用这些概念。 总结来说,数据清洗和PCA在机器学习中起着核心作用。正确地清洗数据可以提高模型的准确性和稳定性,而PCA则能帮助我们有效地...

    sklearn 中文资料

    4. **降维(Dimensionality Reduction)**:主成分分析(PCA)、奇异值分解(SVD)、t-SNE等。 5. **模型选择(Model Selection)**:交叉验证(Cross-validation)、网格搜索(Grid Search)等。 6. **预处理(Preprocessing)**...

    python-特征降维算法PCA的python实现.zip

    特征降维是机器学习和数据分析中的重要步骤,它旨在减少数据的复杂性,同时保留关键信息,以便更高效地...在实践中,还需要根据具体问题调整PCA的参数,如选择合适的`n_components`,以及是否需要对数据进行预处理等。

    PCA故障诊断的Python实现

    Python中实现PCA可以使用`sklearn.decomposition.PCA`库,该库提供了PCA的主要功能,包括拟合、转换和可视化主成分。 对于小数据维数的故障诊断,PCA依然有效,尤其是在数据集较小但特征数量较大的情况下。在这种...

    PCA.zip_pca_python_zip_人脸识别 python_人脸识别python

    PCA(主成分分析,Principal Component Analysis)是一种统计方法,用于...通过以上分析,我们可以看出,这个压缩包提供了从数据加载、PCA实现到人脸识别的完整流程,对于理解和实践PCA在人脸识别中的应用非常有帮助。

    学习sklearn,各种案例代码,可直接运行,机器学习,人工智能

    7. **降维**:`decomposition`模块包含主成分分析(PCA)、奇异值分解(SVD)和非负矩阵分解(NMF)等降维技术。 8. **管道(Pipeline)**:`pipeline`模块允许将多个步骤串联起来,形成一个可训练和预测的整体流程,...

Global site tag (gtag.js) - Google Analytics