Storage class

Note

This class inherits from hana_ml.model_storage.Storage class. Details here: https://help.sap.com/doc/1d0ebfe5e8dd44d09606814d83308d4b/2.0.04/en-US/hana_ml.model_storage.html

class hana_automl.storage.Storage(connection_context: hana_ml.dataframe.ConnectionContext, schema: str)

Storage for models and more.

connection_context

Connection info for HANA database.

Type

hana_ml.dataframe.ConnectionContext

schema

Database schema.

Type

str

Examples

>>> from hana_automl.storage import Storage
>>> from hana_ml import ConnectionContext
>>> cc = ConnectionContext('address', 39015, 'user', 'password')
>>> storage = Storage(cc, 'your schema')
clean_up()

Be careful! This method deletes all models from database!

delete_leaderboard(name: str)

Deletes leaderboard from HANA.

Parameters

name (str) – Leaderboard’s name to remove.

delete_model(name: str, version: Optional[int] = None)

Deletes model.

Parameters
  • name (str) – Model to remove

  • version (int, optional) – Model’s version.

delete_models(name: str, start_time=None, end_time=None)

Deletes the model in a batch model with specified time range.

Parameters
  • name (str) – The model name

  • start_time (str, optional) –

    The start timestamp for deleting.

    Defaults to None.

  • end_time (str, optional) –

    The end timestamp for deleting.

    Defaults to None.

list_preprocessors(name: Optional[str] = None)pandas.core.frame.DataFrame

Show preprocessors for models in database.

Parameters

name (str, optional) – Model name.

Returns

res – DataFrame containing all preprocessors in database.

Return type

pd.DataFrame

Note

Do not delete or save preprocessors apart from model! They are saved/deleted/changed automatically WITH model.

Examples

>>> storage.list_preprocessors()
     MODEL  VERSION      JSON
  1.  test        1  {'tuned_num'...}
load_leaderboard(name: str, show: bool = False)list

Loads leaderboard from HANA.

Parameters
  • name (str) – Leaderboard’s name in database.

  • show (bool, optional) – If True, prints loaded leaderboard. Defaults to False.

Returns

leaderboard – Loaded leaderboard.

Return type

list

load_model(name: str, version: Optional[int] = None, **kwargs)hana_automl.automl.AutoML

Loads new model.

Parameters
  • name (str) – Model to load

  • version (int, optional) – Model’s version.

Returns

Return type

AutoML object

save_leaderboard(metric: str, leaderboard: List[hana_automl.pipeline.modelres.ModelBoard], name: str, top: Optional[int] = None)

Saves algorithms from leaderboard.

Parameters
  • metric (str) – Leaderboard metric. You can access it via automl.leaderboard_metric.

  • leaderboard (list[ModelBoard]) – Leaderboard from AutoML. Access it via automl.get_leaderboard()

  • name (str) – Leaderboard’s name in database.

  • top (int, optional) – Save only top X algorithms. Example: top=5 will save only 5 models from the beginning of leaderboard. If None, all leaderboard will be saved.

Note

Models from leaderboard will be saved to HANA as ‘name_leaderboard_Y’, where Y is number of model.

save_model(automl: hana_automl.automl.AutoML, if_exists='upgrade')

Saves a model to database.

Parameters
  • automl (AutoML) – The model.

  • if_exists (str) – Defaults to “upgrade”. Not recommended to change.

Note

If you have ensemble enabled in AutoML model, method will determine it automatically and split ensemble model in multiple usual models.

Examples

>>> from hana_automl.automl import AutoML
>>> automl.fit(df='table in HANA', target='some target', steps=3)
>>> automl.model.name = "new model"
>>> storage.save_model(automl)