PCA算法实现


PCA 是最常用的一种降维方法。python3.6,亲测通过,和大家交流学习
资源截图
代码片段和文件信息
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasetsdecompositionmanifold

def load_data():
    iris=datasets.load_iris()
    return iris.datairis.target

def test_PCA(*data):
    XY=data
    pca=decomposition.PCA(n_components=None)
    pca.fit(X)
    print(“explained variance ratio:%s“%str(pca.explained_variance_ratio_))

def plot_PCA(*data):
    XY=data
    pca=decomposition.PCA(n_components=2)
    pca.fit(X)
    X_r=pca.transform(X)
 #   print(X_r)

    fig=plt.figure()
    ax=fig.add_subplot(111)
    colors=((100)(010)(001)(0.50.50)(00.50.5)(0.500.5)(0.40.60)(0.60.40)(00.60.4)(0.50.30.2))
    for labelcolor in zip(np.unique(Y)colors):
        position=Y==label
  #      print(position)
        ax.scatter(X_r[position0]X_r[position1]label=“target=%d“%labelcolor=color)
    ax.set_xlabel(“X[0]“)
    ax.set_ylabel(“Y[0]“)
    ax.legend(loc=“best“)
    ax.set_title(“PCA“)
    plt.show()

XY=load_data()
test_PCA(XY)
plot_PCA(XY)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        300  2018-10-09 20:45  PCA.ideamisc.xml

     文件        265  2018-10-09 20:44  PCA.ideamodules.xml

     文件        478  2018-10-09 20:45  PCA.ideaPCA.iml

     文件       9036  2018-10-10 20:59  PCA.ideaworkspace.xml

     文件       1049  2018-10-09 21:04  PCAPCA.py

     文件         10  2018-10-09 20:57  PCAvenvLibsite-packagescycler-0.10.0.dist-infoDEscriptION.rst

     文件          4  2018-10-09 20:57  PCAvenvLibsite-packagescycler-0.10.0.dist-infoINSTALLER

     文件        722  2018-10-09 20:57  PCAvenvLibsite-packagescycler-0.10.0.dist-infometaDATA

     文件        875  2018-10-09 20:57  PCAvenvLibsite-packagescycler-0.10.0.dist-infometadata.json

     文件        683  2018-10-09 20:57  PCAvenvLibsite-packagescycler-0.10.0.dist-infoRECORD

     文件          7  2018-10-09 20:57  PCAvenvLibsite-packagescycler-0.10.0.dist-info op_level.txt

     文件        110  2018-10-09 20:57  PCAvenvLibsite-packagescycler-0.10.0.dist-infoWHEEL

     文件      15959  2018-10-09 20:57  PCAvenvLibsite-packagescycler.py

     文件       2684  2018-10-09 20:57  PCAvenvLibsite-packagesdateutileaster.py

     文件      12902  2018-10-09 20:57  PCAvenvLibsite-packagesdateutilparserisoparser.py

     文件      57607  2018-10-09 20:57  PCAvenvLibsite-packagesdateutilparser\_parser.py

     文件       1727  2018-10-09 20:57  PCAvenvLibsite-packagesdateutilparser\__init__.py

     文件      11068  2018-10-09 20:57  PCAvenvLibsite-packagesdateutilparser\__pycache__isoparser.cpython-36.pyc

     文件      39709  2018-10-09 20:57  PCAvenvLibsite-packagesdateutilparser\__pycache__\_parser.cpython-36.pyc

     文件       2054  2018-10-09 20:57  PCAvenvLibsite-packagesdateutilparser\__pycache__\__init__.cpython-36.pyc

     文件      24418  2018-10-09 20:57  PCAvenvLibsite-packagesdateutil
elativedelta.py

     文件      64802  2018-10-09 20:57  PCAvenvLibsite-packagesdateutil
rule.py

     文件      60472  2018-10-09 20:57  PCAvenvLibsite-packagesdateutil z z.py

     文件      11318  2018-10-09 20:57  PCAvenvLibsite-packagesdateutil zwin.py

     文件      12892  2018-10-09 20:57  PCAvenvLibsite-packagesdateutil z\_common.py

     文件       1434  2018-10-09 20:57  PCAvenvLibsite-packagesdateutil z\_factories.py

     文件        551  2018-10-09 20:57  PCAvenvLibsite-packagesdateutil z\__init__.py

     文件      44222  2018-10-09 20:57  PCAvenvLibsite-packagesdateutil z\__pycache__ z.cpython-36.pyc

     文件       9513  2018-10-09 20:57  PCAvenvLibsite-packagesdateutil z\__pycache__win.cpython-36.pyc

     文件      12265  2018-10-09 20:57  PCAvenvLibsite-packagesdateutil z\__pycache__\_common.cpython-36.pyc

............此处省略4887个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)