Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Центр помощи
  • » Сопоставление данных полученных после предсказаний модели keras с ответами из тестовых данных [RSS Feed]

#1 Март 12, 2020 13:41:16

Volodya
Зарегистрирован: 2020-02-13
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Сопоставление данных полученных после предсказаний модели keras с ответами из тестовых данных

Доброго времени суток, ребята!

Столкнулся со следующей проблемой: тренировочные и тестовые данные у меня в виде DataFrame, соответственно для обучения модели передаю данные (x_train, x_test, y_train, y_test) в виде DataFrame и для предсказания в модель передаю данные в виде DataFrame (x_test), а метод предсказаний возвращает данные (y_test_pred, y_train_pred) в виде массива Float32. В DataFrame и в массиве Float32 разные индексации и когда я хочу сравнить данные полученные в ходе предсказаний (массив Float32) с верными тестовыми данными (DataFrame массив), то ничего не выходит - индексация то разная.

Как тут быть?

 dataset = pd.read_csv('J:/Exemple_Regression/ENB2012_data.csv', sep=',')
#DataFrame массивы
X = dataset[['X1','X2','X3','X4','X5','X6','X7','X8']].values
X_factors=pd.DataFrame(X)
X_factors=Not_Nane_str(X_factors)
y = dataset['Y1'].values
y_result=pd.DataFrame(y)
y_result=Not_Nane_str(y_result)
#DataFrame массивы
x_train, x_test, y_train, y_test = train_test_split(X_factors,y_result, test_size=0.33, random_state=42)
# Среднее значение
mean = x_train.mean(axis=0)
#Стандартное отклонение
std = x_train.std(axis=0)
x_train -= mean
x_train /= std
x_test -= mean
x_test /= std
model = Sequential()
model.add(Dense(13, activation='relu', input_shape=(x_train.shape[1],)))
model.add(Dense(13, activation='relu'))
model.add(Dense(1))
model.compile(optimizer='adam', loss='mse', metrics=['mae'])
#DataFrame массивы
model.fit(x_train, y_train, epochs=3, batch_size=1, verbose=2)
#Возвращает массивы float32
y_test_pred = model.predict(x_test)
y_train_pred = model.predict(x_train)
#СРАВНЕНИЕ
print("Предсказанное изменение:", y_test_pred[0])
print("Правильное изменение:", y_test[1][0])

Отредактировано Volodya (Март 12, 2020 13:44:01)

Офлайн

#2 Март 12, 2020 23:24:05

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Сопоставление данных полученных после предсказаний модели keras с ответами из тестовых данных

Volodya
Как тут быть?
Как тут быть зависит от того что вы имеете ввиду под сравнить. Обычно если модель научена, то она может предсказывать результат для любых факторов (на то она и модель). Просто передайте для предсказания набор факторов от тестовой последовательности.



Офлайн

#3 Март 13, 2020 09:34:40

Volodya
Зарегистрирован: 2020-02-13
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Сопоставление данных полученных после предсказаний модели keras с ответами из тестовых данных

doza_and
Как тут быть зависит от того что вы имеете ввиду под сравнить. Обычно если модель научена, то она может предсказывать результат для любых факторов (на то она и модель). Просто передайте для предсказания набор факторов от тестовой последовательности.

Так я и передаю тестовые данные (X_test) (DataFrame тип), а потом хочу сравнить полученные предсказания с правильными ответами (y_test), но метод предсказаний возвращает мне данные в виде массива float с индексацией 0…n,
а верные ответы у меня в формате DataFrame с совершенно другой индексацией (там индекс не порядковый номер, как я понимаю, а номер строки полученной при разбивки исходного набора на обучающий и тестовый) с такой же как и X_test.
Как сравнить, если индексация разная, да и порядок возможно поменялся?

Офлайн

#4 Март 21, 2020 09:25:43

Volodya
Зарегистрирован: 2020-02-13
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Сопоставление данных полученных после предсказаний модели keras с ответами из тестовых данных

doza_and
Не уж-то вариант только сравнивать в цикле каждое значение отдельно одновременно записывая результат предсказания и верный ответ в отдельные схожие структуры данных?

Офлайн

  • Начало
  • » Центр помощи
  • » Сопоставление данных полученных после предсказаний модели keras с ответами из тестовых данных[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version