Есть ли способ построить несколько графиков с несколькими строками на каждом, используя matplotlib?Python

Программы на Python
Ответить
Anonymous
 Есть ли способ построить несколько графиков с несколькими строками на каждом, используя matplotlib?

Сообщение Anonymous »


Я пытаюсь построить кривые обучения для различных показателей, таких как потери при обучении и проверке, а также точность.

для lr в Learning_rates: opt = SGD (learning_rate = lr) model.compile(loss='categorical_crossentropy',оптимизатор=opt, metrics=['accuracy']) network = model.fit(x_train_subset, y_train_subset, epochs=iterations, Batch_size=32, validation_data=(X_test, y_test), подробный=1) train_loss_values ​​= network.history['потеря'] train_accuracy_values ​​= network.history['точность'] val_loss_values ​​= network.history['val_loss'] val_accuracy_values ​​= network.history['val_accuracy'] plt.plot(epochs, train_accuracy_values, label=f'LR = {lr}') plt.title('Точность обучения в разные эпохи для разных скоростей обучения') plt.xlabel('Эпохи') plt.ylabel('Точность обучения') plt.legend() plt.grid(Истина) plt.show() Это код, который у меня есть, и он работает именно так, как я хочу, для одного графика с точностью обучения в качестве метрики.

Вывод приведенного выше кода:


Изображение


Однако я хочу повторить это четыре раза для всех различных показателей, хранящихся в следующем коде:

train_loss_values ​​= network.history['loss'] train_accuracy_values ​​= network.history['точность'] val_loss_values ​​= network.history['val_loss'] val_accuracy_values ​​= network.history['val_accuracy'] Если я просто сделаю следующее, это не создаст 4 отдельных графика, а просто добавит все данные в один.

для lr в Learning_rates: opt = SGD (learning_rate = lr) model.compile(loss='categorical_crossentropy',оптимизатор=opt, metrics=['accuracy']) network = model.fit(x_train_subset, y_train_subset, epochs=iterations, Batch_size=32, validation_data=(X_test, y_test), подробный=1) train_loss_values ​​= network.history['потеря'] train_accuracy_values ​​= network.history['точность'] val_loss_values ​​= network.history['val_loss'] val_accuracy_values ​​= network.history['val_accuracy'] plt.plot(epochs, train_accuracy_values, label=f'LR = {lr}') plt.plot(epochs, train_loss_values, label=f'LR = {lr}') plt.plot(epochs, val_accuracy_values, label=f'LR = {lr}') plt.plot(epochs, val_loss_values, label=f'LR = {lr}') plt.title('Точность обучения в разные эпохи для разных скоростей обучения') plt.xlabel('Эпохи') plt.ylabel('Точность обучения') plt.legend() plt.grid(Истина) plt.show() Я спрашивал ChatGPT, и он всегда предлагал запустить всю нейронную сеть еще раз 4 раза, но я уже запускал ее один раз и собирал все нужные мне данные в списки. Мне просто нужно создать 4 отдельных графика.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»