擅长:python、mysql、java
<p>你的<code>y_test</code>数据形状是(N,1),但是因为你在输出层放置了10个神经元,你的模型会做出10个不同的预测,这就是错误</p>
<p>您需要将输出层中的神经元数量更改为1,或者添加一个只有1个神经元的新输出层</p>
<p>下面的代码可能适合您</p>
<pre><code>import pandas as pd
from tensorflow.python.keras import Sequential
from tensorflow.python.keras.layers import Dense
from sklearn.model_selection import train_test_split
concrete_data = pd.read_csv('https://cocl.us/concrete_data')
n_cols = concrete_data.shape[1]
model = Sequential()
model.add(Dense(units=10, activation='relu', input_shape=(n_cols-1,)))
model.add(Dense(units=1))
model.compile(loss='mean_squared_error',
optimizer='adam')
y = concrete_data.Cement
x = concrete_data.drop('Cement', axis=1)
xTrain, xTest, yTrain, yTest = train_test_split(x, y, test_size = 0.3)
model.fit(xTrain, yTrain, epochs=50)
</code></pre>