Skip to content

KNNImputer

Defined in: ds/src/ml/impute.js:434

Imputation using k-Nearest Neighbors Compatible with sklearn.impute.KNNImputer

Missing values are imputed using the mean value from the k nearest neighbors found in the training set.

Example

const imputer = new KNNImputer({ n_neighbors: 5 });
imputer.fit(X_train);
const X_filled = imputer.transform(X_test);

Constructors

Constructor

new KNNImputer(options?): KNNImputer

Defined in: ds/src/ml/impute.js:442

Parameters

options?
copy

boolean = true

If true, create copy of X (default: true)

metric

Function = null

Distance function (default: euclidean)

n_neighbors

number = 5

Number of neighbors to use (default: 5)

weights

string = "uniform"

‘uniform’ or ‘distance’ (default: ‘uniform’)

Returns

KNNImputer

Properties

_columnTypes

_columnTypes: any

Defined in: ds/src/ml/impute.js:501


_tableColumns

_tableColumns: any

Defined in: ds/src/ml/impute.js:458


_useGowerDistance

_useGowerDistance: boolean

Defined in: ds/src/ml/impute.js:506


copy

copy: boolean

Defined in: ds/src/ml/impute.js:455


metric

metric: Function

Defined in: ds/src/ml/impute.js:454


n_neighbors

n_neighbors: number

Defined in: ds/src/ml/impute.js:452


nFeatures_

nFeatures_: number

Defined in: ds/src/ml/impute.js:457


weights

weights: string

Defined in: ds/src/ml/impute.js:453


X_

X_: any[]

Defined in: ds/src/ml/impute.js:456

Methods

_euclideanDistance()

_euclideanDistance(a, b): number

Defined in: ds/src/ml/impute.js:464

Euclidean distance between two vectors (ignoring missing values)

Parameters

a

any

b

any

Returns

number


_findNeighbors()

_findNeighbors(row, k, excludeIdx?): object[]

Defined in: ds/src/ml/impute.js:677

Find k nearest neighbors for a given row

Parameters

row

any

k

any

excludeIdx?

number = -1

Row index to exclude (-1 for none)

Returns

object[]


fit()

fit(X): KNNImputer

Defined in: ds/src/ml/impute.js:491

Fit the imputer on training data

Parameters

X

any

Training data, table object, or {data, columns} format

Returns

KNNImputer

this


fit_transform()

fit_transform(X): any[] | number[][]

Defined in: ds/src/ml/impute.js:710

Fit and transform in one step

Parameters

X

any

Data to fit and transform

Returns

any[] | number[][]

Transformed data


transform()

transform(X, exclude_indices?): any[] | number[][]

Defined in: ds/src/ml/impute.js:535

Transform data by filling missing values using KNN

Parameters

X

any

Data to transform, table object, or {data, columns} format

exclude_indices?

number[] = []

Row indices to exclude from neighbors (for fit_transform)

Returns

any[] | number[][]

Transformed data (array if input was table)