質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

305閲覧

ニューラルネットの学習で,各エポック数のtrain・testのデータに加えて,検証用データの検証結果を加えたい

blackmk

総合スコア23

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/05/16 07:41

編集2022/01/12 10:55

現在,以下のように機械学習を行っております.

python

1 2#データセット作成 3import keras 4import numpy as np 5import sklearn.model_selection 6import sklearn.datasets 7 8#学習用,テスト用,評価用 9 10X_train = np.loadtxt('D:/dataset_2_X.csv' , delimiter = ",") 11Y_train = np.loadtxt('D:/dataset_2_Y.csv' , delimiter = ",") 12 13X_test = np.loadtxt('D:/dataset_1_X.csv' , delimiter = ",") 14Y_test = np.loadtxt('D:/dataset_1_Y.csv' , delimiter = ",") 15 16#こちらで読み込んだデータを未知データとして検証したいです 17#X_val = np.loadtxt('D:/dataset_3_X.csv' , delimiter = ",") 18#Y_val = np.loadtxt('D:/dataset_3_Y.csv' , delimiter = ",") 19 20#正規化 21def normalizer(A): 22 M = np.reshape(A , (len(A) , -1)) 23 M = M.astype('float32') 24 max = M.max(axis = 0) 25 min = M.min(axis = 0) 26 return (M - min) / (max - min) 27 28X_train = normalizer(X_train) 29X_test = normalizer(X_test) 30 31Y_train_logit = keras.utils.to_categorical(Y_train) 32Y_test_logit = keras.utils.to_categorical(Y_test)

python

1#モデルの構築 2import keras 3import tensorflow as tf 4from keras.models import Sequential 5from keras.layers import Dense , Activation 6 7#モデル 8m = tf.keras.models.Sequential([ 9 tf.keras.layers.Dense(units= 20, input_dim=len(X_train[0]), activation=tf.nn.relu), 10 tf.keras.layers.Dense(units=max(set(Y_train)) - min(set(Y_train)) + 1, activation=tf.nn.softmax) 11 12]) 13 14 15m.compile(loss='sparse_categorical_crossentropy', 16 optimizer='sgd', 17 metrics=['accuracy']) 18 19 20 21print(m.summary()) 22

python

1#学習と結果表示 2#この学習において,X_val,Y_valの値も検証したいです 3history = m.fit(X_train , Y_train ,epochs = 1000 , validation_data = (X_test ,Y_test)) 4 5import matplotlib.pyplot as plt 6import matplotlib 7acc = history.history["acc"] 8val_acc = history.history["val_acc"] 9loss = history.history["loss"] 10val_loss = history.history["val_loss"] 11 12epochs = range(1, len(acc) + 1) 13 14#plot accuracy 15plt.plot(epochs, acc, "b" , markersize = 1, label = "Training acc" ) 16plt.plot(epochs, val_acc, "r", markersize = 1, label = "Validation acc") 17plt.title("Accuracy_dataset1_2") 18plt.ylim([0,1]) 19plt.legend() 20plt.savefig("D:/acc_dataset_2_3.png") 21plt.close() 22 23#plot loss 24plt.plot(epochs, loss, "b", markersize = 1, label = "Training loss" ) 25plt.plot(epochs, val_loss, "r", markersize = 1, label = "Validation loss") 26plt.title("loss_dataset1") 27plt.ylim([0,1]) 28plt.legend() 29plt.savefig("D:/loss_dataset2_3.png") 30plt.close() 31

このとき,最初で定義しているX_val,Y_valを検証用データとして,各エポックごとにその正答率と損失値を求め,最後のグラフ表示にtrain,test,valの3本のグラフとして表示したいです.
fitの中で何か設定するのかと思い,kerasのfitの使い方のところを見ましたが,train,test以外にデータを設定できないようなので,困っております.どのようにすればよいのでしょうか?よろしくお願いします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

「学習曲線」と言います。

例えばこんな実装かと

学習曲線から過学習を検知 (機械学習、Python)

少し違うのであれば

「学習曲線 〇〇」 〇〇はあなたが得たいもののキーワード
等でググると近しいものが出てくるはずです。

投稿2020/09/29 03:57

aokikenichi

総合スコア2210

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問