Regression-js: Least Squares Data Fitting

2.0.1 · maintenance · verified Sun Apr 19

regression-js is a JavaScript module that provides a collection of linear least-squares fitting methods for simple data analysis. It offers capabilities for linear, exponential, logarithmic, power, and polynomial regression. The current stable version is 2.0.1, last published over 8 years ago, suggesting a mature but potentially unmaintained codebase, though it remains widely used. It is a lightweight, pure JavaScript solution that runs both in Node.js and modern browsers. Unlike some broader machine learning libraries, regression-js focuses specifically on classical least-squares curve fitting, providing a straightforward API for common trend analysis tasks without external dependencies.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates how to import the `regression` library, perform linear and polynomial regression on sample data, and predict values using the generated models.

import regression from 'regression';

// Sample data: [[x1, y1], [x2, y2], ...]
const data = [
  [0, 1],
  [32, 67],
  [12, 79],
  [5, 10],
  [15, 30],
  [25, 50],
  [40, 85],
  [50, 100]
];

// Perform linear regression
const linearResult = regression.linear(data);
console.log('Linear Regression Result:');
console.log('  Equation:', linearResult.equation); // [m, c]
console.log('  String:', linearResult.string);
console.log('  R-squared (R²):', linearResult.r2);
console.log('  Prediction for x=45:', linearResult.predict(45)[1]);

// Perform polynomial regression with order 2
const polynomialResult = regression.polynomial(data, { order: 2 });
console.log('\nPolynomial Regression (Order 2) Result:');
console.log('  Equation:', polynomialResult.equation); // [a_n, ..., a_1, a_0]
console.log('  String:', polynomialResult.string);
console.log('  R-squared (R²):', polynomialResult.r2);
console.log('  Prediction for x=45:', polynomialResult.predict(45)[1]);

view raw JSON →