import { RegressorBase } from '../base'; import { Params } from '../base/estimator'; export interface GradientBoostingRegressorProps { nEstimators?: number; n_estimators?: number; learningRate?: number; learning_rate?: number; maxDepth?: number; max_depth?: number; minSamplesSplit?: number; min_samples_split?: number; subsample?: number; maxFeatures?: number | 'sqrt' | 'log2'; max_features?: number | 'sqrt' | 'log2'; randomState?: number; random_state?: number; } /** * Gradient boosting with squared-error loss, following sklearn's * GradientBoostingRegressor: F_0 = mean(y), then each round fits a * regression tree to the residuals y - F and updates * F += learning_rate * tree(x). subsample < 1 draws rows without * replacement per round (stochastic gradient boosting); trees are still * used to update F over all samples. */ export declare class GradientBoostingRegressor extends RegressorBase { private nEstimators; private learningRate; private maxDepth; private minSamplesSplit; private subsample; private maxFeatures?; private randomState?; private estimators; private initPrediction; private fitted; constructor(props?: GradientBoostingRegressorProps); getParams(): Params; fit(trainX: number[][], trainY: number[]): void; predict(testX: number[][]): number[]; get featureImportances(): number[]; }