import { ClassifierBase } from '../base'; import { Params } from '../base/estimator'; export interface LinearSVCProps { C?: number; maxIter?: number; /** @deprecated ignored — Pegasos uses the schedule eta_t = 1/(lambda*t) */ learningRate?: number; tol?: number; randomState?: number; } /** * Linear SVM trained with Pegasos (primal stochastic subgradient descent). * * Objective per class (one-vs-rest): lambda/2 ||w||^2 + (1/n) sum hinge, * with lambda = 1/(n*C) so the C semantics match sklearn's LinearSVC. * Step size follows the Pegasos schedule eta_t = 1/(lambda*t); the bias is * not regularized. maxIter counts epochs; training stops early when the * objective's relative improvement falls below tol. */ export declare class LinearSVC extends ClassifierBase { private C; private maxIter; /** @deprecated kept only so params round-trip; the Pegasos schedule ignores it */ private learningRate?; private tol; private randomState?; private classes; private weights; private biases; constructor(props?: LinearSVCProps); getParams(): Params; private objective; private trainBinary; fit(trainX: number[][], trainY: number[]): void; predict(testX: number[][]): number[]; get coef(): number[][]; }