将Python3.6升级到3.7以及将scikit learn 0.19升级到0.23时PCA的收敛变化

将Python3.6升级到3.7以及将scikit learn 0.19升级到0.23时PCA的收敛变化,python,scikit-learn,upgrade,pca,Python,Scikit Learn,Upgrade,Pca,我使用scikit learn中的经典PCA对一个分类模型进行分类,使用LogisticRegression对一个具有22000行*45000列的数据帧进行分类,数据是按比例缩放的,但当我将python 3.6升级到3.7和scikit learn 0.19升级到0.23时,两者都存在收敛问题 raise LinAlgError("SVD did not converge") LinAlgError: SVD did not converge 我的数据帧中没有NaN,但这可

我使用scikit learn中的经典PCA对一个分类模型进行分类,使用LogisticRegression对一个具有22000行*45000列的数据帧进行分类,数据是按比例缩放的,但当我将python 3.6升级到3.7和scikit learn 0.19升级到0.23时,两者都存在收敛问题

raise LinAlgError("SVD did not converge") LinAlgError: SVD did not converge
我的数据帧中没有NaN,但这可能是内存问题

from sklearn.decomposition import PCA
   
n_components = int(X_main.shape[0] / 5)

pca = PCA(n_components=n_components)
principalComponents = pca.fit_transform(X_main)

principalDf = pd.DataFrame(data=principalComponents)

我没有改变其他任何东西,我通过改变一些超参数解决了这个问题,但我想知道为什么会出现这种情况,我已经测试过,当我回滚到旧版本时,收敛错误“消失”

我不知道为什么,现在是不是有一个关于收敛的警告,或者是另一种计算方式,或者其他原因


谢谢您的建议:)

请添加一段您正在运行的代码。此处的答案提供了引发此错误的一些其他原因:这是否回答了您的问题?是的,我已经读过了,我认为有一个内存错误,但我不明白为什么它会在我升级库时出现,而在我回滚时消失