进化回归
evogression的Python项目详细描述
唤起
evegression是一个Python包,它提供了一个进化算法来为目标参数开发回归函数。可以使用任意数量的输入参数,并且数据样本不需要填充所有参数来训练回归。在
快速启动
- 在
使用pip安装evogresion
在pip install evogression
- 在
将输入数据格式化为词典列表。在
在 - 在
运行以下命令生成一个回归函数,然后将该函数输出为python模块:
^{pr2}$ 在 - 在
注意:Evogression尝试在安装时构建Cython模块以加快计算速度。如果Evogression无法构建这些模块,它将使用备份Python函数。如果不使用Cython,您可能希望使用较小的“num_creates”和/或“num_cycles”来加速程序执行。在
在 - 在
在这一点上,会有一个“回归”_函数.py“文件位于新创建的“regression_modules”目录中。这个Python模块中的“regression_func”函数可以导入并与输入字典一起使用,以生成估计的输出值。在
在
当前特性
- 在
EvogressionCreation类提供给定参数字典的随机回归函数。这些“生物”可以根据训练数据或新的预测,在给定输入参数字典的情况下预测输出值。在
在 - 在
BaseEvolution类为生物进化组创建了一个框架。这个类被设计成更具体的进化算法的子类。在
在 - 在
Standardizer类用于标准化输入数据。这使得回归参数能够有效地估计和演化,而不考虑数据的伸缩性。在
在 - 在
子类/进化算法的目标是生成一组生物,然后竞争以最准确地模拟训练数据。当生物比同龄人更善于模拟结果时,它们就会得到奖励,适者生存的情况就会出现。生物可能会与后代“交配”,其后代既有母体生物的退化特征,又有一些突变。在
在 - 在
进化通过杀死每个周期中表现最差的生物,然后随机产生许多新的生物来进化生物。在
在 - 在
在groups.py通过运行多个进化组提供高级回归方法。在
在 - 在
参数剪枝算法可以确定数据集中最有用的属性,并逐步丢弃最不有用的数据,同时确定目标属性的最佳拟合方程。在
在
测试
- 蛮力生成生物成功地建模线性和抛物线二维数据。在
- 进化算法成功地对二维线性和抛物线数据进行了建模。在
- 进化算法成功地使用一个曲面来使用两个输入属性来近似3D数据;这说明了如何对多元关系进行建模。虽然下面显示了两个输入的情况,但是可以使用任意数量的输入属性来构建回归函数。在
许可证
麻省理工学院
- 项目
标签: