Source code for chap_core.predictor.protocol

from typing import Protocol

from chap_core.data import DataSet
from ..datatypes import ClimateData, ClimateHealthTimeSeries, HealthData


[docs] class IsPredictor(Protocol): def __init__(self): pass
[docs] def predict(self, x): pass
[docs] def train(self, x, y): pass
[docs] class IsSampler(Protocol): """ Model that can sample forward in time given a set of weather data. """
[docs] def train(self, time_series: ClimateHealthTimeSeries): ...
[docs] def sample(self, weather_data: ClimateData, n_samples: int = 1) -> HealthData: ...
[docs] class IsMultiRegionForecastSampler(Protocol): """ Model that can sample forward for multiple locations in time given a set of weather data. """
[docs] def train(self, data: DataSet[ClimateHealthTimeSeries]): ...
[docs] def sample(self, future_weather: DataSet[ClimateData], n_samples: int = 1) -> DataSet[HealthData]: ...
[docs] class IsMultiRegionPredictor(Protocol):
[docs] def train(
self, spatio_temporal_climate_health_data: DataSet[ClimateHealthTimeSeries], ): ...
[docs] def predict(self, future_weather: DataSet[ClimateData]) -> DataSet[HealthData]: ...