Падение производительности при использовании PCA с LSTM - PullRequest
0 голосов
/ 08 мая 2020
• 1000 . В этом примере в наборе данных 10 функций, но тот, с которым я хочу работать, имеет около 14000 функций.

Итак, следуя последнему разделу учебного курса «Многоступенчатая модель», я попытался добавить Преобразование PCA для получения первых 3 основных компонентов (ПК) вместо простого выбора 3 функций случайным образом.

Мои предположения заключались в том, что я должен получить небольшое увеличение производительности или ничего, но вместо этого оно упало и ошибка скорость удвоилась.

enter image description here

Я установил начальное число перед запуском измененного раздела, чтобы сравнить результаты с tuto.

вот бит кода, который я модифицировал, чтобы включить PCA:

from sklearn.decomposition import PCA

features = df.drop(["Date Time"], axis = 1)

features.index = df['Date Time']
dataset = PCA(n_components = 3).fit_transform(features)
data_mean = dataset[:TRAIN_SPLIT].mean(axis=0)
data_std = dataset[:TRAIN_SPLIT].std(axis=0)

dataset = (dataset-data_mean)/data_std

Кто-нибудь знает, почему происходит такое поведение? Есть ли какой-то шаг, который я пропустил? 1026 *

1 Ответ

0 голосов
/ 08 мая 2020

Измененный код ниже работает нормально, мне пришлось переместить масштабирование перед PCA.

from sklearn.decomposition import PCA

features = df.drop(["Date Time"], axis = 1)
features.index = df['Date Time']
data_mean = features[:TRAIN_SPLIT].mean(axis=0)
data_std = features[:TRAIN_SPLIT].std(axis=0)

features = (features-data_mean)/data_std

dataset = PCA(n_components = 3).fit_transform(features)
...