Я собираюсь сделать PCA (TruncatedSVD) для уменьшения числа измерений для моей разреженной матрицы.
Я разбил свои данные на поезда и разделил тест.
X_train , X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
Do IВы должны выполнять PCA отдельно для X_train и X_test?
pca = PCA()
X_train = pca.fit_transform(X_train)
X_test = pca.fit_transform(X_test)
или Нужно ли вписываться только в данные поезда, а затем преобразовывать данные поезда и испытания.Что предпочтительнее?
pca.fit(X_train)
train = pca.transform(X_train)
test = pca.transform(X_test)
РЕДАКТИРОВАТЬ:
Я делаю задачу классификации.У меня есть столбец с именем project_description
из моего фактического набора данных, и я применил BoW (CountVectorizer) для этого столбца и преобразовал его в векторы отсчетов, а затем применил к нему PCA для уменьшения измерений.
В моем фактическом наборе данных также есть другие столбцынапример, price, place, date, share% etc...
Теперь нужно ли применить PCA к моему фактическому набору данных (т. е. к другим столбцам), прежде чем объединять применяемый PCA лук-вектор?