Столкнулся со следующей проблемой: тренировочные и тестовые данные у меня в виде 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])