pdstools.infinity.resources.prediction_studio.v24_2.prediction

Classes

Prediction

The Prediction class provide functionality including retrieving notifications, models,

Module Contents

class Prediction(client: pdstools.infinity.client.SyncAPIClient, *, predictionId: str, label: str, status: str, lastUpdateTime: str, objective: str | None = None, subject: str | None = None)

Bases: pdstools.infinity.resources.prediction_studio.v24_1.prediction.Prediction

The Prediction class provide functionality including retrieving notifications, models, adding conditional models, getting champion challengers, metrics, and plotting metrics.

Parameters:
  • client (pdstools.infinity.client.SyncAPIClient)

  • predictionId (str)

  • label (str)

  • status (str)

  • lastUpdateTime (str)

  • objective (Optional[str])

  • subject (Optional[str])

get_notifications(category: pdstools.infinity.resources.prediction_studio.types.NotificationCategory | None = None, return_df: Literal[False] = False) pdstools.infinity.internal._pagination.PaginatedList[pdstools.infinity.resources.prediction_studio.base.Notification]
get_notifications(category: pdstools.infinity.resources.prediction_studio.types.NotificationCategory | None = None, return_df: Literal[True] = True) polars.DataFrame

Fetches a list of notifications for a specific prediction.

This function retrieves notifications related to a prediction. You can filter these notifications by their category. Optionally, the notifications can be returned as a DataFrame for easier analysis and visualization.

Parameters:
  • category ({"All", "Responses", "Performance", "Model approval", "Output", "Predictors", "Prediction deployment", "Generic"} or None) – The category of notifications to retrieve. If not specified, all notifications are fetched.

  • return_df (bool, default False) – If True, returns the notifications as a DataFrame. Otherwise, returns a list.

Returns:

A list of notifications or a DataFrame containing the notifications, depending on the value of return_df.

Return type:

PaginatedList[Notification] or polars.DataFrame

_get_models() List[Dict[str, str]]

Internel function to fetch models linked to a specific prediction.

This function gathers all models that are connected to a particular prediction. It organizes these models into three groups: default models, category models, and supporting models, each serving a unique role in making the prediction.

Returns:

A collection of PredictionModel objects, each representing a model associated with the prediction.

Return type:

list of PredictionModel

get_champion_challengers() List[pdstools.infinity.resources.prediction_studio.v24_2.champion_challenger.ChampionChallenger]

Fetches list of ChampionChallenger objects linked to the prediction.

This function fetches Champion-challenger pairs from a prediction. In cases where a challenger model is absent, it returns a ChampionChallenger object containing only the champion model.

Returns:

A list of entries, each pairing a primary model with its challenger across various segments of the prediction.

Return type:

list of ChampionChallenger

add_conditional_model(new_model: str | pdstools.infinity.resources.prediction_studio.v24_2.model.Model, category: str, context: str | None = None) pdstools.infinity.resources.prediction_studio.v24_2.champion_challenger.ChampionChallenger

Incorporates a new model into a prediction for a specified category and context.

This function allows for the addition of a new model to a prediction, tailored to a specific business category or use case. It enables the designation of a context for the model’s application.

Parameters:
  • new_model (str) – Identifier of the model to be added.

  • category (str) – The category under which the model will be classified.

  • context (str, optional) – The specific context or scenario in which the model will be utilized.

Returns:

An object detailing the updated configuration with the newly added model.

Return type:

ChampionChallenger

get_metric(*, metric: pdstools.infinity.internal._constants.METRIC, start_date: datetime.date | None = None, end_date: datetime.date | None = None, frequency: Literal['Daily', 'Weekly', 'Monthly'] = 'Daily') polars.DataFrame

Fetches and returns metric data for a prediction within a specified date range, using datetime objects for dates.

This method retrieves metric data, such as performance or usage statistics, for a given prediction. The data can be fetched for a specific period and at a defined frequency (daily, weekly, or monthly).

Parameters:
  • metric (METRIC) – The type of metric to retrieve.

  • start_date (datetime) – The start date for the data retrieval.

  • end_date (datetime, optional) – The end date for the data retrieval. If not provided, data is fetched until the current date.

  • frequency ({"Daily", "Weekly", "Monthly"}, optional) – The frequency at which to retrieve the data. Defaults to “Daily”.

Returns:

A DataFrame containing the requested metric data, including values, snapshot times, and data usage.

Return type:

pl.DataFrame

Raises:

NoMonitoringInfo – If no monitoring data is available for the given parameters.

package_staged_changes(message: str | None = None)

Initiates the deployment of pending changes for a prediction model into the production setting.

This function initiates a Change Request (CR) to either deploy pending changes directly to a Revision Manager, if available, or to create a branch with all pending changes in Prediction Studio. An optional message can be included to detail the nature of the changes being deployed.

Parameters:

message (str, optional) – Descriptive message about the changes being deployed. Defaults to “Approving the changes” if not specified.

Returns:

Details the result of the deployment process.

Return type:

Response

get_staged_changes()

Retrieves a list of changes for a specific prediction.

This method is used to fetch the list of changes that have been made to a prediction but not yet deployed to the production environment. The changes are staged and pending deployment.

Returns:

list: A list of changes staged for the prediction, detailing each modification pending deployment.