Почему scaler.inverse_transform возвращает разные значения для одних и тех же входных данных в sklearn? - PullRequest
0 голосов
/ 23 марта 2020

В моем наборе данных есть один выход, который я называю Y, и пять входов, называемых X. Я читаю вывод и вход из моей системы в python, которые хранятся в массиве FinalArray.

Позже я использую StandardScaler из sklearn для масштабирования моего набора данных следующим образом:

scaler = StandardScaler()
scaler.fit(FinalArray)
FinalArrayScaled = scaler.transform(FinalArray)

В дальнейшем FinalArrayScaled будет разделен на тренировку и тестирование, как это обычно рекомендуется для методов регрессии. Поскольку я использую суррогатные модели (точнее, Кригинг), я реализую заполнение, чтобы добавить больше точек к моей области выборки, чтобы повысить доверие к моей модели (RSME и r ^ 2). Метод заполнения возвращает масштабированные значения. Помните, что вход, используемый для модели суррогата, был масштабирован ранее.

Вот краткий пример того, как выглядит вывод для 4 выборок и 5 функций (Изображение 1) enter image description here

Первый столбец (0) представляет выходные данные системы и другие столбцы представляют входные данные моей системы. Итак, каждое необработанное представление представляет определенный эксперимент c.

Чтобы узнать значения с соответствующими размерами, я реализовал scaler.inverse_transform на выходе метода. Однако вывод кажется странным, потому что как только я применил метод scaler.inverse_transform, я получил очень разные значения для одного и того же ввода, см. Рисунок 2. enter image description here

Обратите внимание на элементы (0 , 1) и (0,2) из ​​рисунка 1. Хотя они абсолютно одинаковы, приводят к совершенно другим значениям на рисунке 2. То же самое относится ко многим другим. Почему это?

1 Ответ

0 голосов
/ 24 марта 2020

Я нашел ошибку в моем исходном коде. Ради полноты, я поделюсь окончательными результатами здесь.

enter image description here

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

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...