Целый тип char занимает в памяти 1 байт (8 бит) и позволяет выразить в двоичной системе счисления 2^8 значений=256. Тип char может содержать как положительные, так и отрицательные значения. Диапазон изменения значений составляет от -128 до 127. uchar # Целый тип uchar также занимает в памяти 1 байт, как и тип char, но в отличие от него, uchar...
对于一个森林,有一个选项可以查看重要性和集群。在catbust中,它可能是plot_tree。
我将准备好数据并公布。
做了一个6列的测试版本,花了11GB。Notepad++无法打开它,说文件太大。用于SQLite的BD浏览器已经挂起了大约20分钟。展示一张树丛的图片,我还不知道你的意思。
为什么要打开它?:)我只是做了一个结构相似的迷你拷贝,用于调试。
我想知道他们是如何训练树而不把所有的数据带入内存的。如果表是6千兆字节,那么就应该使用大约6千兆字节的内存。树需要将每一列作为一个整体来排序。如果我们不把所有东西放进内存,而是每次都从磁盘上读取数据,那就太慢了。
唯一的变体是将内存中的数据保持为浮点类型而不是双倍,但这将降低精确度。对我们来说,5位数的精度可能不算太差,但catbust是一个通用软件,我认为物理和数学问题应该用双精度来解决。
我没有研究过这段代码,但如果你从逻辑上考虑,CatBoost可能会转换样本数据表并准确地存储转换后的变体,这有利于快速压缩。
变换发生在每个预测器的量化网格上(有6种算法),例如,从一个变量的1000个不同的值中留下32个变体(落入量化网格的范围),这样的数据矢量很容易被压缩,除了数字已经只有整数(根据网格大小的限制判断--数据类型 ushort--数字上的2个字节),量化表只是位于内存中,在代码中创建模型时已经使用。现在我们已经缩小了规模,而且还可以通过不选择所有的预测器进行评估,而是选择它们的一部分来缩小规模,建议在大样本时进行,这样,随机器的算法允许在其他树中使用那些预测器,它们没有立即进入 "袋子",由于这样,训练也会更快,但模型中会有更多树。当然还有其他技巧,但主要的是量化。
量化应该单独考虑,理想情况下,每个预测器应该与自己的网格相匹配,数据应该与网格一起提交训练,它允许算法这样做。
因此,样本可以被自我量化,而且会被很好地压缩。
我没有研究过这段代码,但如果你从逻辑上考虑,CatBoost可能会对样本数据表进行转换,并准确地存储转换后的变体,这对快速压缩是有利的。
变换发生在每个预测器的量化网格上(有6种算法),例如,从一个变量的1000个不同的值中留下32个变体(落入量化网格的范围),这样的数据矢量很容易被压缩,除了数字已经只有整数(根据网格大小的限制判断--数据类型 ushort--数字上的2个字节),量化表只是位于内存中,在代码中创建模型时已经使用。现在我们已经缩小了规模,而且还可以通过不选择所有的预测器进行评估,而是选择它们的一部分来缩小规模,建议在大样本时进行,这样,随机器的算法允许在其他树中使用那些预测器,它们没有立即进入 "袋子",由于这样,训练也会更快,但模型中会有更多树。当然还有其他技巧,但主要的是量化。
量化应该单独考虑,理想情况下,每个预测器应该与自己的网格相匹配,数据应该与网格一起提交训练,它允许算法这样做。
这就是为什么样本可以被自己量化,而且会被很好地压缩。
现在我明白这个网格是用来做什么的了,原来是用来压缩的。而且排序也比较快。
对了,我记得,它似乎有一个1024个分割变体的默认网格。如果你把所有的数据都换成拆分的数字,你可以用ushort格式存储,也就是2个字节而不是8个字节,压缩4倍。这可能就是为什么你有2GB而不是6GB并使用它。
默认是254,但我不记得我当时设置了多少。大概只消耗了不到2GB的内存--我记得当时非常惊讶,居然这么少。
总之,这种方法可以大幅压缩数据,甚至是采样本身。你不能用神经网络做到这一点
现在我明白这个网格是用来做什么的了,原来是用来压缩。而且整理起来也更快。
默认是254,但我不记得我当时设置了多少。大概只消耗了不到2GB的内存--我记得当时非常惊讶于它是如此之小。
那么你可以使用Uchar ,它是1个字节。
网格允许装得更少,因为使用的是数值范围。但这并不总是好的,对于捕捉理论上的水平,你必须自己切割网格。
ushort中的最大值是6.5万--如果你设置了这样的网格,你可以不用手动操作。
https://www.mql5.com/ru/articles/8385
这不是一个事实,它是一个好的实现 )
我将放弃俄罗斯的那份。
我读过那本书))它充满了计算错误,而且网络给出的答案相当随机。
那么你可以使用Uchar ,它是1个字节。
在ushort中,最大值是65k--如果你设置了这样的网格,你就不必担心手动操作了。
它们的最大尺寸是65535,但我不能影响代码中的变量。
至于最大尺寸--不,它不能保证结果,因为它可以根据数据条调整,跳过那些接近它的数据。
一般来说,有一个学习算法是很好的,它总是检查关闭分割的合理性(A>10 && A<=15),但通常它是随机发生的 - 没有这样的强制性条件,尽管它有时被复制。
我读过这个)))在计算中存在很多错误,网络给出的答案相当随机。
你想自己写网络吗?
Vod在这里是一个最小的单词和最大的代码的python,但也是英语。
https://datascience-enthusiast.com/DL/Building_a_Recurrent_Neural_Network-Step_by_Step_v1.html
你想自己写网络吗?
在Python中,有一个最小的单词和最大的代码,但也有英语。
https://datascience-enthusiast.com/DL/Building_a_Recurrent_Neural_Network-Step_by_Step_v1.html
是的,我想自己做)因为在所有的文章中,例子激活函数的计算是错误的)例如sigmoid在任何地方都被计算为1/1+exp(-x)。我需要1.0/1.0+exp(-x)。看起来是一样的,但终端给出的计算结果不同)看看你的计算结果是否相同)因此出现了错误。