AttributeError:'numpy.ndarray'对象没有属性'inverse_transform'

时间:2017-05-17 09:56:56

标签: python pandas numpy matplotlib keras

我在试图弄清楚如何根据预期值绘制预测值时遇到问题。但我继续得到这个错误:

AttributeError: 'numpy.ndarray' object has no attribute 'inverse_transform'

以下是我的机器学习目的的python Theano后端:

url = 'mydata.csv'
df = pd.read_csv(url)

y = df.loc[0:250, 'Y']
y = np.array(y)
X = df.loc[0:250, ['A','B','C', 'D', 'E']]
X = np.array(X)

X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, 
test_size=-.10, random_state=3)

model = Sequential()
model.add(Dense(128, input_dim=5, activation='tanh'))
model.add(Dropout(0.2))
model.add(Activation("tanh"))
model.add(Dense(64, activation='tanh'))
model.add(Activation("tanh"))
model.add(Dense(32, activation='tanh'))
# Output layer
model.add(Dense(1))

model.compile(loss='mse', optimizer='SGD',metrics=["accuracy"])

# Training model with train data. Fixed random seed
np.random.seed(7)
model.fit(X_train, y_train, nb_epoch=100, batch_size=10, verbose=1) 

# Evaluation
scores = model.evaluate(X, y)
print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))

pyplot.plot(y.inverse_transform(predicted), color="blue")
pyplot.plot(y.inverse_transform(y_test), color="green")
pyplot.show()#

不知道如何解决这个问题。反正我还是个新手。

1 个答案:

答案 0 :(得分:0)

假设我们已经完成了y的编码

encoded_y = scaler.fit_transform(original_dataset)

然后,y的解码(使其恢复到原始状态)应该像

y = scaler.inverse_transform(original_dataset)

这将确保y再次使用与之前编码相同的参数进行解码。

在您的代码中,我无法找到完成初始编码/转换的位置,但我希望这个主意很清楚。