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

 

Mihail Marchukajtes:

马克西姆卡在树林里纠缠不清,还是找不到出路?商业....

我承认我已经很久没有来这里了,所有的业务和担忧....。但我决定来这里。可以说是签到了 :-)顺便说一下....

没有什么地方是不可以的。曾经的 "石头人 "马克西姆卡,现在的 "半吊子 "马克西姆卡))


[删除]  
蜴_

没有什么地方是不可以的。曾经的 "石头人 "马克西姆卡,现在的 "半吊子 "马克西姆卡)。


你只是生活中的一个好日子,你不改变你的身份

秘密女孩
 
马克西姆-德米特里耶夫斯基

好吧,你只是鹿的生活中的一个好日子,你不改变你的身份

秘密女孩

哦,老师))))这和 "模型 "是一样的。鹿在哪里,女孩在哪里,0在哪里。
和1...没有定义,都在一堆)))搞笑......。

[删除]  
Vizard_

哦,老师))))模型也是如此。鹿在哪里,女孩在哪里,0在哪里。
和1...看不出来,都在一堆)))搞笑......

我花了很长时间考虑如何回复,超过10分钟......我一定是在准备,准备截图,担心......

我明白了,你需要从一堆垃圾中重生,做出一个壮观的外观,然后你感觉很好))。

好了,欢迎回来 ))))

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

学习速度很好,使用时的反应时间和结构的下载时间很差,因为森林文件很大。我曾有过高达300MB的数据。

序列化有问题。森林的训练和保存速度比从文件加载回来的速度快。

如果它说森林现在生成的文件少了几个数量级,这就是一个非常大的加速。

相反,NS的训练时间较长,但反应是即时的。分类的质量没有差别。你可以使用任何东西,但森林出了问题,NS需要调整。


在升级的描述中写到的所有关于森林的内容。
改进的随机森林构建算法,比以前的版本快2倍到10倍,产生的森林数量级更小。

旧版本的数据结构 如下

//---- 节点信息。

//---- W[K+0] ----- 变量编号(-1为叶子模式)
//---- W[K+1] ----阈值(叶节点的类/值)。
//---- W[K+2] - ">="分支索引(叶节点没有)。

这个新的节点为一个节点存储同样的3个变量,为一个叶子存储2个变量。
而树是以完全相同的方式建立的--直到最后一个例子,错误为0。我没有看到任何修剪。
我在代码的评论中看到的唯一关于加速的内容是
拆分强度--拆分类型。
* 0 = 在随机位置分裂,最快的一个
* 1 = 在范围的中间位置分割
* 2 = 在范围的最佳点进行强拆(默认)。

看起来,随机拆分的结果是2-10倍的速度和更好的拆分点,这反过来可能会导致更紧凑的树。

你可以只在分区功能中加入随机选点。编辑在2-3行))

[删除]  
elibrarius

我不太懂英语。
所有它说的是森林。
改进的随机森林构建算法,比以前的版本快2倍到10倍,产生的森林数量级更小。

在旧版本中,数据结构 是这样的。

//---- 节点信息。

//---- W[K+0] ----- 变量编号(-1为叶子模式)
//---- W[K+1] ----阈值(叶节点的类/值)。
//---- W[K+2] - ">="分支索引(叶节点没有)。

这个新的节点为一个节点存储同样的3个变量,为一个叶子存储2个变量。
而树是以完全相同的方式建立的--直到最后一个例子,错误为0。我没有看到任何修剪。
我在代码的评论中看到的唯一关于加速的内容是
拆分强度--拆分类型。
* 0 = 在随机位置分裂,最快的一个
* 1 = 在范围的中间位置分割
* 2 = 在范围的最佳点进行强拆(默认)。

显然,随机拆分的结果是2-10倍的速度和更好的拆分点,这反过来可能会导致更紧凑的树。

也就是说,分裂的方法现在是可配置的?但默认的仍然是最慢的一个

哦,那你可以自己重做,是的 :)

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

也就是说,分裂的方法现在是可配置的?但默认的仍然是最慢的一个

哦,好吧,那你可以自己重做,是的 :)

我担心所有这些变化在终端更新 时都会被覆盖掉。有必要制作一份森林类的副本,并将其作为一个单独的文件来保存
[删除]  
elibrarius
只是我担心,当终端更新 时,所有的编辑都会被覆盖掉。我们应该制作一份森林类的副本,并将其作为一个单独的文件保存。

是的,或者保留一个档案。

好吧,那我们就实验一下,谢谢你的探究,这很有帮助。

也许我们可以用同样的方式添加贝叶斯树,如果你能理解的话
[删除]  
elibrarius

所以我明白这里有一些需要尝试和改变的地方

//+------------------------------------------------------------------+
//| Makes split on attribute                                         |
//+------------------------------------------------------------------+
static void CDForest::DFSplitC(double &x[],int &c[],int &cntbuf[],const int n,
                               const int nc,const int flags,int &info,
                               double &threshold,double &e,double &sortrbuf[],
                               int &sortibuf[])
 
马克西姆-德米特里耶夫斯基

所以我理解,你可以尝试在这里改变一些东西

是的。并将其复制到DFSplitR中,这样回归脚手架也有同样的功能。