zoukankan      html  css  js  c++  java
  • 机器学习一一主成分分析法

    下面是python2版本的程序:

    对鸢尾花数据进行主成分分析法的操作,并画图:

    import matplotlib.pyplot as plt                    #加载matplotlib用于数据的可视化
    from sklearn.decomposition import PCA   #加载pca算法包
    from sklearn.datasets import load_iris

    import numpy as np                                   #加下面两句话实际上是,设置显示阈值,
    np.set_printoptions(threshold = 1e6)        #如何不加, python print只能显示首尾30个数据,其他是省略号


    data=load_iris()  
    y=data.target  
    x=data.data  
    pca=PCA(n_components=2)         #加载PCA算法,设置降维后主成分数目为2
    reduced_x=pca.fit_transform(x)  #对样本进行降维  

    red_x,red_y=[],[]  
    blue_x,blue_y=[],[]  
    green_x,green_y=[],[]  
     
     
     

    if __name__ == "__main__":
        for i in range(len(reduced_x)):  
            if y[i] ==0:  
                red_x.append(reduced_x[i][0])  
                red_y.append(reduced_x[i][1])  
            elif y[i]==1:  
                blue_x.append(reduced_x[i][0])  
                blue_y.append(reduced_x[i][1])  
            else:  
                green_x.append(reduced_x[i][0])  
                green_y.append(reduced_x[i][1])
                
            #可视化
        plt.scatter(red_x,red_y,c='r',marker='x')  
        plt.scatter(blue_x,blue_y,c='b',marker='D')  
        plt.scatter(green_x,green_y,c='g',marker='.')  
        plt.show()

  • 相关阅读:
    NOI-OJ 2.2 ID:6261 汉诺塔
    NOI-OJ 2.2 ID:1696 逆波兰表达式
    NOI-OJ 2.2 ID:8758 2的幂次方表示
    NOI-OJ 2.2 ID:3089 爬楼梯
    NOI-OJ 1.13 ID:34 确定进制
    NOI-OJ 1.7 ID:21 单词替换
    NOI-OJ 1.13 ID:23 区间内的真素数
    【模板】欧拉筛法
    [SHOI2002]滑雪
    【Luogu1217】[USACO1.5]数字三角形(数塔问题) ——动态规划基础
  • 原文地址:https://www.cnblogs.com/chulin/p/8186037.html
Copyright © 2011-2022 走看看