Transformers

The transformers module contains classes that are used for spatial feature engineering.

Spatial Lag Transformer

A transformer to create spatial lag variables by using a weighted mean/mode of the values of the K-neighboring observations. The weighted mean/mode of the surrounding observations are appended as a new feature to the right-most column in the training data. The measure parameter should be set to ‘mode’ for classification, and ‘mean’ for regression.

KNNTransformer(
    n_neighbors=7,
    weights="distance",
    measure="mean",
    radius=1.0,
    algorithm="auto",
    leaf_size=30,
    metric="minkowski",
    p=2,
    normalize=True,
    metric_params=None,
    kernel_params=None,
    n_jobs=1
)

GeoDistTransformer

A common spatial feature engineering task is to create new features that describe the proximity to some reference locations. The GeoDistTransformer can be used to add these features as part of a machine learning pipeline.

GeoDistTransformer(refs, log=False)

Where refs are an array of coordinates of reference locations in (m, n-dimensional) order, such as {n_locations, x_coordinates, y_coordinates, …} for as many dimensions as required. For example to calculate distances to a single x,y,z location:

refs = [-57.345, -110.134, 1012]

And to calculate distances to three x,y reference locations:

refs = [
    [-57.345, -110.134],
    [-56.345, -109.123],
    [-58.534, -112.123]
]

The supplied array has to have at least x,y coordinates with a (1, 2) shape for a single location.