回答編集履歴

1

s

2020/01/22 11:39

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -5,3 +5,55 @@
5
5
  結果の精度とは学習データに対する精度でしょうか?
6
6
 
7
7
  学習に使用していないテストデータに対する精度がよいかどうかで判断しましょう。
8
+
9
+
10
+
11
+ ## 追記
12
+
13
+
14
+
15
+ > url場だと、women,dog,cat,lionの4種類で行っていて
16
+
17
+ 私自身は三種で行っていますが問題はないかもしお分かりであれば教えてください
18
+
19
+
20
+
21
+ 学習する上で問題はないですが、冗長なので、以下のは3クラスに合わせて変更したほうがよいと思います。
22
+
23
+
24
+
25
+ ```diff
26
+
27
+ - Y = np_utils.to_categorical(Y, 4)
28
+
29
+ + Y = np_utils.to_categorical(Y, 3)
30
+
31
+ ```
32
+
33
+
34
+
35
+ ```diff
36
+
37
+ - model.add(Dense(4))
38
+
39
+ + model.add(Dense(3))
40
+
41
+ ```
42
+
43
+
44
+
45
+ > 最後のほうに訓練データでは98%をいっていましたが、結果が70%という非常に悪い成績になりました。
46
+
47
+ > とあるのですが訓練データ98と結果70の違いがわかりません。教えていただけませんでしょうか
48
+
49
+
50
+
51
+ 訓練データに対する精度が98%でテストデータに対する精度が70%だったということを言っています。
52
+
53
+ 学習に使用したデータに対する精度が高いのは当たり前で、汎化性能を見るにはテストデータに対する精度を見る必要があります。
54
+
55
+ 例えば、テスト勉強したとして、勉強したのと全く同じ問題が出たら、できて当たり前ですよね。
56
+
57
+
58
+
59
+ 今回、100%に近いということで訓練データで出した値なのではないかと疑ったのですが、`print(model.evaluate(X_test, y_test))` で出てきた値なら、単に性能がいいモデルができたということだと思います。