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

相关文章

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

基于Redis自动过期的流处理暂停机制

《基于Redis自动过期的流处理暂停机制》基于Redis自动过期的流处理暂停机制是一种高效、可靠且易于实现的解决方案,防止延时过大的数据影响实时处理自动恢复处理,以避免积压的数据影响实时性,下面就来详... 目录核心思路代码实现1. 初始化Redis连接和键前缀2. 接收数据时检查暂停状态3. 检测到延时过

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N