import { RegressorBase } from "../base"; import { Params } from "../base/estimator"; import { SubsetSizeOption } from "../utils/paramResolvers"; interface RegressionTreeProps { max_depth?: number; min_samples_split?: number; max_features?: SubsetSizeOption; randomState?: number; } export declare class DecisionTreeRegressor extends RegressorBase { private feature_number; private regTree; private min_sample_split; private max_depth; private max_features?; private randomState?; private random; constructor(props?: RegressionTreeProps); getParams(): Params; private selectedFeatureIndices; /** * Minimizes total SSE = n_left * var_left + n_right * var_right over * midpoint thresholds, scanning each feature once in sorted order. */ private attributeSelection; private initTreeNode; private buildTree; fit(sampleX: number[][], sampleY: number[]): void; private findLeaf; predict(sampleX: number[][]): number[]; get featureImportances(): number[]; getRawFeatureImportances(): number[]; private collectLeaves; /** * Leaf index (in depth-first order) each sample falls into. */ apply(sampleX: number[][]): number[]; /** * Overwrite leaf predictions (ids as returned by apply). Gradient * boosting classifiers use this for the per-leaf Newton step. */ setLeafValues(values: Map): void; } export {};