Quickstart
Installation
Install the latest forecast-verifier version from PyPi using pip:
pip install forecast-verifier
Note: Different examples can be found via notebooks/ folder.
Regression example
import pandas as pd
from forecast_verifier.verifier import Verifier
from forecast_verifier.model import Regressor
from forecast_verifier.dataset import PerturbationDataset
from forecast_verifier.graph import PerturbationDirection, EffectDirection
# Create model class inheriting from Regressor that implements the predict method
class CustomRegressor(Regressor):
def __init__(self, model):
self.model = model
def predict(self, dataset):
"""
Generate predictions using given dataset.
Args:
dataset (pd.DataFrame): Input data for prediction.
Returns:
np.ndarray: Predicted values.
"""
return self.model.predict(dataset)
my_model = CustomRegressor(model) # model is a pre-trained regression model
# Load your dataset
original_data = pd.read_csv('your_dataset.csv')
pertubation_data = pd.read_csv('your_pertubation_dataset.csv')
verifier = Verifier(my_model,
original_dataset,
perturbation_dataset,
['variable1'],
PerturbationDirection.decreasing,
EffectDirection.positive)
print(verifier())
Forecast example
import pandas as pd
from forecast_verifier.verifier import Verifier
from forecast_verifier.model import Forecaster
from forecast_verifier.dataset import PerturbationDataset
from forecast_verifier.graph import PerturbationDirection, EffectDirection
from forecast_verifier.utils import load_model
class CustomForecaster(Forecaster):
# exmple of loading a model from path
def __init__(self, model_path: str):
self.model = load_model(model_path=model_path)
def forecast(self, dataset: pd.DataFrame) -> np.ndarray:
"""
Generate forecasts using given dataset.
Args:
dataset (pd.DataFrame): Input data for forecasting.
Returns:
np.ndarray: Forecasted values.
"""
# Implement your forecasting logic here
pass
my_model = CustomForecaster(model_path='path_to_your_model')
# Load your dataset
original_data = pd.read_csv('your_dataset.csv')
pertubation_data = pd.read_csv('your_pertubation_dataset.csv')
verifier = Verifier(my_model,
original_dataset,
perturbation_dataset,
['variable1'],
PerturbationDirection.decreasing,
EffectDirection.positive)
print(verifier())