进化回归

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数据;这说明了如何对多元关系进行建模。虽然下面显示了两个输入的情况,但是可以使用任意数量的输入属性来构建回归函数。在

许可证

麻省理工学院

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
文本中的java JFX图像   堆栈快速java问题   Web服务上的java设置超时   找不到java Jersey MessageBodyReader   尝试运行TestNG类时,Eclipse中线程“main”中出现java异常错误   java Wakelock只工作一次   多线程Java同步和线程   java日期解析操作使服务器崩溃   在Bluemix中启动应用程序时,java无法创建PoolableConnectionFactory错误   java包装是否超出了可用空间中组合框的内容?   java安卓游戏时间处理   根据Java,spring是线程安全的方法   正则表达式如何使用java查找中间有空格的数字的正则表达式模式   java使用数组作为自定义通用哈希表中的表来存储条目   java中缀到后缀求值   java类型安全:Map[]类型的表达式需要未经检查的转换才能符合Map<String,Object>[]   java Jama矩阵printwriter错误   java在使用GridLayout创建战舰程序时遇到问题