Eureqa Formulize从实验数据中自动筛选函数关系的symbolic regression符号回归软件

本文主要是介绍Eureqa Formulize从实验数据中自动筛选函数关系的symbolic regression符号回归软件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

https://download.csdn.net/download/stereohomology/88368731?spm=1001.2014.3001.5503

上面链接可下载我之前收藏的早期版本(2023-09-23)

各种操作系统,试用30天版本下载:点击打开链接

Free 30 day trial of Eureqa® Desktop

Latest Version: 1.24.0 (September 27, 2015)

Windows  
http://download.nutonian.com/1_24_0/eureqa_1_24_0_setup_x32.exe

http://download.nutonian.com/1_24_0/eureqa_1_24_0_setup_x64.exe

Linux

http://download.nutonian.com/1_24_0/eureqa_1_24_0_X11_i386.tar.gz

http://download.nutonian.com/1_24_0/eureqa_1_24_0_X11_x86-64.tar.gz

Mac OSX

http://download.nutonian.com/1_24_0/eureqa_1_24_0.dmg

Release Notes (1.24.0)

2009年的时候初次了解这个软件,0.7.7版,以及0.80.2还都是免费的,只是觉得好玩而已;

主要因为Cornell大学有人在Science上发了一篇report,介绍了类似symbolic regression概念;

点击打开链接

后来一直想找出来,可惜忘记软件名字了,一个关键词也想不起来了;一直找不到;

今天翻旧电脑的老硬盘偶然发现还在一个偏僻的文件夹里;于是找出来了! 留个记号;

Eureqa Formulize

现在0.9.9最新版本已经开始收费了(挺贵)

但symbolic regression在不同的语言和编程环境下都有自己的实现方式了。

Mathematica对应的是MathModeler;还有针对R,Matlab,Python之类的开源的实现方式吧?

以前的Beta版还能找到,不知道是不是也限制使用时间的:

点击打开链接

  • 19 Dec ' 02:43

    Cornell Creative Machines Lab

    Eureqa II (Code Name Formulize):

    Windows

    Linux

    Mac

    Windows Installer

    or

    Windows Zip

    Linux 64-bit Version

    or

    Linux 32-bit Version

    Apple Disk Image

     All Windows versions  (Win 2000, XP, Vista, and Win 7)

    Zip archive version runs without install privilages

     Linux/X11 (Ubuntu 9.04+, Fedora 10+, Mandriva 2009.1+, openSUSE 11.1+, SLES 11+)

     Mac OS X 10.6+ (Lion, Snow Leopard) for Intel x86-64 Macs

    Eureqa I (Old Version):

    Use this version for compatability with the Eureqa Server and the current Eureqa API.

    Eureqa 0.85 beta, Full Version

    Stand-alone Server (needed for using API projects):

    Eureqa 0.85 beta, Stand-alone Server

    Eureqa 0.85 beta, Stand-alone Server

    Extensions and Related Projects:

    • Use Eureqa from Mathematica:

    Eureqa Client for Mathematica by Shane Celis

    • Use Eureqa in Python:

    Eureqa Python by Marcin Franc

    • Use Eureqa in Matlab:

    Eureqa Matlab Interface by Johannes Jenkner

    • Use Eureqa in .NET:

    Eureqa .NET by Gábor Bakos

    • Use Eureqa in KNIME:

    Eureqa in KNIME by Gábor Bakos

    0.93:

    • Added new variable option to remove outliers
    • Added new variable option to normalize values
    • Added new variable option to filter data rows
    • Added support for delay operations in the Target Expression
    • Fixed bug in calculating 2nd/3rd order derivatives
    • Fixed potential nested delay bug
    • Fixed report images from being cached when pasting
    • Improved the cloud server loading
    • Fixed potential bug with weights equal to zero
    • Added new building-blocks for weighting and filtering
    • Added weight display to plots
    • Fixed several small bugs in the reports and analysis
    • Added ability to fill spreadsheet with a formula (e.g. =x^2)

    0.92:

    • Improved algorithm and performance
    • Added cloud computing options
    • Improved the user interface
    • Added support for multiple functions, e.g. y = f0(x)*f1(x,z)
    • Added support for coefficent models, e.g. y = f0()*x + f1()*z
    • Improved smoothing options
    • Improved the floating-point precision
    • Added options to handle missing values
    • Projects now hold multiple datasets and multiple search sessions
    • Added data encryption for using servers and cloud
    • Can now run multiple searches at once
    • Added native Linux and Mac OS X versions

    0.84:

    • improved file compatibility with future versions
    • fixed bug when evaluating stats on time delays
    • fixed crash in the evaluate/predict tool
    • round-up of other minor fixes

    0.83:

    • fixed bug that caused UI to slow down on long runs
    • other minor bug fixes

     

    Permalink  |  View Entire Page

  • 19 Oct ' 02:24

    Thousands of people use Eureqa every month. Try it out on your data.

    Eureqa 0.82 beta, Full Version

    Eureqa 0.82 beta, Stand-alone Server

    Eureqa 0.82 beta, Stand-alone Server

    0.82:

    Special thanks to Holger von Jouanne-DiedrichJonas Neubert, and Leticia Rojas for creating translations of the Eureqa interace. If you'd like to contribute a translation please contact Michael Schmidt.

    • added new plotting display options in the results view
    • added basic support for localization
    • added two new language options: German and Spanish
    • added new fitness metric: Error-Statisical Scores
    • improved the data preparation and initialization performance
    • improved performance of smoothing and estimating derivatives
    • improved performance of importing text data sets
    • greatly improved search performance with delay() and sma() inputs
    • fixed bug causing some linux servers to perform poorly
    • fixed minor bugs and UI glitches

    Permalink  |  View Entire Page

  • 29 Jun ' 22:17

    Eureqa 0.81 beta, Full Version

    Eureqa 0.81 beta, Stand-alone Server

    Eureqa 0.81 beta, Stand-alone Server

    • added new building blocks: delay(), delay_var(), sma_var(), integral()
    • increased the building-block support for the implicit fitness
    • added new option to set the minimum variables in implicit solutions
    • added new options to control the time-delay and history building-blocks
    • added some simple UI changes and improvements
    • improved performance of several UI elements
    • improved the performance of the linux Eureqa server

    Permalink  |  View Entire Page

  • 05 Jun ' 21:31

    Eureqa is free to download and use. Try it out on your data.

    Full Download:

    0.81:

    • added support for time-delay and history operations
    • added new building blocks: delay(), delay_var(), sma_var()
    • added ability to specify custom server port (e.g. 127.0.0.1:1337)
    • fixed error when parsing certain solutions
    • changed implicit derivative metric to require use of all variables
    • minor UI improvements

    Permalink  |  View Entire Page

  • 25 Apr ' 13:16

    Eureqa 0.80.2 beta, Full Version

    Eureqa 0.80.2 beta, Stand-alone Server

    Eureqa 0.80 beta, Stand-alone Sever

    Visit the open source Eureqa API site at Google Code

    0.80:

    • added auto-save project option
    • added ability to disable coefficient building blocks
    • added new building-blocks: modulo, floor ceiling
    • added boolean building-blocks: less-than, equal, and, or xor, not
    • added server commandline option to disable listening for client broadcasts
    • fixed bug where servers would repeatedly disconnect
    • fixed bug where resuming might not restore all solutions
    • fixed bug where progress graph would not display or update
    • fixed bug where search may not start when resuming
    • fixed bug where search rates were not reseting to zero
    • improved the search performance of the algorithm
    • increased the cpu utilization

    Permalink  |  View Entire Page

  • 01 Apr ' 13:13

    • improved UI behavior of the search relationship setting
    • improved UI behavior of the normalization check

    Permalink  |  View Entire Page

  • 08 Mar ' 13:12

    Eureqa 0.79 beta, Full Version (mirror

      Run Eureqa using )

    Eureqa 0.79 beta, Stand-alone Server (mirror)

    Eureqa 0.79 beta, Stand-alone Sever (mirror)

    The Eureqa API provides portable source code and examples for interacting with the Eureqa servers to perform custom equation searches.

    The Eureqa API site at Google Code

    0.79:

    • added sorting option for solution lists
    • added initial polynomial solutions
    • imporved UI behavior of the search relationship setting
    • imporved UI behavior of the normalization check
    • added new commands to the API

    0.78:

    • reduced lag that servers report new solutions
    • projects now save the smoothing preprocessing
    • improved the ordering/display of the best solutions list
    • improved the seeding previous solution method
    • improved the AIC and BIC fitness metrics
    • added ability to right-click a plot and copy its data to the clipboard
    • added ability to start a search from the command line
    • added ability to chose the training/validation data split in the advanced options
    • added check to normalize data values with large offset or scale
    • fixed bug when loading projects that could clear results
    • fixed bug where resuming a search could fail to keep the previous results
    • fixed bug where seeded equations were not recognized
    • fixed bug wehre the fitness metric weighting was ignored
    • fixed several minor user interface annoyances
    • made compatible with the new open-source API

    Permalink  |  View Entire Page

  • 21 Dec ' 08:19

    Download Eureqa

    Eurequa is free to download and use. Try it out on your data.

    Eureqa 0.77 beta, Full Version

      Run the Eureqa client using

    Eureqa 0.77 beta, Stand-alone Server

    Eureqa 0.77 beta, Stand-alone Sever

    • Fixed crash when launching Eureqa from a project file
    • Updated the Linux stand-alone server and improved performance

    Permalink  |  View Entire Page

  • 20 Dec ' 00:09

    • Can now Resume a previous search
    • Can now seed the search with a previous solution

    Permalink  |  View Entire Page

  • 19 Dec ' 08:42

    • New server option "-max_cores N" to restrict the number of cores used to N

    Permalink  |  View Entire Page

