回答編集履歴

1

情報追加

2019/01/29 07:52

投稿

redp
redp

score0

test CHANGED
@@ -3,37 +3,3 @@
3
3
  load_dataメソッドの引数に、trainかtestを文字列で渡すことによって、訓練用のデータかテスト用のデータを返すようにしているため、テストデータを読み込むためにload_data('test')としています。
4
4
 
5
5
  よって訓練データのときには、load_data('train')を使っていると思います。
6
-
7
-
8
-
9
- # 追記
10
-
11
- 仕様を理解しないまま解答してしまいすいません。ここで補足いたします。
12
-
13
- 著者作のDatasetクラスはコンストラクタでtrain_fileとtest_fileのファイル名を指定するようになっています。よって、テスト用データとしてval.txtのデータを使いたかったから
14
-
15
- ```
16
-
17
- ds = dataset.Dataset(test_file='val.txt', classes=classes)
18
-
19
- ```
20
-
21
- このようなインスタンス化をしています。
22
-
23
- 実際に丁寧な書き方をすると、
24
-
25
- ```
26
-
27
- ds = dataset.Dataset(train_file='train.txt', test_file='val.txt', classes=classes)
28
-
29
- ```
30
-
31
- このようになるのですが、load_dataメソッドを見るとload_data('train')と指定すると上記のtrain_fileに指定されたファイルのデータ、ここでは'train.txt'のデータが読み込まれ、返されます。
32
-
33
- また、'train'以外の文字列(なんでもいいのですが、記事では)load_data('test')とするとコンストラクタの引数test_fileに指定した'val.txt'が読み込まれ、返されます。
34
-
35
-
36
-
37
- 冗長になりましたが、結論としましてはdsを作成する際の引数にtest_file='val.txt'と指定したためval.txt内のデータが返され予測に使われたということです。
38
-
39
- よって、test_fileに'test.txt'と入れればtest.txt内のデータが使われると思います。