New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@jsonstack/jsonm

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jsonstack/jsonm

Construct AI & ML models with JSON using Typescript & Tensorflow

latest
Source
npmnpm
Version
2.2.1
Version published
Maintainers
1
Created
Source

JSONM

Coverage Status Build, Test, Release

Description

JSONM is a module that creates Tensorflow models with JSON.

Jump right in

JSONM is designed so software engineers and machine learning engineers can quickly build, train, save, and load Tensorflow based AI & ML Models. The JSONM Library includes a JSONM UMD module 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.

Usage

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.

What's included

JSONM currently supports the following models

  • General purpose multivariate based predictions
  • Multivariate linear regression based predictions
  • General purpose multivariate classification based descriptions
  • General purpose multivariate timeseries based forecasts
  • General purpose content based recommendations (coming soon)
  • General purpose cohort analysis (coming soon)

Installation

$ npm i @jsonstack/jsonm

JSONM Manual

Basic Usage

import * as tf from '@tensorflow/tfjs-node';
import { getModel, setBackend, } from '@jsonstack/jsonm';

//set tensorflow
setBackend(tf);

//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' }, ]

Example

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

Keywords

regression

FAQs

Package last updated on 04 Aug 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts