AppDataStorage

class rectools.visuals.visual_app.AppDataStorage(is_u2i: bool, id_col: str, selected_requests: Dict[Hashable, Hashable], grouped_interactions: Dict[Hashable, DataFrame], grouped_reco: Dict[Hashable, Dict[Hashable, DataFrame]])[source]

Bases: object

Storage and processing of data for VisualApp widgets. This class is not meant to be used directly. Use VisualApp or ItemToItemVisualApp class instead

Inherited-members

Parameters
  • is_u2i (bool) –

  • id_col (str) –

  • selected_requests (Dict[Hashable, Hashable]) –

  • grouped_interactions (Dict[Hashable, DataFrame]) –

  • grouped_reco (Dict[Hashable, Dict[Hashable, DataFrame]]) –

Methods

from_raw(reco, item_data[, ...])

Create data storage for VisualApp from raw data.

load(folder_name)

Load prepared data for VisualApp widgets.

save(folder_name[, overwrite])

Save stored data for VisualApp widgets.

Attributes

is_u2i

id_col

selected_requests

grouped_interactions

grouped_reco

model_names

Names of recommendation models for comparison

request_names

Names of selected requests for comparison

classmethod from_raw(reco: Union[DataFrame, Dict[Hashable, DataFrame]], item_data: DataFrame, selected_requests: Optional[Dict[Hashable, Hashable]] = None, is_u2i: bool = True, n_random_requests: int = 0, interactions: Optional[DataFrame] = None) AppDataStorage[source]

Create data storage for VisualApp from raw data. This class is not meant to be used directly. Use VisualApp or ItemToItemVisualApp class instead.

Parameters
  • reco (tp.Union[pd.DataFrame, TablesDict]) – Recommendations from different models in a form of a pd.DataFrame or a dict. In DataFrame form model names must be specified in Columns.Model column. In dict form model names are supposed to be dict keys.

  • item_data (pd.DataFrame) – Data for items that is used for visualisation in both interactions and recommendations widgets.

  • selected_requests (tp.Optional[tp.Dict[tp.Hashable, ExternalId]], default None) – Predefined requests (users or items) that will be displayed in widgets. Request names must be specified as keys of the dict and ids as values of the dict.

  • is_u2i (bool, default True) – Is this a user-to-item recommendation case (opposite to item-to-item).

  • n_random_requests (int, default 0) – Number of random requests to add for visualization from targets in recommendation tables.

  • interactions (tp.Optional[pd.DataFrame], default None) – Table with interactions history for users. Only needed for u2i case.

Returns

Data storage class for visualisation widgets.

Return type

AppDataStorage

classmethod load(folder_name: str) AppDataStorage[source]

Load prepared data for VisualApp widgets. This method is not meant to be used directly. Use VisualApp or ItemToItemVisualApp class methods instead.

Parameters

folder_name (str) – Folder where data was saved earlier.

Returns

Data storage class for visualisation widgets.

Return type

AppDataStorage

property model_names: List[Hashable]

Names of recommendation models for comparison

property request_names: List[Hashable]

Names of selected requests for comparison

save(folder_name: str, overwrite: bool = False) None[source]

Save stored data for VisualApp widgets. This method is not meant to be used directly. Use VisualApp or ItemToItemVisualApp class methods instead.

Parameters
  • folder_name (str) – Destination folder for data.

  • overwrite (bool, default False) – Allow to overwrite in the folder files if they already exist.

Return type

None