代码 :

import numpy
from matplotlib.mlab import PCA
file_name = "store1_pca_matrix.txt"
ori_data = numpy.loadtxt(file_name,dtype='float', comments='#', delimiter=None,                 converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
result = PCA(ori_data)

这是我的代码。尽管我的输入矩阵没有nan和inf,但确实出现了以下错误。
raise LinAlgError("SVD did not converge") LinAlgError: SVD did not converge

有什么问题?

最佳答案

当数据中包含inf或nan值时,可能会发生这种情况。

使用此命令删除nan值:

ori_data.dropna(inplace=True)

关于python - 引发LinAlgError (“SVD did not converge”)LinAlgError : SVD did not converge in matplotlib pca determination,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21827594/

10-12 21:20