Я понимаю необходимость упорядочения и масштабирования данных, которые мы используем в нейронной сети. Для этого я использую sklearn StandardScaler () и добился хорошего успеха.
Однако я не совсем понимаю, как обрабатывать новые данные с использованием стандартного масштабатора, который я уже установил. Прямо сейчас мой метод просто превращает каждый вход в ноль.
Вот как я стандартизирую весь набор данных, который я использую для обучения:
ss = StandardScaler()
scaled_features = X.copy()
features = scaled_features[numeric]
scaler = ss.fit(features.values)
features = ss.transform(features.values)
scaled_features[numeric] = features
X = scaled_features
Затем, позже я добавляю новый вход и хочу стандартизировать это. Я делаю это так:
predict_data = np.array([7, 1, 1, 3038, 1238, 19, 2, 10]).reshape(1,-1)
x_val = pd.DataFrame(data=predict_data, columns=columnNames)
scaled_features = x_val.copy()
features = scaled_features[numeric]
scaler = ss.fit(features.values)
features = ss.transform(features.values)
scaled_features[numeric] = features
x_val = scaled_features
Хотя все функции обнуляются, что мешает выводу сети.