...
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Example:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "id": "6d4b571a-80ca-41ef-bc67-b158f4352ad8", "name": "Model 1", "revision": 3, "format": { "name": "PMML", "version": "4.3" }, "algorithm": "Neural Network", "tags": [ "Anomaly detection", "Banking" ], "dependency", "", "creator": "John Doe", "description": "This is a predictive model, refer to {input} and {output} for detailed format of each field, such as value range of a field, as well as possible predictions the model will gave. You may also refer to the example data here.", "input": { "fields": [ { "name": "Account ID", "opType": "categorical", "dataType": "string", "taxonomy": "ID", "example": "account abc-001", "allowMissing": false, "description": "unique value" }, { "name": "Account Balance", "opType": "continuous", "dataType": "double", "taxonomy": "currency", "example": "1,378,560.00", "allowMissing": true, "description": "Minimum: 0, Maximum: 999,999,999.00" }, ], "ref": "http://dmg.org/pmml/v4-3/pmml-4-3.xsd" } "output": { "fields": [ { "name": "Churn", "opType": "continuous", "dataType": "string", "taxonomy": "ID", "example": "0.67", "allowMissing": false, "description": "the possibility of the account stop doing business with a company over 6 months" } ], "ref": "http://dmg.org/pmml/v4-3/pmml-4-3.xsd" } "performance": { "metric": "accuracy", "value": 0.85 }, "rating": 5, "url": "uri://link_to_the_model" } |
...
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Authors
Potential Future Enhancement
...
- Tableau version of OBAIC https://tableau.github.io/analytics-extensions-api/docs/ae_example_tabpy.html
- Qlik version of OBAIC: https://github.com/qlik-oss/server-side-extension
- Delta Sharing: https://github.com/delta-io/delta-sharing/blob/main/PROTOCOL.md#delta-sharing-protocol
Authors
Decision to be made
- Data file type: What type of data we are supporting: e.g. for Delta needs to be parquet, RDBMS? Can modify the Jeffrey init cut below to support multiple data types, depending on the use case.
- Inference: Pass by value should be good enough if it's only for predicting
- Train: not immediate, maybe later in Phase 2
- Metadata structure, what kind of JSON schema do we need
- Do we only support a specific model type (ONNX) or arbitrary number of framework
- Decouple model (asking the model to predict and train) and data (listing, upload, download)
- Finalize Logo
...
How can the data be accessed mechanically, for training?
...
Original content from Jeffrey. To be integrated with the main content
This is a short doc illustrating a sample skeleton OBAIC protocol. This proposal envisions a data-centric workflow:
- BI vendor has some data on which predictive analytics would be valuable.
- BI vendor requests AI vendor (through OBAIC) to train/prepare a model that accepts features of a certain type (numeric, categorical, text, etc.)
- BI vendor gives AI vendor a token to allow access to the training data with the above features. A SQL statement is a natural way to specify how to retrieve data from the datastore.
- When model is trained, BI vendor can see the results of training (e.g., accuracy).
- AI vendor provides predictions on data shared by BI vendor, again using an access token.
...
Train a New Model
function TrainModel(inputs, outputs, modelOptions, dataConfig) -> UUID |
...