交易中的机器学习:理论、模型、实践和算法交易 - 页 2039

 
elibrarius:

你可以在火车或测试内部混合,但没有意义,你不能在火车和测试之间混合。你没有碰巧把它们混在一起,对于一个有考试的测试来说,这是一个非常好的结果。

我没有把它们混在一起,结果就是测试样本不是很好--召回率很小。

但洗牌是可以的,如果我们相信模式是稳定的,而且在样本的最后阶段没有减少。就在这里,文件可以在循环的帮助下形成,有些参数就是没有进入研究区。

 
Aleksey Vyazmikin:

我没有混合,结果就是测试样本不是很好--召回率很低。

但是,如果我们认为模式是稳定的,并且在样本结束时没有减少,那么洗牌是完全可能的。该文件可能是用一个循环来塑造的,有些参数只是没有进入测试区。

如果你把它混合起来,测试将立即改善 - 你会得到一个偷看,由相邻的酒吧。也就是说,一个柱子(10:00)进入了跟踪,相邻的柱子(10:01)进入了测试,而前一个柱子和目标柱子都非常相似。
 
elibrarius:
如果你把它混合起来,测试会立即改善--会有一个偷看,在相邻的酒吧。也就是说,一个小节(10:00)在追踪中,相邻的小节(10:01)在测试中,它们彼此非常相似,无论是在过去还是在目标中。

样本中的酒吧是否轮流?我根本不在每个柱子上进行训练,我只取信号,在这种情况下,我相信混合样本是可能的--它增加了要训练的信息量而不增加样本量,根据我的数据,这改善了测试样本。

 
Aleksey Vyazmikin:

样本中的条形图是一个一个地出现的吗?

我已经删除了该文件,请检查你自己的。我认为一个接一个地生成CSV文件是最合理的方式。

 
elibrarius:

我已经删除了该文件,请检查你自己的。我认为一个接一个地生成CSV文件是最合理的方式。

那里有一些东西--我不知道它是什么。

 2 6 0 4 2 6 57 57 100 100 -1
4 2 6 0 4 2 6 57 57 100 200 -1
4 2 6 0 4 2 6 57 57 100 300 -1
4 2 6 0 4 2 6 57 57 100 400 -1
4 2 6 0 4 2 6 57 57 100 500 -1
4 2 6 0 4 2 6 57 57 100 600 -1
4 2 6 0 4 2 6 57 57 100 700 -1
4 2 6 0 4 2 6 57 57 100 800 -1
4 2 6 0 4 2 6 57 57 100 900 -1
4 2 6 0 4 2 6 57 57 100 1000 -1
4 2 6 0 4 2 6 57 57 100 1100 -1
4 2 6 0 4 2 6 57 57 100 1200 -1
4 2 6 0 4 2 6 57 57 100 1300 -1
4 2 6 0 4 2 6 57 57 100 1400 -1
4 2 6 0 4 2 6 57 57 100 1500 -1
4 2 6 0 4 2 6 57 57 100 1600 -1
4 2 6 0 4 2 6 57 57 100 1700 -1
4 2 6 0 4 2 6 57 57 100 1800 -1
4 2 6 0 4 2 6 57 57 100 1900 -1
4 2 6 0 4 2 6 57 57 100 2000 -1
4 2 6 0 4 2 6 57 57 100 2100 -1
4 2 6 0 4 2 6 57 57 100 2200 -1
4 2 6 0 4 2 6 57 57 100 2300 -1
4 2 6 0 4 2 6 57 57 100 2400 -1
4 2 6 0 4 2 6 57 57 100 2500 -1
 
Aleksey Vyazmikin:

那里有一些东西--我不知道它是什么。

等待文件所有者的答复。
 
elibrarius:
等待文件主机的回音。

顺便说一下,我取了1%的样本并训练了C4.5树--它在训练和测试样本上给出了100%的识别率,所以我认为这是关于有序的循环,需要进行洗牌。但是我在MQL5中没有一个好的混合算法--我可以直接从测试样本和控制样本中抽出n行,从而形成一个测试样本--然后我又会在类平衡方面遇到一些运气,而循环在这里就不好说了。

 
Aleksey Vyazmikin:

只是我不在每个柱子上训练,我只取信号,在 这种情况下,我认为有可能混合样本--它增加了训练的信息量,而不增加样本量,根据我的数据,这可以改善考试样本。

也许你可以,但我不认为你应该把一些未来的东西扔到轨道上,在真正的交易中你不能这样做。让未来在训练和现实中都保持未知。
测试和考试,而且必须一直更好和更差。这很正常。最主要的是要站在有利的一面。
使用交叉验证(你可能有内置的),或者更好的是滚动式前进。

 
Aleksey Vyazmikin:

顺便说一下,我取了1%的样本并训练了C4.5树--它在训练和测试样本上给了我100%的识别率,所以我认为这是关于有序的循环,需要进行洗牌。但我在MQL5中没有好的混合算法--我可能只是从测试和控制样本中抽出n条线,从而形成一个测试样本--在类平衡方面我又要倒霉了,而且循环在这里也不好使。

这种味精可以和https://www.mql5.com/ru/blogs/post/735953,很好地混合。
Rand 0 ... Max Int с равномерным распределением
Rand 0 ... Max Int с равномерным распределением
  • www.mql5.com
Потребовалась функция ГСЧ с гнерацией числа Int от 0 до любого значения. Получилась такая функция. Думаю распределение получилось равномерным. На форуме посоветовали другую функцию из статьи. Отбросив лишнее, получилось: Сделал сравнение по скорости обоих функций, оригинальной из статьи и просто MathRand(): Оригинальная из статьи Rnd.Rand_01...
 
elibrarius:

也许你可以,但我不认为你应该把未来的一部分扔给受训者,在真正的交易中你不能这样做。让未来在训练中保持未知,因为它在现实中是未知的。
测试和考试,而且必须一直更好和更差。这很正常。最主要的是要站在有利的一面。
使用交叉验证(可能有一个内置的),甚至更好的是,告别者向前。

如果你不这样做,不像马克西姆那样做,从末端学习,我们最终会从非常过时的数据中学习,这不是好事。我不建议接触考试样本,但培训和控制样本,我想我们可以。然后,如果我们取得了稳定的性能,那么,知道了基本模型的设置,我们就可以更接近边缘的学习,在现实生活中应用这个模型。

我还没有解决交叉验证的问题--它需要在那里实现自动化,但我还没来得及做。

但蚕食测试--是的,这是正确的方法,但对我来说总是缺少历史,我在选择树叶时使用这种方法--即使在已经训练过的样本上也有最好的帮助,因为通常树叶的反应在整个样本上是不均匀的,我只需要稳定的树叶。

elibrarius:
这是一个很好的混合方式 https://www.mql5.com/ru/blogs/post/735953

顺便说一下,你有没有见过这样的生成器,它能从数组中随机生成一个没有重复的数字--这正是我需要的。

原因: