Skip to content

Instantly share code, notes, and snippets.

@dgonzo
Last active July 8, 2016 04:15
Show Gist options
  • Save dgonzo/764e367564c3012c39289f6a43d3b203 to your computer and use it in GitHub Desktop.
Save dgonzo/764e367564c3012c39289f6a43d3b203 to your computer and use it in GitHub Desktop.
LEAP Specification vAlpha

LEAP Specification version Alpha

LEAP is a specification for creating common-sense APIs for integrating advanced analytic* services around four basic processes; Label, Explore, Analyze, Predict (LEAP) that are HTTP-based and that conform to most or all of the principles of REST.

  • (e.g. machine learning, artificial intelligence, and visualization)

By following these conventions you will hopefully avoid confusion, increase adoption, become more productive, and be able to focus on what matters most: making full use of your data and other sources to make your applications and services smarter.

Services built around LEAP compliant specifications will surface APIs that are highly intuitive and they will provide clients with standard RESTful interfaces over HTTP.

Clients built around LEAP compliant APIs will be able to take full advantage of modern approaches to building mobile, web, and enterprise applications without being required to deal with RPC-styled services, SOAP, or XML. Clients built around LEAP compliant APIs can expect RESTful interfaces over HTTP and JSON.

TOC

  • Conventions
  • Glossary of uncommon words
  • Target Audience
  • Specification
    • Label
    • Explore
    • Analyze
    • Predict
  • Implementations (RAML, SWAGGER)
  • Examples
  • FAQ
  • About
  • License

Conventions

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119 [RFC2119].

The key words "Label", "Explore", "Analyze", and "Predict" and their variants "Labeling”, “Exploring”, "Exploration”, “Analyzing”, "Analysis", "Analyses", “Predicting”, and "Prediction" will be capitalized when they refer to LEAP complaint services. Special variants "Target" and "Reward" are functionally synonymous with "Label". Special variants "Identify", "Identification", "Classify, and "Classification" are functionally synonymous with "Predict".

Glossary of uncommon words

supervised learning algorithm unsupervised learning algorithm

Target audience

The LEAP specification is broadly targeted at all producers and consumers of advanced analytics.

Specification version Alpha

Label

Label services are concerned with attaching ground truth information to raw data for the express intent of using the labels to analyze data to train a supervised learning algorithm.

Any service that provides the ability to upload or source a dataset MUST provide a means of associating Label information about said dataset.

Any service that also provides the ability to Analyze a structured or unstructured dataset via a supervised learning algorithm MUST provide a means of setting Labels for the dataset and a means of retrieving Dataset Labels and SHOULD provide a means of retrieving descriptive information about Labels set for a dataset.

Any advanced analytic service that only provides the ability to Predict SHOULD provide a means of retrieving all Labels associated with the Analysis or at minimum MUST provide a means of retrieving descriptive information about the Labels used to generate the Analysis.

Label services MAY provide a means of associating Labels with un-labeled data.

It is RECOMMENDED that any service that provides the ability to Analyze data with unsupervised learning algorithms SHOULD provide a means of setting thresholds or limits on appropriate hidden structure learning via the Label service. If setting threshold or limit parameters is provided via the Label service said service MUST provide a means of retrieving the parameters and SHOULD provide a means of retrieving descriptive information about hidden structures learned post Analysis.

Explore

Exploration services concerned with basic analysis of datasets via statistics and visualizations.

Any service that provide the ability to upload or source a dataset MUST provide a means of Exploring the dataset.

Analyze

TODO

Predict

Implementations

RAML reference implementation

TODO

SWAGGER reference implementation

TODO

Examples

TODO

##FAQ

TODO

About

TODO

License

GNU Affero General Public License

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment