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

 
马克西姆-德米特里耶夫斯基

在我的第一篇文章中,通过二进制 "快速 "保存和加载。 在第二篇文章中,通过反序列化缓慢加载,保存速度似乎没有受到影响。


也许那里的文件很小。但如果你说的是300Mb,可能会有一个明显的区别。

 
elibrarius

也许有小文件。如果你说的是300mb,可能会有明显的区别。

如果你在ANSI中保存,它是unicode的一半。在我看来,森林结构中的直接负载是可以获得的,我不知道还能怎样更快。

至少它现在更快,就像第一条中所说的,我现在对它很满意。

int setRDF=FileOpen("RDFBufsize"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_bufsize=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFNclasses"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_nclasses=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFNtrees"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_ntrees=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFNvars"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_nvars=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFMtrees"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_BIN|FILE_ANSI|FILE_COMMON);
      FileReadArray(setRDF,RDF.m_trees);
      FileClose(setRDF);

最后一个是最重的,你必须在二进制中写/读。

 
Maxim Dmitrievsky:

如果你在ANSI中保存,它是unicode的一半。在我看来,森林结构中的直接负载是可以获得的,我不知道还能怎样更快。

至少它现在更快,就像第一条中所说的,我现在对它很满意。

最后--最重的,这是写/读二进制文件所必需的。

这或多或少是我的想象)
,但它在二进制中应该更快,文件大小 也更小。而如果在保存前将数据数组转换为浮点数,那么大小将变小2倍。
但我还不明白为什么会有这种效果。

setRDF=FileOpen("RDFMtrees"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_BIN|FILE_ANSI|FILE_COMMON);

你读和写二进制数据到文本文件。而在这之前,它是以文本形式写的。MQL似乎能够以某种方式结合这些功能。这样做会更符合逻辑

FILE_READ|FILE_WRITE|FILE_BIN|FILE_COMMON
保存并阅读。
 
elibrarius

这或多或少是我的想象)
但二进制文件应该更快,文件大小也会小很多倍。而如果我们在保存前将数据数组转换为浮点数,那么大小就会变小2倍。
但我还不明白为什么会有这种效果。

你把二进制数据读入文本文件。但在这之前,它被写成了文本。MQL似乎能够以某种方式结合这些功能。这样做会更符合逻辑

保存并阅读。

这里的扩展名并不重要,你可以使用任何扩展名。最主要的是|FILE_BIN 标志。

 
马克西姆-德米特里耶夫斯基

这里的扩展名并不重要,你可以使用任何扩展名。最主要的是标志|FILE_BIN

我还没有注意到不同的文件名。你可以把它们都保存在一起。
 
elibrarius
啊--没有注意到文件名是不同的。你可以把一切都保存在一个。

可以在1,其他的对性能几乎没有影响,只有最后一个有森林结构,最重的。其余的人都在那里,只有一个任期

 
马克西姆-德米特里耶夫斯基

可以在1,其他的对性能几乎没有影响,只有最后一个有森林结构,最重的。其余的人都在那里,只有一个任期

那么你就会在这堆文件中感到困惑)
而且1个文件对应1个模型更方便
 
埃利布留斯
那么你就会在这堆文件中感到困惑)
而且1个文件对应1个模型更方便。

嗯,是的,其他文件很简单:树的数量、特征的数量、类的数量和样本的数量。如果你事先知道它们,你甚至不需要保存它们。我只是把默认的东西放进去,只保存有分裂的结构,好吧,还是算样本不一样。

 
elibrarius

没有时间--这是事实。即使是阅读论坛也会分散注意力,无法做更多有用的事情。你还说要准备发行...这是一个几个小时的时间,使其全部正确,并提供和解释,然后要求支持))。

你是一个程序员--作为一个程序员,当清楚什么和为什么的时候,我就会更舒服。进入代码。你可以在几个小时内搞清楚建树的功能,并把对样本数量的限制和你想要的东西塞进它。

消失的是要做的过多的预测器。

我不是一个程序员,所以与代码打交道需要花费很多精力,但总的来说,我理解这个立场。

 
阿列克谢-维亚兹米 金。

我不是一个程序员,所以与代码打交道需要花费很多精力,但总的来说,这个立场是可以理解的。

不要觉得太糟糕)。事实上,你有5个产品(也许你没有写?)和大量的信号(可能来自你自己的专家顾问),这使你能够依靠外汇利润生活。

我还在寻找,靠别的东西生活。