下面是介绍;这个软件似乎有两个名字:

Eureqa is a scientific data mining software package that searches for mathematical patterns hidden in your data. Download the program here for Windows, Linux, or Mac. An overview of Formulize can be found on the Introduction Video.

This user-guide wiki contains basic instructions and examples, as well as in-depth information for more advanced users. We welcome your suggestions and requests for improving this resource. If you're interested in contributing to the wiki directly, please contact us so we can add you as a member.

The user guide from 10,000 feet

Eureqa's user interface is organized as a set of seven tabs that correspond to the normal workflow through the program, and this user guide is organized around those tabs. The seven main pages linked to below explain the most important features and options available on each tab.

Enter DataPrepare DataSet TargetStart SearchView ResultsAnalysis ToolsUse The Cloud

formulize_windows_spreadsheet.jpg

formulize_windows_prepare.jpg

formulize_windows_target.jpg

formulize_windows_progress.jpg

formulize_windows_results.jpg

formulize_windows_tools_quick_eval.jpg

formulize_windows_cloud.jpg

User guide contents (blog posts included)

Many of those main pages link to other wiki pages or posts on the Eureqa blog that provide more detailed information. Below you'll find the seven main pages again, this time with all the pages they link to, and any other relevant pages, grouped beneath them.

  • Enter Data Tab
    • Working with discontinuous data (blog post)
  • Prepare Data Tab
    • Normalizing data variables (blog post)
    • Row Weight — explains how an expression or variable can be used to assign different importance to data in different rows and gives examples of when that might be useful.
    • Using date and time variables (blog post)
  • Set Target Tab
    • Target Expression Examples — shows how to design your target expression so that Eureqa will search for the kind of model you want.
    • Building Blocks List — lists and briefly explains the functions and operations you can choose to include in your formula search.
    • Error Metrics List — lists and briefly explains the error metrics you can use to assess potential solutions.
    • Prior Solutions — explains how to use prior solutions and/or initial gases to give Eureqa a headstart.
    • Setting and using validation data (blog post)
    • Row Weight (the same page as that found above under "Prepare Data Tab")
    • Modeling Binary Output
    • Custom error metrics and special search relations (blog post)
    • Using time delays or time lags of a variable (blog post)
    • Modeling outputs that have a range of values (blog post)
  • Start Search Tab
  • View Results Tab
  • Analysis Tools Tab
  • Use the Cloud Tab
    • Data Security
    • Cloud Pricing
    • Amazon Security Keys
    • Cloud Shutdown

Discussion groups

