Пример #1
0
def test_pca(app_inst: ArrayApplication):
    real_X, _ = BimodalGaussian.get_dataset(2345, 9)
    X = app_inst.array(real_X, block_shape=(123, 4))

    # Covariance matrix test.
    C = app_inst.cov(X, rowvar=False)
    V, _, VT = linalg.svd(app_inst, C)
    assert app_inst.allclose(V, VT.T)
    pc = X @ V
    assert app_inst.allclose(pc, linalg.pca(app_inst, X))
Пример #2
0
def pca(app: ArrayApplication, X: BlockArray):
    C = app.cov(X, rowvar=False)
    U, _, _ = svd(app, C)
    return X @ U