您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python特征降维知识点总结

51自学网 2021-10-30 22:23:07
  python
这篇教程Python特征降维知识点总结写得很实用,希望能帮到您。

说明

1、PCA是最经典、最实用的降维技术,尤其在辅助图形识别中表现突出。

2、用来减少数据集的维度,同时保持数据集中对方差贡献最大的特征。

保持低阶主成分,而忽略高阶成分,低阶成分往往能保留数据的最重要部分。

实例

from sklearn.feature_selection import VarianceThreshold# 特征选择  VarianceThreshold删除低方差的特征(删除差别不大的特征)var = VarianceThreshold(threshold=1.0)   # 将方差小于等于1.0的特征删除。 默认threshold=0.0data = var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]]) print(data)'''[[0] [4] [1]]'''

内容扩展:

python实现拉普拉斯降维

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() 

到此这篇关于Python特征降维知识点总结的文章就介绍到这了,更多相关Python特征降维如何理解内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


Python方差特征过滤的实例分析
Python数据标准化的实例分析
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。