日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

mds算法python函数_多维标度法(MDS)的Python实现

發布時間:2025/4/5 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mds算法python函数_多维标度法(MDS)的Python实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

標簽:

多維標度法(multidimensional scaling,MDS)是一種在低維空間展示“距離”數據結構的多元數據分析技術,是一種將多維空間的研究對象( 樣本 或 變量 ) 簡化到低維空間進行定位、分析和歸類, 同時又保留對象間原始關系的數據分析方法。

多維標度法與主成分分析(Principle Component Analysis,PCA)、線性判別分析(Linear Discriminent Analysis,LDA)類似,都可以用來降維

多維標度法的目標:當n 個對象中各對對象之間的相似性(或距離)給定時,確定這些對象在低維(歐式) 空間中的表示(稱為感知圖, Perceptual Mapping),并使其盡可能與原先的相似性(或距離)“大體匹配”,使得由降維所引起的任何變形達到最小。

低維(歐式) 空間中排列的每一個點代表一個對象,因此點間的距離與對象間的相似性高度相關。也就是說,兩個相似的對象由低維(歐式) 空間中兩個距離相近的點表示,而兩個不相似的對象則由低維(歐式) 空間兩個距離較遠的點表示。低維空間通常為二維或三維的歐氏空間,但也可以是非歐氏三維以上空間.

Classical MDS:

? 原始空間下的距離陣和低維空間下的距離陣都采用歐式距離陣

? 距離陣D 為歐式的, 即存在某個正整數p 以及Rp 空間的n個點x1, . . . , xn, 使得

目標在于: 尋找D 的(擬合) 構圖x1, . . . , xn, 其想法為

– 將平方的歐式距離陣D = (d2ij) 變換為一個非負定矩陣B

– 由B 的特征根和特征向量得到構圖X, X 的每一行表示低維空間的點.

? 為此, 記原始的p 維對象(觀測點) 為x1, . . . , xn(一般是未知的), 兩兩之間的距離平方為

B = ?1/2*HDH,H = In ? 1/n 11′

其中, r 的確定: 事先確定r = 1, 2 或3; 或者通過計算前面特征根占全體特征根的比例確定.

importnumpy as np

D=np.array([[0,411,213,219,296,397],

[411,0,204,203,120,152],

[213,204,0,73,136,245],

[219,203,73,0,90,191],

[296,120,136,90,0,109],

[397,152,245,191,109,0]])

N=D.shape[0]

T=np.zeros((N,N))#solution 1#ss = 1.0/N**2*np.sum(D**2)#for i in range(N):#for j in range(i,N):#T[i,j] = T[j,i] = -0.5*(D[i,j]**2 -1.0/N*np.dot(D[i,:],D[i,:]) -1.0/N*np.dot(D[:,j],D[:,j])+ss)

#solution 2

K =np.dot(D,np.transpose(D))

D2= D**2H= np.eye(N) - 1/N

T= -0.5*np.dot(np.dot(H,D2),H)

eigVal,eigVec=np.linalg.eig(T)

X= np.dot(eigVec[:,:2],np.diag(np.sqrt(eigVal[:2])))print(‘original distance‘,‘\tnew distance‘)for i inrange(N):for j in range(i+1,N):print(np.str(D[i,j]),‘\t\t‘,np.str("%.4f"%np.linalg.norm(X[i]-X[j])))

運行結果:

參考文檔:典型相關分析和多維標度法-張偉平的講義

標簽:

總結

以上是生活随笔為你收集整理的mds算法python函数_多维标度法(MDS)的Python实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。