O sklearn PCA.transform fornece resultados diferentes para diferentes tentativas

Estou fazendo algum PCA usando sklearn.decomposition.PCA. Descobri que, se a matriz de entrada X for grande, os resultados de duas instâncias PCA diferentes para PCA.transform não serão os mesmos. Por exemplo, quando X é uma matriz 100x200, não haverá problema. Quando X é uma matriz 1000x200 ou 100x2000, os resultados de duas instâncias PCA diferentes serão diferentes. Não sei ao certo qual é a causa disso: suponho que não haja elementos aleatórios no solucionador de PCA do sklearn? Estou usando o sklearn versão 0.18.1. com python 2.7

O script abaixo ilustra o problema.

import numpy as np
import sklearn.linear_model as sklin 
from sklearn.decomposition import PCA

n_sample,n_feature = 100,200
X = np.random.rand(n_sample,n_feature)
pca_1 = PCA(n_components=10)
pca_1.fit(X)
X_transformed_1 = pca_1.transform(X)

pca_2 = PCA(n_components=10)
pca_2.fit(X)
X_transformed_2 = pca_2.transform(X)

print(np.sum(X_transformed_1 == X_transformed_2) )
print(np.mean((X_transformed_1 - X_transformed_2)**2) )

questionAnswers(1)

yourAnswerToTheQuestion