sklearn random_state 无法正常工作

sklearn random_state is not working properly

我阅读了与此相关的所有内容,但仍然不明白真正的问题是什么。基本上,我将 T运行catedSVD 与 random_state 一起使用,然后为其打印 explained_variance_ratio_.sum() 。每次我 运行 代码时它都会改变。这正常吗?

from sklearn.decomposition import TruncatedSVD
SVD = TruncatedSVD(n_components=40, n_iter=7, random_state=42)

XSVD = SVD.fit_transform(X)
print(SVD.explained_variance_ratio_.sum())

问题是后来我使用umap并绘制了结果图。每次我 运行 代码时,我都有不同的图表。我不明白这是由于 T运行catedSVD 还是 UMAP。我使用 random_state=42 来阻止事情发生变化,但看起来真的没有效果。

你可能做错了什么,因为我无法用 scikit-learn 0.22 重现你的问题

In [16]: import numpy as np 
    ...: from sklearn.decomposition import TruncatedSVD 
    ...:  
    ...: rng = np.random.RandomState(42) 
    ...: X = rng.randn(10000, 100) 
    ...: def func(X): 
    ...:     SVD = TruncatedSVD(n_components=40, n_iter=7, random_state=42) 
    ...:     XSVD = SVD.fit_transform(X) 
    ...:     print(SVD.explained_variance_ratio_.sum()) 
    ...: func(X);func(X);func(X);                                                                                                                                           
0.43320350603512425
0.43320350603512425
0.43320350603512425