lsomap次元削減

# -  *  - コーディング:UTF-8  -  *  - 
「」」
    lsomap

「」」
NPとしてnumpyのインポート
PLTとしてインポートmatplotlib.pyplot
sklearnインポートデータセットから、マニホールド

デフLOAD_DATA():
    「「」
    次元削減のためのデータのロード

    :リターン:タプル、トレーニングセットを標識し、サンプルのセットされました
    「「」
    アイリス= datasets.load_iris()#のscikit学習アイリスデータセットを使用しています
    iris.data、iris.targetを返します

デフtest_lsomap(*データ):
    「「」
    使用テストlsomap

    :Paramのデータ:変数パラメータ。これは、その要素がここで必要とされるでタプルです:ラベルされた学習サンプルのトレーニングセット
    :リターン:なし
    「「」
    X、Y =データ
    #次元削減目標は、4次元検査することができ、一次元、二次元、三次元:[4,3,2,1]におけるnに対する
        lsomap = manifold.lsomap(n_components = N)
        lsomap.fit(X)
        印刷( 'reconstruction_error(n_components =%d)が:%s' は%
            (N、lsomap.reconstruction_error()))
デフplot_lsomap_k(*データ):
    「「」
    2次元のテストパラメータN_NEIGHBORS lsomap、前記次元削減の効果

    :Paramのデータ:変数パラメータ。これは、その要素がここで必要とされるでタプルです:ラベルされた学習サンプルのトレーニングセット
    :リターン:なし
    「「」
    X、Y =データ
    カンザス= [1,5,25、1 y.size-]#パラメータ候補値N_NEIGHBORSを設定します

    図= plt.figure()
    私のために、列挙におけるk(KS):
        lsomap = manifold.lsomap(n_components = 2、N_NEIGHBORS = K)
        X_R = lsomap.fit_transform(X)#は、二次元のオリジナルデータセットを変換します

        AX = fig.add_subplot(2,2、i + 1)の## 2行2列、各表示部lsomap異なるレンダリングパラメータN_NEIGHBORS
        色=((1,0,0)、(0,1,0)、(0,0,1)、(0.5,0.5,0)、(0,0.5,0.5)、(0.5,0,0.5) 、
            (0.4,0.6,0)、(0.6、0.4)、(0,0.6,0.4)、(0.5,0.3,0.2)、)#色セット、異なる色の色素標識された試料
        ジッパーでラベル、カラー(np.unique(Y)、色)のために:
            位置= Y ==ラベル
            ax.scatter(X_R [位置、0]、X_R [位置1]、ラベル= "ターゲット=%dの"
            %ラベル、色=色)

        ax.set_xlabel( "X [0]")
        ax.set_ylabel( "X [1]")
        ax.legend(LOC = "最善")
        ax.set_title( "K =%D" %のK)
    plt.suptitle( "lsomap")
    plt.show()
デフplot_lsomap_k_d1(*データ):
    「「」
    一次元のテストパラメータN_NEIGHBORS lsomap、前記次元削減の効果

    :Paramのデータ:変数パラメータ。これは、その要素がここで必要とされるでタプルです:ラベルされた学習サンプルのトレーニングセット
    :リターン:なし
    「「」
    X、Y =データ
    カンザス= [1,5,25、1 y.size-]#パラメータ候補値N_NEIGHBORSを設定します

    図= plt.figure()
    私のために、列挙におけるk(KS):
        lsomap = manifold.lsomap(n_components = 1、N_NEIGHBORS = K)
        X_R = lsomap.fit_transform(X)#1は、元のデータセットの次元に変換します

        AX = fig.add_subplot(2,2、i + 1)の## 2行2列、各表示部lsomap異なるレンダリングパラメータN_NEIGHBORS
        色=((1,0,0)、(0,1,0)、(0,0,1)、(0.5,0.5,0)、(0,0.5,0.5)、(0.5,0,0.5) 、
            (0.4,0.6,0)、(0.6、0.4)、(0,0.6,0.4)、(0.5,0.3,0.2)、)#色セット、異なる色の色素標識された試料
        ジッパーでラベル、カラー(np.unique(Y)、色)のために:
            位置= Y ==ラベル
            ax.scatter(X_R [位置]、np.zeros_like(X_R [位置])、
            ラベル= "ターゲット=%dの" %ラベル、カラー=色)

        ax.set_xlabel( "X")
        ax.set_ylabel( "Y")
        ax.legend(LOC = "最善")
        ax.set_title( "K =%D" %のK)
    plt.suptitle( "lsomap")
    plt.show()
__name __ == '__ MAIN__' の場合:
    X、Y = LOAD_DATA()#1次元削減は、データのセットを生成します
    test_lsomap(X、Y)#コールtest_lsomap
    #plot_lsomap_k(X、Y)#コールplot_lsomap_k
    #Plot_lsomap_k_d1(X、Y)#コールplot_lsomap_k_d1

  

おすすめ

転載: www.cnblogs.com/niulang/p/11791592.html