При использовании алгоритма Sklearn PCA, как этот
x_orig = np.random.choice([0,1],(4,25),replace = True)
pca = PCA(n_components=15)
pca.fit_transform(x_orig).shape
Я получаю вывод
(4, 4)
Я ожидал (хочу), чтобы это было:
(4,15)
Я понимаю, почему это происходит. В документации sklearn ( здесь ) говорится (при условии, что их '==' является оператором присваивания):
n_components == min(n_samples, n_features)
Но почему они это делают?
Кроме того, как я могу преобразовать вход с формой [1,25] в [1,10] напрямую (без укладки фиктивных массивов)?