各位好,刚刚接触sklearn, 在使用pca对数据进行降维过程中遇到了一个问题。
a = np.random.rand(1000,1000)
pca = PCA(n_components= 200)    a_1 = pca.fit_transform(a)
a_2 = pca.fit_transform(a)
a_1[0][0] = -1.04953966
a_2[0][0] = -1.06709133我做了两边,发现两个结果矩阵的数值不一样,希望大家能给我解答一下。
2个回答
你需要设置random_state,比如
pca = PCA(n_components=200, random_state=999)SofaSofa数据科学社区DS面试题库 DS面经
				好的,谢谢你。
				- 
             wuha1995
           
				
          
          2019-03-06 11:45
			
查sklearn手册,数据大于500x500,svd solver自动选randomized,得到随机的近似解。你可以选solver,或者用小点的数据。
SofaSofa数据科学社区DS面试题库 DS面经
				好的,谢谢你,我去看一下手册。
				- 
             wuha1995
           
				
          
          2019-03-06 11:45
			
    
  相关讨论
  随便看看