首页 > 解决方案 > 绘制完全对一的损失函数

问题描述

当我绘制代码的损失函数时,我得到了一个很好的损失图。如果我想绘制1-hist.history['loss'],我该怎么做?我的部分代码:

model = Sequential([
    Dense(32, activation='relu', input_shape=(2,)),
    Dense(32, activation='relu'),
    Dense(1, activation='relu'), ])

model.compile(optimizer='sgd',
             loss='mean_squared_error')

hist = model.fit(X_train, Y_train,
                 batch_size=32, epochs=100,
                 validation_data=(X_val, Y_val))

A = model.evaluate(X_test, Y_test)[1]
print(A)  

plt.plot(hist.history['loss'])
plt.plot(hist.history['val_loss'])
plt.title('Model loss')
plt.ylabel('Loss')
plt.xlabel('Epoch')
plt.legend(['Train', 'Val'], loc='upper right')
plt.savefig("loss.png")  # Save the plot of loss function
plt.clf()

在这部分代码中:plt.plot(hist.history['loss'])我想将其更改为完成为 1 的数字。

有没有办法做到这一点?

标签: pythonmatplotlibplotneural-networkloss-function

解决方案


以防万一hist是熊猫数据框:

complete_to_one = 1 - hist.history['loss'])
plt.plot(complete_to_one)

推荐阅读