if num_check_rows > r or num_check_rows == 0:
num_check_rows = r
model = tf.keras.models.Sequential()
model = tf.keras.models.load_model(flname)
model.summary()
for i in range(num_check_rows):
b = model.predict(test_data[i])
a = b[0]
x = a[0]
y = a[1]
x = format(x, '.5f')
y = format(y, '.5f')
print(f'ожидалось {test_verification[i]} >>> получили [{x} {y}]')
誓う
Model: "sequential_16"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
dense (Dense) (None, 20) 820
_________________________________________________________________
dropout (Dropout) (None, 20) 0
_________________________________________________________________
dense_1 (Dense) (None, 10) 210
_________________________________________________________________
dense_2 (Dense) (None, 2) 22
=================================================================
Total params: 1,052
Trainable params: 1,052
Non-trainable params: 0
_________________________________________________________________
Traceback (most recent call last):
File "M:/PythonProgs/PycharmProjects/NNets/ТестерНС.py", line 79, in <module>
b = model.predict(test_data[i])
.....
ValueError: Error when checking input: expected dense_input to have shape (40,) but got array with shape (1,)
右-間違った準備...。
どこで読めますか?何が重要で何が重要でないか、自分の感覚に従ってNS用のデータを準備します。
ひとつ不思議なのは、同じような データを「山ほど」集めるべきなのか、それとも「どんどん」追加していくべきなのか、ということです。
古いもの」と「新しいもの」、どちらからデータを集めるべきか?
右-間違った準備...。
どこで読めますか?何が重要で何が重要でないか、自分の感覚に従ってNS用のデータを準備します。
ひとつ不思議なのは、同じような データを「山ほど」集めるべきなのか、それとも「どんどん」追加していくべきなのか、ということです。
古い方」と「新しい方」、どちらからデータを集めるべきか?
MoDスレッドで質問すれば、誰かが答えてくれるでしょう。これはコネクタのトピックです
問題は、ノーマライゼーションが完全に失われていることです。
説明しよう。データA、B、C...があります。
意義などが異なるのです。みんな(google)、正規化は行単位ではなく列単位(A-A-A, B-B-B, C-C-C)で行うべきと言っています。これは論理的に理解できる。
しかし、「予測」のために新しいデータが現れたとき、それが1行だけの場合、どのように正規化するのでしょうか?そして、その行にあるどの項も、トレーニングデータとテストデータで正規化を超えることができるのですね。
また、文字列による正規化は何の効果もありません
実は、このニュアンスを確認した後に、こんな「魂の叫び」がありました ))))
正規化中に係数が保存されます。範囲外を避けるために、履歴の大きな塊をとって正規化し、この係数を新しいデータに適用する必要がある
正規化されていないデータでは、グリッドは学習しないか、学習能力が低い。それが彼らの本性です。の場合、正規化の際に係数が保持されます。範囲外を避けるために、履歴の大きな塊をとって正規化し、この係数を新しいデータに適用する必要がある
正規化されていないデータからは学習しないか、学習能力が低い。それが彼らの特異なところです。これらはすべて論理的で理解できるのですが、グリッドは訓練されているのです!それに、正規化されていないデータを使うと学習が複雑になるという情報もありますが、それは致命的なことではありません。
また、レンジの外に出ない方法は?例えば、価格があります。トレーニングデータとテストデータには価格の幅があり、123-324を取る。でも、値段は421円まで上がります。その同じ範囲にどのように収まるのか?
しかし、私たちは問題の核心から遠ざかっています。なぜ、通常のトレーニングとテストでは、予測はまったく何もないのでしょうか?
親愛なる皆様、またしても私のスキーが動きません...。助けてくださいということです。
私は、学習したネットワークの 予測をテストするために、小さなテスターをスケッチすることにしました。
ここは何も問題ない。
そして、次の瞬間には...
誓う
どうしたんですか?
しかし、「初心者向け」の記事を書いた人は、必ずと言っていいほど重要なことを忘れている...という残念な結論に至りました。
そしてここで、StandardScalerが ネットワークのティーチングに 使われていることが判明したのです。しかし、その内容や必要性については、記事には一言も書かれていない。
さらに、StandardScalerは標準化 です。さらに、1つの入力ベクトル、あるいはそれ以下でも同じ標準化を実現するにはどうしたらよいかを知りたい。
さらに悪いことに、「標準化」はデータセットのカラムによって行われるのです。いや、まあ、統計だけならそれでいいんですけどね。でも、予想では「○○ホール」なんですよね~。新しいデータが届いたとき、新しいデータを「標準化」の範囲に入れるためだけに、ネットワークの再トレーニングをしなければならないのでしょうか?
嘘つけ!
この「新しいネットワーク」が育成される頃には、すでに状況は一変しているかもしれません。だから、一体何が言いたいんだ?
Pythonに「研ぎ澄まされた」ライブラリがたくさんあるのはここまでか...。
私の考えを変えてくれるとありがたい。
P.S. Pythonにかけた時間を無駄にしなかったと信じたい。
しかし、「初心者向け」の記事を書いた人は、必ずと言っていいほど重要なことを忘れている...という残念な結論に至りました。
そしてここで、ネットワークのトレーニングにStandardScalerが 使われていることが判明しました。しかし、その内容や必要性については、記事には一言も書かれていない。
さらに、StandardScalerは標準化 である。さらに、1つの入力ベクトル、あるいはそれ以下でも同じ標準化を実現するにはどうしたらよいかを知りたい。
さらに悪いことに、「標準化」はデータセットのカラムによって行われるのです。いや、まあ、統計だけならそれでいいんですけどね。でも、予想では「○○ホール」なんですよね~。新しいデータが届いたとき、新しいデータを「標準化」の範囲に入れるためだけに、ネットワークの再トレーニングをしなければならないのでしょうか?
嘘つけ!
この「新しいネットワーク」が育成される頃には、すでに状況は一変しているかもしれません。だから、一体何が言いたいんだ?
Pythonに「研ぎ澄まされた」ライブラリがたくさんあるのはここまでか...。
考えを改めてくれればありがたいのですが。
P.S. Pythonにかけた時間を無駄にしなかったと信じたい。
(かろうじて聞き取れますが)))
しかし、今、私は別の質問をしています(そのために私はすべてを始めたのです)。
ネットワークを学習さ せたところ、次のような結果が得られました。
つまり、「結果オーライ」なのです。
テスターを起動しました。このような結果が得られました。
では、ネットワークが98%の正解率になるように学習されたことがわかる場所を正確に教えてください。
こんにちは、議論からいくつかのページを読んで、次の質問についての具体的な何かを見つけなかった。
- MetaTraderRやMetaTrader5のパッケージのように、MTとRの統合を行うものは現在あるのでしょうか?
乾杯
すみません、叙事詩の続きです・・・。)))
同じgoogleでもう少し知識を得てから、結論に至った。
この2つの条件を満たすことで、ネットワークの学習曲線が 顕著に短縮されました。さらに、私が見つけたのは
さらに、「ネットワークはどうあるべきか」という問題もありました。