pca-svd-vriance-covirance

来源:互联网 发布:珠光色眼影推荐知乎 编辑:程序博客网 时间:2024/05/19 13:09

PCA

def compact_pca(ndarr, fea_num):
    #covariance = np.dot(ndarr.transpose(), ndarr)
    ndarr = ndarr - ndarr.mean(axis=0)
    cov = np.cov(ndarr.transpose())
    evalues, evectors = np.linalg.eigh(cov)
    index = np.argsort(evalues)[::-1]    
    evalues = evalues[index]
    evectors = evectors[:,index]

    evec = evectors[:,:fea_num]
    return  np.dot(evec.T, ndarr.transpose()).transpose()


covariance matrix:  Covariance indicates the level to which two variables vary together

c = a - a.mean(axis=0)
print np.dot(c.transpose(), c)


a = np.random.rand(3,6)*3+10
cov = np.cov(a.T)

0 0
原创粉丝点击