README
JSONM
Description
JSONM is a module that creates AI & ML models with JSON using TypeScript & Tensorflow
Declarative
The JSONM UMD comes with batteries included so you can use JSONM in the browser without transpilers or any additional setup/configuration. The JSONM UMD is ideal for JAMstack Applications.
Intention
The idea behind JSONM is to enable rapid model development. JSONM attempts to automate the data pre-processing and feature engineering needed for most modeling tasks.
Data Scientists who are more comfortable finely tuning hyperparameters and controlling pre-processing, scaling and normalization of datasets can also configure JSONM to meet specific model requirements.
Installation
$ npm i @outsights/jsonm
Full Documentation
JSONM Manual
- Getting Started
- Training Models
- Predictions with Models
- Evaluating Models
- Advanced Model Dataset
- Loading and Saving Models
- JSONM & JML Spec
- Examples
- Full API Docs
Basic Usage
import { getModel } from '@outsights/jsonm';
//Iris Dataset e.g from https://raw.githubusercontent.com/repetere/modelx-model/master/src/test/mock/data/iris_data.csv
const type = 'ai-classification';
const dataset = [
{
"sepal_length_cm": 5.1,
"sepal_width_cm": 3.5,
"petal_length_cm": 1.4,
"petal_width_cm": 0.2,
"plant": "Iris-setosa",
},
// ...
{
"sepal_length_cm": 7.0,
"sepal_width_cm": 3.2,
"petal_length_cm": 4.7,
"petal_width_cm": 1.4,
"plant": "Iris-versicolor",
},
// ...
{
"sepal_length_cm": 5.9,
"sepal_width_cm": 3.0,
"petal_length_cm": 5.1,
"petal_width_cm": 1.8,
"plant": "virginica",
}
]
const inputs = ['sepal_length_cm','sepal_width_cm','petal_length_cm','petal_width_cm', ];
const outputs = [ 'plant',];
const on_progress = ({ completion_percentage, loss, epoch, status, logs, defaultLog, }) => {
console.log({ completion_percentage, loss, epoch, status, logs, defaultLog, });
}
const IrisModel = await getModel({
type,
dataset,
inputs,
outputs,
on_progress,
});
await IrisModel.trainModel()
const predictions = await IrisModel.predictModel({
prediction_inputs:[
{ sepal_length_cm: 5.1, sepal_width_cm: 3.5, petal_length_cm: 1.4, petal_width_cm: 0.2, },
{ sepal_length_cm: 5.9, sepal_width_cm: 3.0, petal_length_cm: 5.1, petal_width_cm: 1.8, },
],
}); // => [ { plant:'Iris-setosa' }, { plant:'Iris-virginica' }, ]
Development
Note Make sure you have typescript installed
$ npm i -g typescript
For generating documentation
$ npm run doc
Notes
Check out https://repetere.github.io/jsonm/ for the full jsonm Documentation
Testing
$ npm test
Contributing
Fork, write tests and create a pull request!
License
MIT