首页 > 解决方案 > mlp 模型参数和 opendata 预测的总体指南

问题描述

我在环境数据实验室工作。我想使用 ML(mlp) 预测水污染,但现在我有一个小问题:我有一些关于水污染和天气状况的数据:

数据形状:(963, 7),天气数据,表示风速、温度、pre 等

(天气数据,表示风速、温度、pre 等)

数据形状:(963, 2),另一个数据,表示水污染指标

(另一个数据,表示水污染指标)

我正在使用这段代码:

x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=42, test_size=0.2)
x_test, x_val, y_test, y_val = train_test_split(x_test, y_test, random_state=42, 
test_size=0.5)

model = Sequential()
model.add(Dense(10,activation='relu'))
model.add(Dense(10))
model.add(Dense(8))
model.add(Dense(2), ) # input col 2개 이므로 output도 2개

model.compile(loss='mse', optimizer='adam', metrics=['mse'])

model.fit(x_train, y_train, epochs=100, batch_size=1, validation_data=(x_val, y_val))
loss, mse = model.evaluate(x_test, y_test, batch_size=1)
print('acc : ', mse)

y_predict = model.predict(x_test)
print(y_predict)

def RMSE(y_test, y_predict):
    return np.sqrt(mean_squared_error(y_test, y_predict))
print('RMSE : ', RMSE(y_test, y_predict)) 

r2_y_predict = r2_score(y_test, y_predict)
print('R2 : ', r2_y_predict)

有这样的错误:

y_true and y_pred have different number of output (1!=2)

是什么导致了这个错误,我该如何解决?

标签: pythonmachine-learningperceptron

解决方案


推荐阅读