如何解决复杂数据中的主成分分析python
我有一个复杂的矩阵(48000x2109),我想对其进行主要成分分析。我的问题是它的大小,我的代码要到最后才运行。我需要知道是否有为复杂PCA做好准备的运营商,或者是否有解决此问题的方法。
from scipy.sparse import csr_matrix
import scipy.sparse
from scipy.sparse.linalg import eigsh
import pandas as pd
import numpy as np
matriz_arr = scipy.sparse.csr_matrix(np.array(matriz_complexa,dtype='complex'))
media = csr_matrix.mean(matriz_arr,axis=0)
###centralizing data on the average
data = csr_matrix(matriz_arr-media)
enter code here
transposta = csr_matrix.getH(desvio)
linhas,colunas = desvio.shape
###for calculating the covariance matrix => 1/n*(transposed from matrix)*(matrix)
matriz_covariancia =(transposta*desvio)/linhas
auto_valores,auto_vetores = eigsh(matriz_covariancia)
indx = auto_valores.argsort()[::-1]
auto_valores = auto_valores[indx]
auto_vetores = auto_vetores[:,indx]
auto_valores = np.diag(auto_valores)
auto_vetores = auto_vetores[:,0:6]
porcentagem = (np.dot(auto_valores,100)/(np.sum(auto_valores)))
###principal component###
pcs = csr_matrix.dot(desvio,auto_vetores)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。