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

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

新規登録して質問してみよう
ただいま回答率
85.49%
Python 3.x

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

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

2回答

713閲覧

kerasにおける判定結果の確認

kaitokimura

総合スコア59

Python 3.x

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

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2017/07/16 13:26

MacOS Sierra
Ver 10.12.1
python3.x

やりたいこと テスト画像が1枚1枚どのように判定されたのかをみたい。

トレーニング画像、バリデーション画像を与え学習させテスト画像を用いてevaluateを用いた結果
0.329492628574
1.0
という値が得られました。
これはテスト画像の損失値と予測精度が100パーセントということでしょうが
テスト画像1枚1枚がどのように分類されたか見たい場合どうすればよいのでしょうか??
例えば猫の画像と犬の画像でevaluateを用いてテストしたときに
0.329492628574
1.0
という値を得た場合、犬か猫に何パーセントの確率で判定されたというのが知りたいです。
お手柔らかにお願いいたします。

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

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

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

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

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

guest

回答2

0

model.evaluate() ではなくて、 model.predict()を使えばできますよ。

投稿2017/07/16 22:35

MasashiKimura

総合スコア1150

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

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

kaitokimura

2017/07/17 09:00

ありがとうございました。predictも試して見たいと思います。
guest

0

ベストアンサー

質問者様がどういうタスク(訓練画像の詳細等)で行われたのかを存じ上げませんので、直接的な回答になっていませんが、CIFAR-10を用いてこういった内容に関してQiitaで記事を書かせて頂きました。参考になれば幸いです。(宣伝みたいになってしまい申し訳ありません。)

Kerasを用いたCIFAR-10チュートリアル

私が講義で習った内容をまとめたものですが、confusion matrixのファイルが質問者様の求めるものになっているかと思います。もし記事の内容でご質問等あればコメントくだされば対応させていただきます。

ちなみに精度100%というのは(ほぼ)過学習を疑ったほうが良いかと思います。

以上参考になれば幸いです。

投稿2017/07/16 14:26

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

kaitokimura

2017/07/16 14:36 編集

回答ありがとうございます。 すみません現在外出中なので帰宅次第目を通させて頂きますが evaluateで100が出た場合ほとんどの場合過学習が起きているということでしたのでその点についてお聞きしたいのですが学習精度の推移(どの時点で過学習が起きているのか)はどうやってみることができますか??
退会済みユーザー

退会済みユーザー

2017/07/16 14:44 編集

できますよ。validation画像を与えているなら`model.fit`の学習の後`fit.history[`loss`]`, `fit.history['acc']`, `fit.history['val_loss']`, `fit.history['val_acc']`にそれぞれデータが保存されるので、`fit.history['val_loss']`が`fit.history['loss']とepochごとにプロットさせたときに増加に転じていないかを見ればいいです。プロットの仕方は上に上げた記事のコードを参照ください。あとは、[ハイパーパラメータをいじってグラフを見てみる](http://qiita.com/hiroyuki827/items/213146d551a6e2227810)にも過学習のグラフを簡単にですがまとめていますので、どうぞ。(記事の紹介みたいになってすいません。お役に立てば嬉しいのですが)
kaitokimura

2017/07/16 14:49

大変分かりやすくありがとうございます。 時間なのでまたあしたに渡ると思うのでよろしければお願いいたします。
kaitokimura

2017/07/16 16:02

大変申し訳ございませんリンク先のconfusion matrixについて目を通させていただきました。 これもこれで使えるので大変ありがたいのですが私のやりたいことはもっと初歩的なことといいますか 例えばcat1.png,cat2.png,dog1.pngこの3枚をevaluateで投げたとします。 この際欲しい情報がcat1.png=[0.73,0.27]判定結果:猫 cat2.png=[0.99,0.01]判定結果:猫 dog1.png=[0.34,0.66]判定結果:犬 的な情報が欲しいのですがこういった個別のファイルに対するパーセンテージを求めることは可能でしょうか?説明がわかりずらかったようですみませんでした。
退会済みユーザー

退会済みユーザー

2017/07/16 20:22 編集

少し考えてみたのですが、少し戸惑っています。 ひとまず(他のデータセットで申し訳ないのですが) CIFAR-10について次の記事にまとめてみました。[保存したモデルを用いて画像を分類してみる](http://qiita.com/hiroyuki827/items/e6914b9b85f7bfe55078)。記事ではテスト画像の分類と、任意の画像の分類についてまとめています。おそらく質問者様の3つの写真データをひとつにまとめることができれば、`X_test`の部分をそれに置き換えれば欲しいデータが得られると思います。(画像データをnumpy.arrayに変換するところで3つをくっつけることができれば可能だと思います。) まとまった答えになっていなくて申し訳ありません。以上参考になれば幸いです。
kaitokimura

2017/07/17 01:30 編集

とてもありがたいです。セーブしたモデルをロードして試して見た結果毎回同じ画像に対して同じ精度が出るのですがこれは正しいですか?誤っていますか? 例えばcat1.pngの結果分類されたものは猫です。精度は78.077525です。 cat2.pngでは分類されたものは猫です。精度は79.252750です。 これは実行されるたびに違う値が出るのではともう一度実行して見た結果 cat1.pngの結果分類されたものは猫です。精度は78.077525です。 cat2.pngでは分類されたものは猫です。精度は79.252750です。 見ての通り全く同じ判定がされました。 精度は実行されるたびに違う値がでるものではないのですか? それとも同じパラメータを使っているので同じ画像に対して同じ結果がでるのは必然ということでしょうか?
退会済みユーザー

退会済みユーザー

2017/07/17 06:19 編集

その結果は正しいと思います。保存したモデルには、学習後のウエイト等が保存されていますが、再度学習しない限り同じものですからね。 なおevaluateで精度1.0が得られているなら精度1.0で分類されることが期待されますが、実際は79%らしいので、これは過学習が起こっている印になりますね。 ...いかがでしょうか?
kaitokimura

2017/07/17 08:59 編集

全て丁寧に答えてくださってありがとうございます。 ソフトマックスの中身を配列として得ることができたり本当にたくさんのことを学ぶことができました。 またすぐ疑問点が出ると思いますのでその時はよろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2017/07/17 09:01 編集

いえいえ〜。私も勉強になりました。CIFAR-10のチュートリアルもQiitaで公開しているので、お時間あるときに実行されると良いかと思います。私も時間があるときに対応させていただきますね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問