TFの勉強をしています。
チュートリアルに則り、
https://www.tensorflow.org/tutorials/keras/text_classification?hl=ja
をトレースしています。
最終的に予測値(0 or 1)を出力するにあたり、
nはサンプル番号として、
model.predict(partial_x_train)[n] とか、
model.predict(partial_x_train[n]) とかで出るように思えるのですが、
配列が出てきてしまいます。
この配列をどうにか処理したら0 or 1になると思うのですが、よくわかりません。
よろしくお願い致します。
>配列が出てきてしまいます。
とありますが、具体的にどんな配列が出力されるのでしょうか?
>この配列をどうにか処理したら0 or 1になると思うのですが、よくわかりません。
具体的に、質問者さんはどういう出力を得たいと思っているのでしょうか?
回答ありがとうございます。
>>具体的にどんな配列が出力されるのでしょうか?
[[6.5414987e-15]
[3.0061603e-04]
[5.8463514e-03]
[3.0522831e-05]
[0.0000000e+00]
[0.0000000e+00]
[0.0000000e+00]
[1.0000000e+00]
[9.9848169e-01]
[2.3299783e-05]
[7.1508127e-01]
[1.0000000e+00]
[9.9848169e-01]
[7.5492764e-08]
[1.8361345e-05]
[9.9846405e-01]
[1.0000000e+00]
[1.7488294e-19]
[3.5529952e-32]
[9.9848169e-01]
[1.0316495e-37]
[0.0000000e+00]
[2.6193261e-04]
[1.7978909e-12]
[9.9998057e-01]
[9.9920094e-01]
[1.1961475e-11]
[7.9319025e-14]
[1.0000000e+00]
[9.9999893e-01]
[1.0290895e-05]
[1.0000000e+00]
[1.1205060e-24]
[3.6999881e-03]
[1.0000000e+00]
[1.0000000e+00]
[1.0000000e+00]
[1.1032738e-15]
[5.5212504e-01]
[5.5212504e-01](以下、同値)
>>具体的に、質問者さんはどういう出力を得たいと思っているのでしょうか?
0 or 1 です。
2値問題のため、データに対するラベルは0 or 1が用意されており、それで訓練してあります。なので、ある1つのデータを入力したpredict結果は、0 or 1もしくはその間のスカラー値が出力されるべきかと思うのですが、私の理解が違うのでしょうか?
戻り値として、入力データと同サイズの配列が出力されています。
例えばこれを足し合わせて、要素数で割ったものが、0 or 1に相当するものなのでしょうか?
その場合、
n=サンプル番号
preds=model.predict(partial_x_train[n]).sum()/len(preds)
がそれに相当するものと思いますが(違っていたらご指摘下さい)、
各サンプルで、0.5付近の値になり、
正答率(accuracy)が87%と謳っているにもかかわらず、全然あっていません。
処理の仕方がおかしいのでしょうか?
回答2件
あなたの回答
tips
プレビュー