- Update all packages to latest versions via pnpm update --latest - Downgrade Prisma 7 to 6 (v7 requires schema migration) - Downgrade Tailwind CSS 4 to 3 (v4 requires PostCSS migration) - Downgrade Storybook 10 to 8 (addons not available in v10) - Pin cheerio to 1.0.0-rc.12 via pnpm override (type exports changed) - Fix AI SDK tool definitions: parameters -> inputSchema - Fix cheerio types in extract-meta and table-extract tools - Add explicit type annotations to tool execute functions - Migrate biome config to v2.3.11 schema All type-checks, tests, and builds pass. |
||
|---|---|---|
| .. | ||
| src | ||
| CHANGELOG.md | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsup.config.ts | ||
Logistic Regression Tool
Simple binary logistic regression implementation using gradient descent optimization.
Installation
npm install @tpmjs/tools-logistic-regression
Usage
import { logisticRegressionTool } from '@tpmjs/tools-logistic-regression';
// Example: Predict binary outcome from features
const result = await logisticRegressionTool.execute({
x: [
[1.0, 2.0],
[2.0, 3.0],
[3.0, 4.0],
[4.0, 5.0],
],
y: [0, 0, 1, 1],
iterations: 1000,
});
console.log(result);
// {
// coefficients: [0.5, 0.3, -0.2], // [intercept, feature1, feature2]
// predictions: [0, 0, 1, 1],
// accuracy: 1.0,
// iterations: 1000,
// convergence: {
// finalLoss: 0.123,
// converged: true
// }
// }
API
Input
- x (required): Feature matrix
number[][]where each row is a sample - y (required): Binary labels
number[](must be 0 or 1) - iterations (optional): Number of gradient descent iterations (default: 1000)
- learningRate (optional): Learning rate (default: 0.1)
Output
- coefficients: Model weights including intercept
- predictions: Binary predictions for each sample
- accuracy: Classification accuracy (0 to 1)
- iterations: Number of iterations performed
- convergence: Loss and convergence status
Algorithm
Uses gradient descent to minimize binary cross-entropy loss:
- Initialize coefficients to zero
- For each iteration:
- Calculate predictions using sigmoid function
- Compute gradient of loss function
- Update coefficients: θ = θ - α∇L
- Return fitted model
The sigmoid function maps linear combinations to probabilities [0, 1].
License
MIT