利用 PCA 对半导体制造数据降维
说明:
将 secom.data
放在当前目录下。
from numpy import *
import numpy as np
PCA 算法
def pca(dataMat, topNfeat=9999999):
#计算均值
meanVals = dataMat.mean(0)
#去均值化,均值变为0
meanRemoved = dataMat - meanVals #remove
#计算协方差矩阵
covMat = cov(meanRemoved, rowvar=0)
#计算协方差矩阵的特征值和特征向量
eigVals,eigVects = linalg.eig(mat(covMat))
#对特征值排序,argsort函数默认是从小到大排序的,返回对应的索引值
eigValInd = argsort(eigVals) #sort, sort goes smallest to largest
#提取出最大的N个特征对应的索引
eigValInd = eigValInd[:-(topNfeat+1):-1] #cut off unwanted dimensio