Skip to content

repetere/jsonstack-math

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date
Sep 7, 2022
Sep 7, 2022
Sep 7, 2022
Jan 23, 2023
Jan 23, 2023
Jan 19, 2023
Feb 21, 2023
Sep 7, 2022
Jan 19, 2023
Jan 23, 2023
Feb 21, 2023
Sep 7, 2022
Jan 19, 2023
Dec 15, 2022
Feb 21, 2023
Sep 7, 2022
Jan 23, 2023
Sep 7, 2022
Feb 2, 2024
Feb 2, 2024
Sep 7, 2022
Sep 7, 2022

Repository files navigation

jsonstack-math

linear algebra, math, matrix and other helpers

JSONSTACK Math

Coverage Status Release

Description

JSONSTACK Math is a module that ...WIP.

Jump right in

... is designed so software engineers and machine learning engineers can ...WIP.

Usage

The idea behind ... WIP.

What's included

...WIP...

  • tbd
  • tbd

Installation

$ npm i @jsonstack/math

jsonstack-math Manual


Basic Usage

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

//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

<iframe width="100%" height="500" src="https://jsfiddle.net/yawetse/4ph1vwes/21/embedded/result,js,html,css,resources/dark/" allowfullscreen="allowfullscreen" allowpaymentrequest frameborder="0"></iframe>

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/jsonstack-math/ for the full jsonstack-math Documentation

Testing

$ npm test

Contributing

Fork, write tests and create a pull request!

License


MIT

Packages

No packages published

Contributors 3