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的自动配置是什么及注意事项

《Springboot的自动配置是什么及注意事项》SpringBoot的自动配置(Auto-configuration)是指框架根据项目的依赖和应用程序的环境自动配置Spring应用上下文中的Bean... 目录核心概念:自动配置的关键特点:自动配置工作原理:示例:需要注意的点1.默认配置可能不适合所有场景

Java8需要知道的4个函数式接口简单教程

《Java8需要知道的4个函数式接口简单教程》:本文主要介绍Java8中引入的函数式接口,包括Consumer、Supplier、Predicate和Function,以及它们的用法和特点,文中... 目录什么是函数是接口?Consumer接口定义核心特点注意事项常见用法1.基本用法2.结合andThen链

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值

golang panic 函数用法示例详解

《golangpanic函数用法示例详解》在Go语言中,panic用于触发不可恢复的错误,终止函数执行并逐层向上触发defer,最终若未被recover捕获,程序会崩溃,recover用于在def... 目录1. panic 的作用2. 基本用法3. recover 的使用规则4. 错误处理建议5. 常见错

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值