【发布时间】:2021-02-15 21:37:33
【问题描述】:
我使用的代码来自:https://github.com/TheoMoumiadis/HVAC-calc-with-NN 但我有这个错误: ValueError:数据基数不明确: x 尺寸:667 尺码:668 确保所有数组都包含相同数量的样本。
你能帮我吗?我应该做一个形状,但怎么做?
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import tensorflow as tf
import keras
from keras import models
from keras import layers
from keras.utils import np_utils
dataset = pd.read_csv('C:/.../ENB2012_data.csv')
print(dataset)
X_train = dataset.iloc[0:667,1:9].values.astype('float32')
Y1_train = dataset.loc[0:667,'Y1'].values.astype('float32')
Y2_train = dataset.loc[0:667,'Y2'].values.astype('float32')
X_test = dataset.iloc[668:767,1:9].values.astype('float32')
Y1_test = dataset.loc[668:767,'Y1'].values.astype('float32')
Y2_test = dataset.loc[668:767,'Y2'].values.astype('float32')
mean = X_train.mean(axis=0)
X_train -= mean
std = X_train.std(axis=0)
X_train /= std
X_test -= mean
X_test /= std
def build_model():
model =models.Sequential()
model.add(layers.Dense(64, input_dim=X_train.shape[1], activation='relu'))
model.add(layers.Dense(64,activation='relu'))
model.add(layers.Dense(1))
model.compile(optimizer='rmsprop', loss='mse', metrics=['mae'])
return model
model = build_model()
model.fit(X_train, Y1_train, epochs=300, batch_size=10, verbose=0)
test_mse_score, test_mae_score = model.evaluate(X_test, Y1_test)
【问题讨论】:
-
注意
iloc选择的内容,尝试更改为dataset.ix[0:667,1:9].values.astype('float32')。编辑:您提供的链接也是这样,再次检查。 -
如果我使用 dataset.ix 而不是 dataset.iloc 我有一个 AttributeError: 'DataFrame' 对象没有属性 'ix'。我使用 Python 3.7.9 和 tensorflow 2.4.1、Keras 2.4.3
-
或者你可以使用这个
X_train = dataset.iloc[0:668,1:9].values.astype('float32')和X_test = dataset.iloc[667:767,1:9].values.astype('float32') -
完美,谢谢!