Both of the following groups actively discuss the current version of the program. If you're only going to join one group, we suggest you join the Eureqa group.

  • Eureqa Google Group

Nutonian.com

So you'll have maps to the whole Eureqa universe in one place, here's a site map of Nutonian.com:

  • Home
  • Eureqa
  • Getting Started
  • Documentation (Largely just links back to pages in this user guide.)
  • Download Eureqa Software
  • Download Eureqa Dedicated Server
  • Eureqa Pricing
  • Cloud pricing
  • Contact

使用者的博客:

点击打开链接

My Eureqa/Formulize page

Formulize

A newer version of Eureqa has been released: Formulize (or Eureqa II). It can be downloaded here. 

Some other links:

  • Documentation
  • Formulize discussion group (google groups)
  • Eureqa | blog
  • Wiki

My Formulize data sets

hakank_formulize.zip is a Zip file containing a couple of different data files, some standard data sets and some experimental (and some very experimental):

  • first.fxp
    • Boyles law
    • Fib 25
    • Gelman 4
    • Planets
    • Odd parity
    • Sin formula
    • ChickenEgg
    • BRUS
    • Grass 1
    • Circle 1 fixed
    • P4 GAP
    • Logit formula
    • Iris
    • Sunspots
    • Factorial test
    • Factorial test 2
    • Hofstadter Conway
    • Golf putting
    • Tic Tac Toe
    • quake
    • Fib 38 ix
    • ISBN
    • Multiplexer 6
    • If Else Test
    • Triangular
    • Robert Pickering
    • Two Spirals
    • Kepler
    • Sum
    • Titanic
    • Leap Year
    • F2C
    • Longley
    • Majority on 3
    • Mod test
    • Catalan
    • Voterra Lotka
    • Primes ix
    • Is Prime
    • Is Prime 500
  • second.fxp
    • Ackermann
    • Alldifferent1
    • Alldifferent2
    • P10
    • Unknown
    • Func
    • GEP test
    • Henon 100
    • Heron
    • Birthday rank
    • Lazy caterer
    • Lazy caterer 2
    • Alternating factorial
    • Alternating factorial 2
    • Alternating factorial 3
  • third.fxp
    • Bell numbers
    • Pell
    • Mobius
    • Alsing
    • Regression Koza
    • Sigmoid
    • Fahrenheit/Celsius
    • Majority on 3
    • Multiplexer-11
    • Since function
    • Integer partitions
    • Perfect shuffles
    • Collatz
    • Test
    • Unlabelled graphs
  • alternating_factorial2.fxp
  • primes_step.fxp
  • oeis.fxp
    Testing different integer sequences (numbers refers to The On-line Encyclopedia of Integer Sequences (OEIS)). Note: Some of these experiments are not very successful.
    • Tribonacci numbers
    • Catalan (again)
    • A074677
    • A056594
    • A009116
    • A001405
    • A125625
    • A000081
    • A031363
    • A001011
    • A004001
    • A000931
    • A001045
    • A014551
    • A094683
    • A000073

Eureqa

Eureqa is a great system for equation discovery. It uses genetic programming, more specific symbolic regression to discover mathematical equations given a data set. 

I have blogged some about Eureqa:

  • 2010-01-24: On my Swedish blog Eureqa: equation discovery med genetisk programmering, Google translation: Eureqa: equations discovery with genetic programming.
  • 2010-02-22: Eureqa version 0.78beta released
  • 2010-02-25: Experimenting with Eureqa's API, where I create a simple command line program (eureqa_apitest1.cpp) with the new API.

Some Eureqa links

  • Download page
  • User Guide (PDF)
  • Discussion Group (google group)
  • FAQ
  • Eureqa Known Issues
  • Requested Features
  • Summary of Eureqa Fitness Metrics
  • Building Blocks Summary
  • Eureqa API (see Programs below for an example using the API)
  • Video: "Introduction to Eureqa": Eureqa page, and on YouTube Introduction to Eureqa (1/2), Introduction to Eureqa (1/2)
  • Hod Lipson and Michael Schmidt is the developers of Eureqa. Their Science article Distilling Free-Form Natural Laws from Experimental Data,supplemental materials (PDF). More info on Sciences page Distilling Free-Form Natural Laws from Experimental Data, Supporting Online Material, e.g. the data used invar_datasets.zip. These files are in some strange format and must be fixed.

