Skip to main content

KNNParameters

GitHub source

KNNParameters

evo.compute.tasks.geostatistics.knn.KNNParameters

Parameters for the KNN (K-nearest neighbour) estimation task.

Estimates values at target locations by computing the arithmetic mean of accepted neighbours found within the search ellipsoid.

Example::

>>> from evo.compute.tasks.common import Filter, FilterCondition, Source, Target
>>> from evo.compute.tasks.geostatistics.knn import KNNParameters
>>>
>>> params = KNNParameters(
... source=Source(object=pointset, attribute="locations.attributes[?name=='grade']"),
... target=Target.new_attribute(grid, "knn_grade"),
... neighborhood=SearchNeighborhood(
... ellipsoid=Ellipsoid(ranges=EllipsoidRanges(200, 150, 100)),
... max_samples=20,
... ),
... )
>>>
>>> # With a target filter to restrict estimation to specific categories on the target:
>>> params_filtered = KNNParameters(
... source=Source(object=pointset, attribute="locations.attributes[?name=='grade']"),
... target=Target.new_attribute(grid, "knn_grade"),
... neighborhood=SearchNeighborhood(...),
... target_filter=Filter(
... where=FilterCondition(
... attribute=grid.attributes["domain"],
... operator="in",
... values=["LMS1", "LMS2"],
... ),
... ),
... )

source​

source: AnySourceAttribute

Source object and attribute containing the known values.

target​

target: AnyTargetAttribute

Target object and attribute to create or update with KNN estimates.

neighborhood​

neighborhood: SearchNeighborhood

Search neighbourhood defining which nearby samples to include.

source_filter​

source_filter: Filter | None = Field(None, exclude=True)

Optional filter to restrict estimation to a subset of the source data.

Excluded from top-level serialisation (exclude=True) and injected as source["filter"] by the custom serialiser.

target_filter​

target_filter: Filter | None = Field(None, exclude=True)

Optional filter to restrict estimation to a subset of the target object.

Excluded from top-level serialisation (exclude=True) and injected as target["filter"] by the custom serialiser.

Was this page helpful?