Вы можете создавать образцы, в которых два элемента не зависят друг от друга, а третий элемент представляет собой линейную комбинацию двух других.
Например:
import numpy as np
from numpy.random import random
N_SAMPLES = 1000
samples = random((N_SAMPLES, 3))
# Let us suppose that the column `1` will have the dependent feature, the other two being independent
samples[:, 1] = 3 * samples[:, 0] - 2 * samples[:, 2]
Теперь, если вы запустите PCA, чтобы найти два основных компонента в этом образце, «объясненная дисперсия» должна быть равна 1.
Для пример:
from sklearn.decomposition import PCA
pca2 = PCA(2)
pca2.fit(samples)
assert sum(pca2.explained_variance_ratio_) == 1.0 # this should be true