私は集団に細胞を分類しようとしています。私が使用する場合:sklearn GMM分類予測(コンポーネント割り当て)
gmix = mixture.GMM(n_components=3, covariance_type='full') gmix.fit(samples)
を以下のコードから手段の出力は、順序の変更、Iは設定しない限り: np.radom.seed(0)
を。
print ("gmix.means \n", gmix.means_) colors = ['r' if i==0 else ('g' if i==1 else ('b' if i ==2 else 'm'))for i in gmix.predict(samples)]
:
[[ 3.25492404e+02 2.88403293e-02]
[ 3.73942908e+02 3.25283512e-02]
[ 5.92577646e+02 4.40595768e-02]]
だから赤上記のコードでは、常に325であるように、緑色372と青592。現時点では、出力をソートするものはないと思う。
私が試した:
gmix.means_ = np.sort(gmix.means_, axis = 0)
をしかし、その後gmix.covars_とgmix.weights_も私がこだわっているところである、それに応じてソートする必要があります!
多くの感謝!
編集4/5/16:
助けてくれてありがとう、右方向に私を操縦します。
私は正しい方向に助けてくれてありがとう。 ' sort_indices = gmix.means_.argsort(軸= 0) 順= sort_indices [:, 0] 印刷( '\のNORDER::'、順序)ここに私の下手に書かれたが、作業バージョンです gmix.means_ = gmix .means_ [順序,:] gmix.covars_ = gmix.covars_ [順序:] プリント( "\ nはソートgmix.covarsがn \"、gmix.covars_) プリント( "の\ n \海苔gmix。 w = np.plvel(gmix.weights_、3) w = np.asarray(w) w = np.ravel(w [order ,:]) gmix.weights_ = w –