gpt4 book ai didi

python - 我如何使用 Mean_Squared_Error (Keras) 知道我的神经网络是否表现良好

转载 作者:行者123 更新时间:2023-12-01 00:06:29 24 4
gpt4 key购买 nike

我正在使用 Keras,我正在尝试构建一个神经网络来预测给定数据的利率。数据如下所示:

    loan_amnt   annual_inc  emp_length  int_rate
10000 38000.0 5.600882 12.40
13750 17808.0 5.600882 28.80
26100 68000.0 10.000000 20.00
13000 30000.0 1.000000 20.00
7000 79950.0 7.000000 7.02

特征 (X) 是 loan_amntannual_incemp_length 。目标 (y) 是 int_rate

这是我的过程以及标准化数据后我所做的事情:

      #Building out model
model = Sequential([
Dense(9, activation='relu', input_shape=(3,)),
Dense(3, activation='relu'),
Dense(1, activation='linear'),
])

#Compiling model
model.compile(loss='mean_absolute_percentage_error',
metrics=['mse'],
optimizer='RMSprop')

hist = model.fit(X_train, Y_train,
batch_size=100, epochs=20, verbose=1)

这是运行 model.fit() 后的输出示例:

    Epoch 1/20
693/693 [==============================] - 1s 905us/step - loss: 96.2391 - mean_squared_error:
179.8007
Epoch 2/20
693/693 [==============================] - 0s 21us/step - loss: 95.2362 - mean_squared_error:
176.9865
Epoch 3/20
693/693 [==============================] - 0s 20us/step - loss: 94.4133 - mean_squared_error:
174.6367

最后,评估模型model.evaluate(X_train, Y_train)并得到以下输出:

      693/693 [==============================] - 0s 372us/step
[77.88501817667468, 132.0109032635049]

问题是,我如何知道我的模型表现是否良好,以及如何读取这些数字?

最佳答案

您正在使用 MSE 损失的变体,其定义为:

MSE = 均值((y_true - y_pred)^2)

因此,当您将 132. 作为 MSE 指标时,您实际上会得到 sqrt(132.)~= 11,5 与 y_true 之间的平均差值和 y_pred。这对您的数据来说相当大,正如 MSPE 损失所示,您的数据大约有 78% 的错误。

例如,如果 y_true 为 20,您可以预测 36 或 4。类似的事情。

当 MSPE 为 10% 时,您可以说您的错误是好的。取决于你的情况

关于python - 我如何使用 Mean_Squared_Error (Keras) 知道我的神经网络是否表现良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59944731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com