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):
self,
spatio_temporal_climate_health_data: DataSet[ClimateHealthTimeSeries],
): ...
[docs]
def predict(self, future_weather: DataSet[ClimateData]) -> DataSet[HealthData]: ...