All Projects → MilesCranmer → Symbolicregression.jl

MilesCranmer / Symbolicregression.jl

Licence: apache-2.0
Distributed High-Performance symbolic regression in Julia

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Symbolicregression.jl

Deepcamera
Open source face recognition on Raspberry Pi. SharpAI is open source stack for machine learning engineering with private deployment and AutoML for edge computing. DeepCamera is application of SharpAI designed for connecting computer vision model to surveillance camera. Developers can run same code on Raspberry Pi/Android/PC/AWS to boost your AI production development.
Stars: ✭ 757 (+790.59%)
Mutual labels:  automl
Mlprimitives
Primitives for machine learning and data science.
Stars: ✭ 46 (-45.88%)
Mutual labels:  automl
Awesome System For Machine Learning
A curated list of research in machine learning system. I also summarize some papers if I think they are really interesting.
Stars: ✭ 1,185 (+1294.12%)
Mutual labels:  automl
Devol
Genetic neural architecture search with Keras
Stars: ✭ 925 (+988.24%)
Mutual labels:  automl
Awesome Automl
collecting related resources of automated machine learning here
Stars: ✭ 39 (-54.12%)
Mutual labels:  automl
Tpot
A Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming.
Stars: ✭ 8,378 (+9756.47%)
Mutual labels:  automl
H1st
The AI Application Platform We All Need. Human AND Machine Intelligence. Based on experience building AI solutions at Panasonic: robotics predictive maintenance, cold-chain energy optimization, Gigafactory battery mfg, avionics, automotive cybersecurity, and more.
Stars: ✭ 697 (+720%)
Mutual labels:  automl
Proxylessnas
[ICLR 2019] ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware
Stars: ✭ 1,210 (+1323.53%)
Mutual labels:  automl
Efficientnas
Towards Automated Deep Learning: Efficient Joint Neural Architecture and Hyperparameter Search https://arxiv.org/abs/1807.06906
Stars: ✭ 44 (-48.24%)
Mutual labels:  automl
Once For All
[ICLR 2020] Once for All: Train One Network and Specialize it for Efficient Deployment
Stars: ✭ 1,127 (+1225.88%)
Mutual labels:  automl
Morph Net
Fast & Simple Resource-Constrained Learning of Deep Network Structure
Stars: ✭ 937 (+1002.35%)
Mutual labels:  automl
Mljar Supervised
Automated Machine Learning Pipeline with Feature Engineering and Hyper-Parameters Tuning 🚀
Stars: ✭ 961 (+1030.59%)
Mutual labels:  automl
Mtlnas
[CVPR 2020] MTL-NAS: Task-Agnostic Neural Architecture Search towards General-Purpose Multi-Task Learning
Stars: ✭ 58 (-31.76%)
Mutual labels:  automl
Otto
Otto makes machine learning an intuitive, natural language experience. 🏆 Facebook AI Hackathon winner ⭐️ #1 Trending on MadeWithML.com ⭐️ #4 Trending JavaScript Project on GitHub ⭐️ #15 Trending (All Languages) on GitHub
Stars: ✭ 894 (+951.76%)
Mutual labels:  automl
Autodl Projects
Automated deep learning algorithms implemented in PyTorch.
Stars: ✭ 1,187 (+1296.47%)
Mutual labels:  automl
Keras Idiomatic Programmer
Books, Presentations, Workshops, Notebook Labs, and Model Zoo for Software Engineers and Data Scientists wanting to learn the TF.Keras Machine Learning framework
Stars: ✭ 720 (+747.06%)
Mutual labels:  automl
Autokeras
AutoML library for deep learning
Stars: ✭ 8,269 (+9628.24%)
Mutual labels:  automl
Java Docs Samples
Java and Kotlin Code samples used on cloud.google.com
Stars: ✭ 1,259 (+1381.18%)
Mutual labels:  automl
Mlbox
MLBox is a powerful Automated Machine Learning python library.
Stars: ✭ 1,199 (+1310.59%)
Mutual labels:  automl
Shape Adaptor
The implementation of "Shape Adaptor: A Learnable Resizing Module" [ECCV 2020].
Stars: ✭ 59 (-30.59%)
Mutual labels:  automl

SymbolicRegression.jl

Latest release Documentation Build status Coverage
version Dev Stable CI Coverage Status

Distributed High-Performance symbolic regression in Julia.

Check out PySR for a Python frontend.

demo1 demo2

Cite this software

Quickstart

Install in Julia with:

using Pkg
Pkg.add("SymbolicRegression")

The heart of this package is the EquationSearch function, which takes a 2D array (shape [features, rows]) and attempts to model a 1D array (shape [rows]) using analytic functional forms.

Run distributed on four processes with:

using SymbolicRegression

X = randn(Float32, 5, 100)
y = 2 * cos.(X[4, :]) + X[1, :] .^ 2 .- 2

options = SymbolicRegression.Options(
    binary_operators=(+, *, /, -),
    unary_operators=(cos, exp),
    npopulations=20
)

hallOfFame = EquationSearch(X, y, niterations=5, options=options, numprocs=4)

We can view the equations in the dominating Pareto frontier with:

dominating = calculateParetoFrontier(X, y, hallOfFame, options)

We can convert the best equation to SymbolicUtils.jl with the following function:

eqn = node_to_symbolic(dominating[end].tree, options)
println(simplify(eqn*5 + 3))

We can also print out the full pareto frontier like so:

println("Complexity\tMSE\tEquation")

for member in dominating
    size = countNodes(member.tree)
    score = member.score
    string = stringTree(member.tree, options)

    println("$(size)\t$(score)\t$(string)")
end

Search options

See https://astroautomata.com/SymbolicRegression.jl/stable/api/#Options

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].