Other articles about Eureqa

  • Wired: Download Your Own Robot Scientist
  • Guardian: 'Eureka machine' puts scientists in the shade by working out laws of nature
  • Guardian: 'Eureka machine' can discover laws of nature (video)
  • Physorg.com: Eureqa, the robot scientist (w/ Video)
  • Andrew Gelman (blogs on "Statistical Modeling, Causal Inference, and Social Science"): Equation search, part 1, Equation search, part 2.

Programs

Using the Eureqa API, there is possible to write program calling the Eureqa server. 

  • eureqa_cli.cpp which has more options than eureqa_apitest1.cpp.
      Syntax:eureca_cli datafile relationship functions fitness_method population_size crossover_prob mutation_prob
    where only the data file and relationship must be stated
    
    Running the program without any arguments shows valid options.
  • My very first try with the API was eureqa_apitest1.cpp which tries to discover the closed form of Fibonacci sequence. The data file used isfib_38_ix.txt containing the first 38 Fibonacci numbers (1..38).

My Eureqa data sets

Here are some data sets from my - mostly very simple - experiments with Eureqa. The background of the problem and some more comments where written in the (Swedish) blog post Eureqa: equation discovery med genetisk programmering, Google translation: Eureqa: equations discovery with genetic programming. 

Note that Eureqa may not have given any interesting results, e.g. for the odd parity problem where the boolean operators is missing from Eureqa.

  • gelman.csv: Linear regression
    Data from Andrew Gelman's blog post Equation search, part 1, Equation search, part 2.
  • planets.txt: Kepler's third law 
    Data from DTREG
  • odd_parity.txt: Odd parity
    As of writing, Eureqa lacks the boolean operators (AND, OR, and XOR) so this is not meaningful yet.
  • sin_formula.txt: Sinus formula
    Created by perl -le 'for (-100..100) { print $_/100, " ", sin(2*$_/100)+3}'
  • sin_formula2.txt: Sinus formula Created by perl -le 'for (-100..100) { print $_/100, " ", rand(1)+sin(2*$_/100)+3}
  • sqrt_formula.txt
    Created by perl -le 'for (-100..100) { print $_/100, " ", sqrt(abs(2*$_/100))+3}'
  • iris.txt: Iris data set
  • Sunspots.txt: Sunspots
  • sin_formula_rand20.txt: Sinus 
    Created by perl -le 'for (1..20) { my $x = rand(2*3.14159); print "$x ", sin($x)+exp($x)+3}'
  • boyles_law.txt: Boyle's law
  • fib_25.txt: Fibonacci
    The 25 first Fibonacci numbers, as a "time series".
  • fib_38_ix.txt: Fibonacci
    The 38 first Fibonacci numbers, with index. This is used in my first program testing the API: eureqa_apitest1.cpp.
  • fib_50.txt: Fibonacci
    The 50 first Fibonacci numbers, with index.
  • catalan.txt: Catalan numbers
    See Catalan number.
  • not_squares.txt: Not squares
    Numbers not squares.
  • primes.txt: Primes
    Prime numbers as a time serie.
  • primes_with_index.txt: Primes with index
  • p4_gap.txt: Polynom
    From JGAP (a general genetic programming system), where the problem is to find the polynom x^4 + x^3 + x^2 - x.
  • p4_1.txt: Polynom p(4)
    The polynom p(4) = x^4 + x^3 + x^2 + x
  • p10_1.txt Polynom p(10)
  • p6_1.txt: Polynom p(6)
  • p7_1.txt: Polynom p(7)
  • circle_1_fixed.txt: Circle

Related pages:

  • My JGAP page, my implementation of Symbolic Regression in JGAP.
  • My Weka page
  • The category Genetic programming/algorithms of my blog Arrays in Flux

This page was created by Hakan Kjellerstrand (hakank@bonetmail.com). Homepage.

这篇关于Eureqa Formulize从实验数据中自动筛选函数关系的symbolic regression符号回归软件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/675990

相关文章

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的