【发布时间】:2021-02-08 20:44:29
【问题描述】:
我正在尝试使用回归 nn 模型预测一个介于 3 到 7 之间的值。我目前有 1000 个样本,每个样本 1000 个点,对应于生理数据。但是,预测值始终在 5.6 到 5.9 的范围内。我试图改变层数,调整参数等。但它只改变了基础值,而不是范围(即预测,例如,在 6.6 到 6.9 的范围内)。
这是算法的基本核心(数据已经标准化):
X_train, X_test, y_train, y_test = train_test_split(x_0, y_0, test_size=0.2, shuffle = False, stratify = None)
K.clear_session()
model = Sequential()
model.add(Dense(128, activation='relu', input_shape=(1000,)))
#model.add(Dropout(0.2))
model.add(Dense(128,activation='relu'))
model.add(Dense(128,activation='relu'))
model.add(Dense(128,activation='relu'))
model.add(Dense(1,activation='linear'))
model.compile(loss="mean_absolute_error", optimizer=Adam(lr=0.001), metrics=['mean_absolute_error'])
model.summary()
history = model.fit(X_train,y_train,batch_size=30, epochs=10,verbose=1, validation_split=0.2)
score = model.evaluate(X_test,y_test)
print("Test score:", score)
y_pred = model.predict(X_test)
感谢您的帮助!
【问题讨论】:
标签: python keras regression