我用Python的Keras包构建了一个神经网络。我的网络的目标是预测房价。这是我的训练数据集的样子。
Price Beds SqFt Built Garage FullBaths HalfBaths LotSqFt
485000 3 2336 2004 2 2.0 1.0 2178.0
430000 4 2106 2005 2 2.0 1.0 2178.0
445000 3 1410 1999 1 2.0 0.0 3049.0
...
假设我有一些新房子想要分析。例如,我想预测房子的价格
- 4 床
- 2500平方英尺
- 建于2001 年
- 3 全套卫浴
- 1 半浴室
- 地段平方英尺 3452
如何将这些值输入到我的网络中以接收预测价格。另外,有没有办法让网络报告某种置信度指标?
作为参考,这是我的网络当前的样子。
from keras.models import Sequential
from keras.layers import Dense
N = 16
model = Sequential([
Dense(N, activation='relu', input_shape=(7,)),
Dense(1, activation='relu'),
])
model.compile(optimizer='sgd',
loss='mse',
metrics=['mean_squared_error'])
hist = model.fit(X_train, Y_train,
batch_size=32, epochs=100,
validation_data=(X_val, Y_val))
model.evaluate(X_test, Y_test)[1]
提前感谢!!
为此,您需要使用model.predict()
,如此处所述。
model.predict()
将一批输入作为参数x
。在您的情况下,您只有 1 个输入,因此您可以将其编写为:
x = [[4, 2500, 2001, 0, 3, 1, 3452]] # Assumes 0 garages
print(model.predict(x)[0]) # Print the first (only) result