Обратный PCA, использующий только одну особенность проекции

У меня есть набор данных X, и я проецирую его на его основные компоненты, чтобы получить Y. Вернуть этот шаг можно с помощью обратного преобразования, если я хочу вернуть весь набор данных Y обратно в X.

Но что, если я хочу знать, какие особенности X способствуют тому или иному признаку Y?

Я хочу выбрать одну особенность Y (Y_select) и преобразовать ее обратно в исходное пространство. От руки это выполнимо, но sklearn кажется, нет возможности для этого.

Конечно, я мог бы просто установить все функции, кроме выбранного, на ноль, а затем обратное преобразование. Это избавляет от исключения, но, возможно, есть прямой путь.

from sklearn import datasets
from sklearn.decomposition import PCA

pca = PCA(n_components=3)
X = datasets.load_iris().data
Y = pca.fit_transform(X)
Y_select = Y[:,1] # I select the i-th (here: 2nd) feature of the projection Y
X1 = pca.inverse_transform(Y) # transforming back -> works like a charm
X2 = pca.inverse_transform(Y_select) # ValueError: shapes (150,) and (3,4) not aligned: 150 (dim 0) != 3 (dim 0)

0 ответов

Другие вопросы по тегам