トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 2903 1...289628972898289929002901290229032904290529062907290829092910...3399 新しいコメント Uladzimir Izerski 2023.01.14 12:45 #29021 vladavd #:この場合の新しいものとは、ジグザグとそれに沿った水路である。 これがすべてではありません。 許されるのは5%だけです。) lynxntech#: 最後の言葉とハンバーガーのようなものだ)自分を正当化するチャンスは常に与えなければならない。 なぜヒゲを剃った んだ、バカ 。 Elvin Nasirov 2023.01.15 21:20 #29022 やあ、みんな!どなたかアドバイスをお願いします。私は、"DecisionTreeClassifier "モデルを使用して、その日の通貨ペアの方向(上昇または下降)を予測しようとしています。予測には5つの予測変数のみを使用し、予測結果は上昇トレンド(1)または下降トレンド(-1)です。データセットサイズ:999行6列(データセットを添付)。しかし、"max_depth "を増加させると、トレーニング・サンプルとテスト・サンプルの精度が同時に増加し続けるという問題が発生しました。テストサンプルの精度は成長が止まり、max_depth=22で 一定となり、 0.780000に等しくなります。max_depthの異なる値での結果:1) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=3) トレーニングセットでの精度: 0.539424 テストセットでの精度: 0.565000 2) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=5)トレーニングセットでの精度: 0.579474 テストセットでの精度: 0.5850003) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=7)トレーニングセットでの精度: 0.637046 テストセットでの精度: 0.6400004) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=9) トレーニングセットでの 精度: 0.667084 テストセットでの精度: 0.7000005) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=11) トレーニングセットでの精度: 0.700876 テストセットでの精度: 0.7100006) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=13)トレーニングセットでの精度: 0.720901 テストセットでの精度: 0.720000 7) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=15)トレーニングセットでの精度: 0.734668 テストセットでの精度: 0.7400008) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=17) トレーニングセットでの精度: 0.747184 テストセットでの精度: 0.7600009) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=19)トレーニングセットでの精度: 0.755945 テストセットでの精度: 0.765000 10) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=22)トレーニングセットでの精度: 0.760951 テストセットでの精度: 0.780000 リトレーニングが可能なので、max_depthを 3-4以上使ってはいけないと聞いたことがあるので、この状況に非常に困惑しています。しかし、再学習時にモデルがこのような振る舞いをするのでしょうか? 。 このような状況で、どのような深さの決定木を選択するのか、どのようなモデルを選択するのか、また、一般的に、この方向でさらに作業する価値があるのか、何かが欠けているのか(しかし、例えば、データセットは100行ではありません)、予測子を追加することが可能なのか、また、このようなデータセットのサイズで、さらにいくつ追加できるのか(私なら、さらに2-5個追加します)、理解できません。コードは簡単なので、データセットと一緒に添付します: ファイル: df_mql5.csv 32 kb 1y0ati_o0zr2d_2023-01-16_q_00.09.49.png 228 kb Machine learning in trading: Dependency statistics in quotes 引用における依存性統計(情報理論、相関などの特徴選択法) Aleksey Vyazmikin 2023.01.15 22:06 #29023 Elvin Nasirov #: というのも、再学習が可能なので、max_depthを 3-4以上使ってはいけないと聞いたからです。 。 このような状況で、どのような深さの決定木を選択するのか、どのようなモデルを選択するのか、また、一般的に、この方向でさらに作業する価値があるのか、何かが欠けているのか(しかし、データセットが100行ではないなど)、予測子をさらに追加することが可能なのか、また、このようなデータセットのサイズでさらにいくつ追加できるのか(私なら2-5個追加します)、理解できません。コードは簡単なので、データセットと一緒に添付します: こんにちは。 分割数が増える - メモリが増える = サンプルを学習するリスクが増える。 私はpythonに精通しているわけではありませんが: 1.ミキシングせずにサンプルを分割してみる。 2.2.やはり、縮小されたサンプルではなく、サンプル全体で学習しているようだ。 Elvin Nasirov 2023.01.15 22:27 #29024 Aleksey Vyazmikin #:こんにちは。スプリットの数が多いほど、メモリが多いほど、サンプルを学習するリスクが高くなる。私はpythonに精通していませんが:1.ミキシングせずにサンプルを分割してみる。2.縮小したサンプルではなく、サンプル全体を使ってトレーニングしているようですね。 ありがとうございます!その通りだと思います。 上のコードの "clf_20.fit(X, y) "を "clf_20.fit(X_train, y_train) "に置き換えてみたところ、ほぼ半々くらいになりました。 Aleksey Vyazmikin 2023.01.15 22:32 #29025 Elvin Nasirov #:ありがとう!その通りだと思う。上のコードの "clf_20.fit(X, y) "を "clf_20.fit(X_train, y_train) "に置き換えてみたところ、ほぼ半々になりました。 このような結果が出るのは普通のことだ。あまりに良い結果は、常にコードのバグを探し始める理由となる。 Elvin Nasirov 2023.01.15 22:46 #29026 Aleksey Vyazmikin #:このような結果が出るのは普通のことだ。あまりに良い結果は、常にコードのバグを探し始める理由となる。 もうひとつ質問があります。 最高の結果はmax_depth=1で達成され、以下のようになります: トレーニングセットでの精度:0.515021 テストセットでの精度:0.503333 これは非常に悪い結果で、コインを裏返す確率に等しい。それとも、これは良い結果であり、FXの動きの確率と結果の確率をコインをはじく確率で平準化できる定式化を見つけたと結論づけることができるだろうか? つまり、予測変数の各組み合わせに対して、市場の動きには上か下かという2つの等価なバリエーションがあるような状況であり、したがって、現在の組み合わせでも上か下かを指定できるようなものでデータセットを補完する必要がある。 Aleksey Vyazmikin 2023.01.15 23:03 #29027 Elvin Nasirov #:もうひとつ質問がある。最良の結果はmax_depth=1で達成され、次のようになることが判明した:トレーニングセットでの精度:0.515021 テストセットでの精度:0.503333これは非常に悪い結果で、コインを裏返す確率に等しい。それとも、これは良い結果であり、FXの動きの確率とコインの裏返しの確率を平準化できる定式化を見つけたと結論づけることができるでしょうか? つまり、予測変数の各組み合わせに対して、市場の動きには上か下かという2つの等価なバリエーションがあるような状況であり、したがって、現在の組み合わせでも上か下かを特定できるようなものでデータセットを補完する必要がある。 トレーニングの結果を評価するための他のメトリクス、Recall (完全性)とPrecision (正確性)について最初に読んでください。戦略は、正しい結果と正しくない結果が同じ確率で、分類にプラスの財務結果をもたらすことかもしれません。 より複雑だが論理的な目標マークアップを考えてみよう。一日の始値に対して終値がどうなるかを判断することは、その日の始値に対して何%かの上昇と下落の確率を判断することよりも難しい - 日中パターンを特定する確率がある。 私にとっては、サンプルが少なすぎる。 市場を説明できる予測因子を作ることを考える。私の考えでは、予測因子の指標から、チャートを見ずにチャート上の状況を復元することができるはずです。 トレーニングのためにCatBoostを試してみることをお勧めします。CatBoostは素早くモデルを構築し、MT5で松葉杖なしで動作するようにモデルをコードに転送する問題が解決されます。 Forester 2023.01.16 07:24 #29028 Elvin Nasirov #:max_depth=1のときに最良の結果が得られることがわかり、以下のようになる:トレーニングセットでの精度:0.515021 テストセットでの精度:0.503333 また、最良の結果がdepth=1であることもよく見かけますが、これは1つの特徴に対して1つの分割しか行われていないことを意味します。これ以上ツリーを分割すると、トレーニングでオーバートレーニングになり、テストでは結果が悪くなります。 Elvin Nasirov 2023.01.16 07:35 #29029 elibrarius #:また、最良の結果が深さ=1であることもよく見かけますが、これは特徴の1つに対して1つの分割しか行われていないことを意味します。これ以上ツリーを分割すると、トレーニングがやり直しになり、テスト結果が悪化します。 昨日結果をチェックしたところ、すべてのケースでモデルは平均して "1 "の予測を与え、したがって半々であることが判明した。このモデルはなくても大丈夫だ。 mytarmailS 2023.01.18 08:23 #29030 プロのプロトレーダーとしての取引 https://youtu.be/RS9jRVmW1j4 私の理解では、サポート・レベルとレジスタンス・レベルとはこういうものだ。 すべての人が理解できるわけではないが、もし理解できたとしたら、それは称賛に値する...。 EARNING SEASON KICKS OFF - Trading Futures Live 2023.01.13www.youtube.com Join our FREE Discord community https://discord.gg/zhvUwUUhFirst 5 days of January bullish were followed by Full-year gains 83% of the time since 1950.Earnin... 1...289628972898289929002901290229032904290529062907290829092910...3399 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
この場合の新しいものとは、ジグザグとそれに沿った水路である。
これがすべてではありません。
許されるのは5%だけです。)
最後の言葉とハンバーガーのようなものだ)
自分を正当化するチャンスは常に与えなければならない。
やあ、みんな!
どなたかアドバイスをお願いします。私は、"DecisionTreeClassifier "モデルを使用して、その日の通貨ペアの方向(上昇または下降)を予測しようとしています。
予測には5つの予測変数のみを使用し、予測結果は上昇トレンド(1)または下降トレンド(-1)です。データセットサイズ:999行6列(データセットを添付)。
しかし、"max_depth "を増加させると、トレーニング・サンプルとテスト・サンプルの精度が同時に増加し続けるという問題が発生しました。テストサンプルの精度は成長が止まり、max_depth=22で 一定となり、 0.780000に等しくなります。max_depthの異なる値での結果:
1) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=3)
トレーニングセットでの精度: 0.539424 テストセットでの精度: 0.565000
2) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=5)
トレーニングセットでの精度: 0.579474 テストセットでの精度: 0.585000
3) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=7)
トレーニングセットでの精度: 0.637046 テストセットでの精度: 0.640000
4) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=9)
トレーニングセットでの 精度: 0.667084 テストセットでの精度: 0.700000
5) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=11)
トレーニングセットでの精度: 0.700876 テストセットでの精度: 0.710000
6) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=13)
トレーニングセットでの精度: 0.720901 テストセットでの精度: 0.720000
7) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=15)
トレーニングセットでの精度: 0.734668 テストセットでの精度: 0.740000
8) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=17)
トレーニングセットでの精度: 0.747184 テストセットでの精度: 0.760000
9) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=19)
トレーニングセットでの精度: 0.755945 テストセットでの精度: 0.765000
10) clf_20=DecisionTreeClassifier(criterion='entropy', max_depth=22)
トレーニングセットでの精度: 0.760951 テストセットでの精度: 0.780000
リトレーニングが可能なので、max_depthを 3-4以上使ってはいけないと聞いたことがあるので、この状況に非常に困惑しています。しかし、再学習時にモデルがこのような振る舞いをするのでしょうか? 。このような状況で、どのような深さの決定木を選択するのか、どのようなモデルを選択するのか、また、一般的に、この方向でさらに作業する価値があるのか、何かが欠けているのか(しかし、例えば、データセットは100行ではありません)、予測子を追加することが可能なのか、また、このようなデータセットのサイズで、さらにいくつ追加できるのか(私なら、さらに2-5個追加します)、理解できません。
コードは簡単なので、データセットと一緒に添付します:
このような状況で、どのような深さの決定木を選択するのか、どのようなモデルを選択するのか、また、一般的に、この方向でさらに作業する価値があるのか、何かが欠けているのか(しかし、データセットが100行ではないなど)、予測子をさらに追加することが可能なのか、また、このようなデータセットのサイズでさらにいくつ追加できるのか(私なら2-5個追加します)、理解できません。
コードは簡単なので、データセットと一緒に添付します:
こんにちは。
分割数が増える - メモリが増える = サンプルを学習するリスクが増える。
私はpythonに精通しているわけではありませんが:
1.ミキシングせずにサンプルを分割してみる。
2.2.やはり、縮小されたサンプルではなく、サンプル全体で学習しているようだ。
こんにちは。
スプリットの数が多いほど、メモリが多いほど、サンプルを学習するリスクが高くなる。
私はpythonに精通していませんが:
1.ミキシングせずにサンプルを分割してみる。
2.縮小したサンプルではなく、サンプル全体を使ってトレーニングしているようですね。
ありがとうございます!その通りだと思います。
上のコードの "clf_20.fit(X, y) "を "clf_20.fit(X_train, y_train) "に置き換えてみたところ、ほぼ半々くらいになりました。
ありがとう!その通りだと思う。
上のコードの "clf_20.fit(X, y) "を "clf_20.fit(X_train, y_train) "に置き換えてみたところ、ほぼ半々になりました。
このような結果が出るのは普通のことだ。あまりに良い結果は、常にコードのバグを探し始める理由となる。
このような結果が出るのは普通のことだ。あまりに良い結果は、常にコードのバグを探し始める理由となる。
もうひとつ質問があります。
最高の結果はmax_depth=1で達成され、以下のようになります:
トレーニングセットでの精度:0.515021 テストセットでの精度:0.503333
これは非常に悪い結果で、コインを裏返す確率に等しい。それとも、これは良い結果であり、FXの動きの確率と結果の確率をコインをはじく確率で平準化できる定式化を見つけたと結論づけることができるだろうか?
つまり、予測変数の各組み合わせに対して、市場の動きには上か下かという2つの等価なバリエーションがあるような状況であり、したがって、現在の組み合わせでも上か下かを指定できるようなものでデータセットを補完する必要がある。
もうひとつ質問がある。
最良の結果はmax_depth=1で達成され、次のようになることが判明した:
トレーニングセットでの精度:0.515021 テストセットでの精度:0.503333
これは非常に悪い結果で、コインを裏返す確率に等しい。それとも、これは良い結果であり、FXの動きの確率とコインの裏返しの確率を平準化できる定式化を見つけたと結論づけることができるでしょうか?
つまり、予測変数の各組み合わせに対して、市場の動きには上か下かという2つの等価なバリエーションがあるような状況であり、したがって、現在の組み合わせでも上か下かを特定できるようなものでデータセットを補完する必要がある。
トレーニングの結果を評価するための他のメトリクス、Recall (完全性)とPrecision (正確性)について最初に読んでください。戦略は、正しい結果と正しくない結果が同じ確率で、分類にプラスの財務結果をもたらすことかもしれません。
より複雑だが論理的な目標マークアップを考えてみよう。一日の始値に対して終値がどうなるかを判断することは、その日の始値に対して何%かの上昇と下落の確率を判断することよりも難しい - 日中パターンを特定する確率がある。
私にとっては、サンプルが少なすぎる。
市場を説明できる予測因子を作ることを考える。私の考えでは、予測因子の指標から、チャートを見ずにチャート上の状況を復元することができるはずです。
トレーニングのためにCatBoostを試してみることをお勧めします。CatBoostは素早くモデルを構築し、MT5で松葉杖なしで動作するようにモデルをコードに転送する問題が解決されます。
max_depth=1のときに最良の結果が得られることがわかり、以下のようになる:
トレーニングセットでの精度:0.515021 テストセットでの精度:0.503333
また、最良の結果がdepth=1であることもよく見かけますが、これは1つの特徴に対して1つの分割しか行われていないことを意味します。これ以上ツリーを分割すると、トレーニングでオーバートレーニングになり、テストでは結果が悪くなります。
また、最良の結果が深さ=1であることもよく見かけますが、これは特徴の1つに対して1つの分割しか行われていないことを意味します。これ以上ツリーを分割すると、トレーニングがやり直しになり、テスト結果が悪化します。
昨日結果をチェックしたところ、すべてのケースでモデルは平均して "1 "の予測を与え、したがって半々であることが判明した。このモデルはなくても大丈夫だ。
私の理解では、サポート・レベルとレジスタンス・レベルとはこういうものだ。
すべての人が理解できるわけではないが、もし理解できたとしたら、それは称賛に値する...。