# - * - コーディング: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