Shark GPLearn2.1 功能介绍Shark GPLearn 是基于 Shark 异构计算平台的高性能因子挖掘模块,可以直接从 DolphinDB 中读取数据,并调用 GPU 进行自动因子挖掘与因子计算 目前 Shark 支持的算子详见 Shark GPLearn 快速上手。 的结果表resShark GPLearn 返回的表达式以及适应度结果如下所示,可以发现 Shark GPLearn 完全拟合了目标函数:3. 性能对比为了进一步地展现 Shark GPLearn 的强大性能,本文在相同测试环境与测试条件下,对于 Shark GPLearn 、 Python GPLearn 与 Python Deap 进行了性能对比 4.1 测试条件设置考虑到 Shark GPLearn 的参数较为丰富,本次只设置 Shark GPLearn、Python GPLearn 与 Python Deap 共有的参数。
本文使用python的gplearn包实现符号回归。 数据准备 本文内容主要参考[1]。假设现在有两个自变量X1,X2,与因变量的关系为 ? 上述非线性的方程在X0,X1取值[-1,1]的情况下,图像如下,代码文件获取后台回复“gplearn”。 遗传规划 关于gplearn就不过多说明了,个人感觉它是python中快速实现遗传规划最好用的包,类似的包还有deap,但deap如果要做向量的模型,需要改很多代码,放弃了。 其次,符号回归需要事先给出一些运算符号,gplearn中内置的运算符包括加减乘除、开方、对数、三角函数等,详细见下图,用户也可以自定义一些运算符 ? _program) 这里需要说明的是,gplearn中的print是被重写过的,print之后会输出最终的符号回归形式,上述代码运行后的结果如下 ?
用Python gplearn 解决符号回归问题 Python gplearn 工具箱在进行符号回归时函数库中函数有:'add':加法 'sub':减法 'mul':乘法 'div':除法 'sqrt neg':相反数 'inv':倒数 'max':最大值 'min':最小值 'sin':正弦(弧度) 'cos':余弦(弧度) 'tan':正切(弧度) 简答实例(程序源码): from gplearn.genetic
2.gplearn 目前,python 环境下最好用的基因编程库为gplearn。虽然遗传编程 (GP) 可以用来执行非常广泛的任务,但是 gplearn 有目的地约束了符号回归问题。 gplearn 这个库提供了解决的思路: 随机化生成大量特征组合方式,解决了没有先验知识,手工生成特征费时费力的问题。 3.遗传编程的用法 gplearn 的主要组成部分有两个:SymbolicRegressor 和 SymbolicTransformer 。两者的适应度有所不同。 E6%97%B6%E9%97%B4.html [2] https://www.cnblogs.com/nxf-rabbit75/p/11141944.html#_nav_12 [3] https://gplearn.readthedocs.io /en/stable/examples.html#symbolic-classifier [4] 利用 gplearn 进行特征工程. https://bigquant.com/community/t/
常用的开源模块如下 最后综合各种资料,决定用gplearn来搞,很早之前发了一篇关于gplearn遗传规划的推文:符号回归和遗传规划,大概学了一下gplearn怎么用,有兴趣可以看一看。 02 遗传规划原理和gplearn 原理这部分主要参考文献[1][2],讲的比较详细,就直接贴图了,细节见文献。 关于gplearn的说明,细节可以看之前的文章和文献,这里给一张参数说明表 这张表只总结了主要参数,还有几个参数没有提到 比如feature_name是对输入的变量进行命名,如果不指定,最终输出结果的变量名为 03 遗传规划下的行业量价因子挖掘 本文使用中信一级行业指数进行行业因子挖掘,基于gplearn,需要完成的内容包括: 运算符(function set)定义 主要参考下表 自定义运算符部分代码如下 有个问题是很多公式都重复了,这个gplearn没有办法避免,手动去重吧。
可以用 gplearn 或 PySR 做符号回归。 from gplearn.genetic import SymbolicRegressorimport numpy as npX = np.random.rand(100, 2)y = 3 * X[:,
E2%80%94%E6%97%B6%E9%97%B4.html https://www.cnblogs.com/nxf-rabbit75/p/11141944.html#_nav_12 https://gplearn.readthedocs.io /en/stable/examples.html#symbolic-classifier 利用 gplearn 进行特征工程. https://bigquant.com/community/t/topic
E6%97%B6%E9%97%B4.html [2] https://www.cnblogs.com/nxf-rabbit75/p/11141944.html#_nav_12 [3] https://gplearn.readthedocs.io /en/stable/examples.html#symbolic-classifier [4] 利用 gplearn 进行特征工程. https://bigquant.com/community/t/
create_model('lightgbm', learning_rate = i) for i in np.arange(0.1,1,0.1)] # train custom model from gplearn.genetic create_model('lightgbm', learning_rate = i) for i in np.arange(0.1,1,0.1)] # train custom model from gplearn.genetic
注意:ATOM 在底层使用 gplearn 包来运行 GFG。
E6%97%B6%E9%97%B4.html [2] https://www.cnblogs.com/nxf-rabbit75/p/11141944.html#_nav_12 [3] https://gplearn.readthedocs.io /en/stable/examples.html#symbolic-classifier [4] 利用 gplearn 进行特征工程. https://bigquant.com/community/t/
注意:ATOM 在底层使用 gplearn 包来运行 GFG。
E6%97%B6%E9%97%B4.html [2] https://www.cnblogs.com/nxf-rabbit75/p/11141944.html#_nav_12 [3] https://gplearn.readthedocs.io /en/stable/examples.html#symbolic-classifier [4] 利用 gplearn 进行特征工程. https://bigquant.com/community/t/
E6%97%B6%E9%97%B4.html [2] https://www.cnblogs.com/nxf-rabbit75/p/11141944.html#_nav_12 [3] https://gplearn.readthedocs.io /en/stable/examples.html#symbolic-classifier [4] 利用 gplearn 进行特征工程. https://bigquant.com/community/t/
E6%97%B6%E9%97%B4.html [2] https://www.cnblogs.com/nxf-rabbit75/p/11141944.html#_nav_12 [3] https://gplearn.readthedocs.io /en/stable/examples.html#symbolic-classifier [4] 利用 gplearn 进行特征工程. https://bigquant.com/community/t/
E6%97%B6%E9%97%B4.html [2] https://www.cnblogs.com/nxf-rabbit75/p/11141944.html#_nav_12 [3] https://gplearn.readthedocs.io /en/stable/examples.html#symbolic-classifier [4] 利用 gplearn 进行特征工程. https://bigquant.com/community/t/
E6%97%B6%E9%97%B4.html [2] https://www.cnblogs.com/nxf-rabbit75/p/11141944.html#_nav_12 [3] https://gplearn.readthedocs.io /en/stable/examples.html#symbolic-classifier [4] 利用 gplearn 进行特征工程. https://bigquant.com/community/t/
线性算法的非线性编码 硬编码非线性以改善线性算法(hash、各类embedding等) 多项式编码 Leafcoding(随机森林嵌入)(acebook的gbdt+lr这种思路) 遗传算法(典型代表gplearn
线性算法的非线性编码 硬编码非线性以改善线性算法(hash、各类embedding等) 多项式编码 Leafcoding(随机森林嵌入)(acebook的gbdt+lr这种思路) 遗传算法(典型代表gplearn
线性算法的非线性编码 硬编码非线性以改善线性算法(hash、各类embedding等) 多项式编码 Leafcoding(随机森林嵌入)(acebook的gbdt+lr这种思路) 遗传算法(典型代表gplearn