pdstools.infinity.resources.prediction_studio.v24_2.prediction¶
Classes¶
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:
- 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:
- 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:
- Returns:
An object detailing the updated configuration with the newly added model.
- Return type:
- 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.