我遵循以下关于张量流回归模型的指南:https://www.tensorflow.org/tutorials/keras/basic_regression
使用篮球数据。我想根据大学统计数据预测NBA的职业生涯。我目前具有以下格式的规范化数据:
然后我根据上面链接中的代码构建以下模型:
def build_model():
model = keras.Sequential([
keras.layers.Dense(64, activation=tf.nn.relu,
input_shape=(train.shape[1],)),
keras.layers.Dense(64, activation=tf.nn.relu),
keras.layers.Dense(1)
])
optimizer = tf.train.RMSPropOptimizer(0.001)
model.compile(loss='mse',
optimizer=optimizer,
metrics=['mae'])
return model
model = build_model()
model.summary()
似乎工作正常。但是,当我随后尝试运行模型并使用以下代码记录历史记录时:
EPOCHS = 200
labels = ['Age','G','FG','FGA','X3P','X3PA','FTA','TRB','AST','STL','BLK','Wt','final_ht','colyears','nbayears']
# Store training stats
history = model.fit(train, labels, epochs=EPOCHS, validation_split=0.2, verbose=0)
这给我一个错误:'str'对象没有属性'ndim',这使我很难理解它的含义。我在做错什么吗?
答案 0 :(得分:1)
调用模型的.fit
函数时,第二个参数应代表您的目标变量(NBA职业生涯时长)。这将是一维数组,而不是您尝试传递给函数的列表。
这应该可以解决问题。