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.