import { SVR } from './svr'; import { Params } from '../base/estimator'; import { KernelMatrix, KernelType, SVRSolution } from './smo'; export interface NuSVRProps { kernel?: KernelType; degree?: number; gamma?: number | 'scale' | 'auto'; coef0?: number; tol?: number; C?: number; /** * upper bound on the fraction of training errors (points outside the * tube), lower bound on the fraction of support vectors */ nu?: number; /** hard limit on SMO pair updates; -1 (default) = run until convergence */ maxIter?: number; } /** * nu-Support Vector Regression (libsvm solve_nu_svr semantics): `nu` * replaces `epsilon` and directly trades off support-vector fraction against * points outside the tube; the tube half-width epsilon becomes a variable of * the optimization (exposed after fit as `fittedEpsilon`). */ export declare class NuSVR extends SVR { private nu; /** tube half-width found by the optimizer (libsvm's -r); 0 before fit */ protected fittedEpsilon: number; constructor(props?: NuSVRProps); getParams(): Params; protected solveDual(K: KernelMatrix, y: number[]): SVRSolution; /** epsilon-tube half-width chosen by the nu-SVR optimization */ getFittedEpsilon(): number; }