Интерпретация нейронной сети с масштабированным вводом - PullRequest
0 голосов
/ 11 декабря 2018

В настоящее время у меня семинар по экономике в нейронных сетях.Моя цель - предсказать ценность компании, основываясь на 15 входных характеристиках.Я реализовал свою первую нейронную сеть для этой задачи.Моя текущая проблема заключается в том, что я не знаю, как интерпретировать функцию потерь после масштабирования данных.Должен ли я просто изменить его масштаб?

Это часть моего кода, где я масштабирую данные.Впоследствии он используется для перекрестной проверки.

scaler_X = preprocessing.StandardScaler().fit(X)
scaler_y = preprocessing.StandardScaler().fit(y)

X_scaled = scaler_X.transform(X)
y_scaled = scaler_y.transform(y)

Используемая мной функция потерь - это среднеквадратическая ошибка, и в результате получается ошибка около 0,0062.

Заранее спасибо за любую помощь, Робин

1 Ответ

0 голосов
/ 11 декабря 2018

Попробуйте!

from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_error

x_scaler = StandardScaler()
X_scaled = x_scaler.fit_transform(X)

y_scaler = StandardScaler()
y_scaled = y_scaler.fit_transform(y)

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

y_rescaled = y_scaler.inverse_transform(y_pred)
mean_squared_error(y_true, y_rescaled)
...