models package

Submodules

models.model module

Model base class

class models.model.BaseModel

Bases: ABC

_abc_impl = <_abc._abc_data object>
abstract fit(dataset: Dataset, **fit_params) tuple

Fit or train the model.

Parameters:
  • dataset – Dataset

  • **fit_params – Additional parameters.

Returns:

A tuple containing the fitted model and a dict with additional information.

abstract load(model_name)

Deserialize a saved model.

Parameters:

model_name – Filename that was used to save the model.

Returns:

The deserialized model.

predict(dataset: Dataset, **predict_params) tuple

Run fitted model on data.

Parameters:
  • dataset – Dataset

  • **predict_params – Additional parameters.

Returns:

A tuple containing a np.ndarray and a dict with additional information.

abstract predict_batch(X: list, **predict_params)

Run fitted model on batched data items.

Parameters:
  • X – a list of data items, each of which is a dict

  • **predict_params – Additional parameters.

Returns:

A tuple containing a np.ndarray and a dict with additional information.

predict_item(X: dict, **predict_params)

Run fitted model on one data item.

Parameters:
  • X – a data item

  • **predict_params – Additional parameters.

Returns:

A tuple containing a np.ndarray and a dict with additional information.

abstract save(model_name)

Save model, e.g. using pickle.

Parameters:

model_name – Filename that will be used to save the model.

models.naive_models module

class models.naive_models.AverageYieldModel(group_by=['loc_id'])

Bases: BaseModel

A naive yield prediction model.

Predicts the average of the training set by location. If the location is not in the traning data, then predicts the global average.

_abc_impl = <_abc._abc_data object>
fit(dataset: Dataset, **fit_params) tuple

Fit or train the model.

Parameters:
  • dataset – Dataset

  • **fit_params – Additional parameters.

Returns:

A tuple containing the fitted model and a dict with additional information.

load(model_name)

Deserialize a saved model.

Parameters:

model_name – Filename that was used to save the model.

Returns:

The deserialized model.

predict_batch(X: list)

Run fitted model on batched data items.

Parameters:

X – a list of data items, each of which is a dict

Returns:

A tuple containing a np.ndarray and a dict with additional information.

save(model_name)

Save model, e.g. using pickle.

Parameters:

model_name – Filename that will be used to save the model.

models.nn_models module

models.sklearn_model module

class models.sklearn_model.SklearnModel(sklearn_est, feature_cols=None, scaler=None)

Bases: BaseModel

_abc_impl = <_abc._abc_data object>
_design_features(data_df)

Design features using data samples.

Parameters:

data_df – A pandas dataframe of data samples from Dataset

Returns:

A pandas dataframe with KEY_LOC, KEY_YEAR and features.

_optimize_hyperparameters(X, y, param_space, groups=None, kfolds=5)

Optimize hyperparameters

Parameters:
  • X – np.ndarray of training features

  • y – np.ndarray of training labels

  • param_space – a dict of parameters to optimize

  • groups – np.ndarray with group values (e.g year values) for each row in X and y

  • kfolds – number of splits cross validation

Returns:

A sklearn pipeline refitted with the optimal hyperparameters.

fit(dataset: Dataset, **fit_params) tuple

Fit or train the model.

Parameters:
  • dataset – Dataset

  • **fit_params – Additional parameters.

Returns:

A tuple containing the fitted model and a dict with additional information.

load(model_name)

Deserialize a saved model.

Parameters:

model_name – Filename that was used to save the model.

Returns:

The deserialized model.

predict(dataset)

Run fitted model on batched data items.

Parameters:

dataset – Dataset

Returns:

A tuple containing a np.ndarray and a dict with additional information.

predict_batch(X: list)

Run fitted model on batched data items.

Parameters:

X – a list of data items, each of which is a dict

Returns:

A tuple containing a np.ndarray and a dict with additional information.

save(model_name)

Save model, e.g. using pickle. Check here for options to save and load scikit-learn models: https://scikit-learn.org/stable/model_persistence.html

Parameters:

model_name – Filename that will be used to save the model.

models.trend_model module

Module contents