MCPcopy Index your code
hub / github.com/Tom-Alexander/regression-js

github.com/Tom-Alexander/regression-js @2.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2.0.1 ↗ · + Follow
12 symbols 31 edges 3 files 3 documented · 25%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

regression-js

npm version npm downloads

regression-js is a JavaScript module containing a collection of linear least-squares fitting methods for simple data analysis.

Installation

This module works on node and in the browser. It is available as the 'regression' package on npm. It is also available on a CDN.

npm

npm install --save regression

Usage

import regression from 'regression';
const result = regression.linear([[0, 1], [32, 67], [12, 79]]);
const gradient = result.equation[0];
const yIntercept = result.equation[1];

Data is passed into the model as an array. A second parameter can be used to configure the model. The configuration parameter is optional. null values are ignored. The precision option will set the number of significant figures the output is rounded to.

Configuration options

Below are the default values for the configuration parameter.

{
  order: 2,
  precision: 2,
}

Properties

  • equation: an array containing the coefficients of the equation
  • string: A string representation of the equation
  • points: an array containing the predicted data in the domain of the input
  • r2: the coefficient of determination (R2)
  • predict(x): This function will return the predicted value

API

regression.linear(data[, options])

Fits the input data to a straight line with the equation y = mx + c. It returns the coefficients in the form [m, c].

regression.exponential(data[, options])

Fits the input data to a exponential curve with the equation y = ae^bx. It returns the coefficients in the form [a, b].

regression.logarithmic(data[, options])

Fits the input data to a logarithmic curve with the equation y = a + b ln x. It returns the coefficients in the form [a, b].

regression.power(data[, options])

Fits the input data to a power law curve with the equation y = ax^b. It returns the coefficients in the form [a, b].

regression.polynomial(data[, options])

Fits the input data to a polynomial curve with the equation anx^n ... + a1x + a0. It returns the coefficients in the form [an..., a1, a0]. The order can be configure with the order option.

Example

const data = [[0,1],[32, 67] .... [12, 79]];
const result = regression.polynomial(data, { order: 3 });

Development

  • Install the dependencies with npm install
  • To build the assets in the dist directory, use npm run build
  • You can run the tests with: npm run test.

Core symbols most depended-on inside this repo

round
called by 26
src/regression.js
determinationCoefficient
called by 5
src/regression.js
predict
called by 5
src/regression.js
gaussianElimination
called by 1
src/regression.js
createWrapper
called by 1
src/regression.js
linear
called by 0
src/regression.js
exponential
called by 0
src/regression.js
logarithmic
called by 0
src/regression.js

Shape

Function 12

Languages

TypeScript100%

Modules by API surface

src/regression.js12 symbols

For agents

$ claude mcp add regression-js \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact