主頁 > 知識庫 > Python特征降維知識點(diǎn)總結(jié)

Python特征降維知識點(diǎn)總結(jié)

熱門標(biāo)簽:長沙高頻外呼系統(tǒng)原理是什么 外呼并發(fā)線路 西藏房產(chǎn)智能外呼系統(tǒng)要多少錢 湛江智能外呼系統(tǒng)廠家 百度地圖標(biāo)注沒有了 宿遷星美防封電銷卡 ai電話機(jī)器人哪里好 地圖標(biāo)注審核表 ai電銷機(jī)器人源碼

說明

1、PCA是最經(jīng)典、最實(shí)用的降維技術(shù),尤其在輔助圖形識別中表現(xiàn)突出。

2、用來減少數(shù)據(jù)集的維度,同時保持?jǐn)?shù)據(jù)集中對方差貢獻(xiàn)最大的特征。

保持低階主成分,而忽略高階成分,低階成分往往能保留數(shù)據(jù)的最重要部分。

實(shí)例

from sklearn.feature_selection import VarianceThreshold

# 特征選擇  VarianceThreshold刪除低方差的特征(刪除差別不大的特征)
var = VarianceThreshold(threshold=1.0)   # 將方差小于等于1.0的特征刪除。 默認(rèn)threshold=0.0
data = var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]])
 
print(data)
'''
[[0]
 [4]
 [1]]
'''

內(nèi)容擴(kuò)展:

python實(shí)現(xiàn)拉普拉斯降維

def laplaEigen(dataMat,k,t): 
 m,n=shape(dataMat) 
 W=mat(zeros([m,m])) 
 D=mat(zeros([m,m])) 
 for i in range(m): 
 k_index=knn(dataMat[i,:],dataMat,k) 
 for j in range(k): 
  sqDiffVector = dataMat[i,:]-dataMat[k_index[j],:] 
  sqDiffVector=array(sqDiffVector)**2 
  sqDistances = sqDiffVector.sum() 
  W[i,k_index[j]]=math.exp(-sqDistances/t) 
  D[i,i]+=W[i,k_index[j]] 
 L=D-W 
 Dinv=np.linalg.inv(D) 
 X=np.dot(D.I,L) 
 lamda,f=np.linalg.eig(X) 
return lamda,f 
def knn(inX, dataSet, k): 
 dataSetSize = dataSet.shape[0] 
 diffMat = tile(inX, (dataSetSize,1)) - dataSet 
 sqDiffMat = array(diffMat)**2 
 sqDistances = sqDiffMat.sum(axis=1) 
 distances = sqDistances**0.5 
 sortedDistIndicies = distances.argsort() 
return sortedDistIndicies[0:k] 
dataMat, color = make_swiss_roll(n_samples=2000) 
lamda,f=laplaEigen(dataMat,11,5.0) 
fm,fn =shape(f) 
print 'fm,fn:',fm,fn 
lamdaIndicies = argsort(lamda) 
first=0 
second=0 
print lamdaIndicies[0], lamdaIndicies[1] 
for i in range(fm): 
 if lamda[lamdaIndicies[i]].real>1e-5: 
 print lamda[lamdaIndicies[i]] 
 first=lamdaIndicies[i] 
 second=lamdaIndicies[i+1] 
 break 
print first, second 
redEigVects = f[:,lamdaIndicies] 
fig=plt.figure('origin') 
ax1 = fig.add_subplot(111, projection='3d') 
ax1.scatter(dataMat[:, 0], dataMat[:, 1], dataMat[:, 2], c=color,cmap=plt.cm.Spectral) 
fig=plt.figure('lowdata') 
ax2 = fig.add_subplot(111) 
ax2.scatter(f[:,first], f[:,second], c=color, cmap=plt.cm.Spectral) 
plt.show() 

到此這篇關(guān)于Python特征降維知識點(diǎn)總結(jié)的文章就介紹到這了,更多相關(guān)Python特征降維如何理解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:南平 普洱 大同 林芝 海南 漯河 寧夏 盤錦

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python特征降維知識點(diǎn)總結(jié)》,本文關(guān)鍵詞  Python,特征,降維,知識點(diǎn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python特征降維知識點(diǎn)總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python特征降維知識點(diǎn)總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章