Git Product home page Git Product logo

sigoptr's Introduction

SigOpt R API

The SigOpt public R client.

Learn more about SigOpt and R from our docs.

Installation

# install.packages("devtools")
library(devtools)
install_github("sigopt/SigOptR")
library(SigOptR)

Authentication

Set the environment variable SIGOPT_API_TOKEN to the value of the API Token found on the user dashboard of signed in users.

Sys.setenv(SIGOPT_API_TOKEN=sigopt_api_token)

Run Some Code

Run SigOpt's Optimization Loop for a small function:

experiment <- create_experiment(list(
  name="Franke Optimization",
  parameters=list(
    list(name="x", type="double", bounds=list(min=0.0, max=1.0)),
    list(name="y", type="double", bounds=list(min=0.0, max=1.0))
  )
))
print(paste(
  "Created experiment: https://sigopt.com/experiment/",
  experiment$id,
  sep=""
))

# Evaluate your model with the suggested parameter assignments
# Franke function - http://www.sfu.ca/~ssurjano/franke2d.html
evaluate_model <- function(assignments) {
  return(franke(assignments$x, assignments$y))
}

# Run the Optimization Loop between 10x - 20x the number of parameters
for(i in 1:20) {
  suggestion <- create_suggestion(experiment$id)
  value <- evaluate_model(suggestion$assignments)
  create_observation(experiment$id, list(
    suggestion=suggestion$id,
    value=value
  ))
}

(optional variant) Report an Observation with standard deviation

create_observation(experiment$id, list(suggestion=suggestion$id, value=value, value_stddev=value_standard_deviation))

Endpoints

SigOptR supports a subset of API endpoints:

  • create_experiment
  • create_suggestion
  • create_observation

These should be sufficient to run SigOpt's Optimization Loop.

sigoptr's People

Contributors

alexandraj777 avatar startakovsky avatar chrix-sigopt avatar johnbwu avatar

Watchers

James Cloos avatar Andrea Mariani avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.